Skip to main content

mp4meta - Apply iTunes-like metadata to an mp4 file

·2 mins

Recently I decided to digitise all my DVD’s and add them to iTunes, so I can view them on my iPad and my (soon to be purchased) Apple TV. Getting the videos off a DVD is easy with Handbrake, but iTunes has no idea what video file I have just imported, and therefore just uses its filename as the title. Not great.

So I decided to write a script that given a file would search the internet and tell iTunes what video I have imported. The result is mp4meta.

Once I have imported the video using Handbrake, I run mp4meta against the file. It then does a search on the internet and gets some metadata for the video, including the title, genre, description and cover image. It then uses AtomicParsley to write the metadata into the video file, in a format that iTunes understands. I can then import it into iTunes and it is able to store and display the video as if it was purchased from the iTunes Store.

Below are some examples of its usage.

# pass as many video as you like
mp4meta film PULP_FICTION.mp4 "The Truman Show.m4v"

# if there are more than one film with the same name, we can pass the year to get the correct one
mp4meta film THE-ITALIAN-JOB-2003.m4v

Currently, the script only knows how to search for films. However, TV Series support is on it’s way shortly.

Installing

Firstly, you need to install AtomicParsley. Download from Sourceforge.

Then, if you are on a Mac or Linux system, just do the following to install the script:

curl -L http://cpanmin.us | perl - --sudo App::cpanminus
cpanm App::MP4Meta

If on Windows, you first need to install perl. Then something like this should work.

cpanp -i App::MP4Meta

More Information

For more information, see:

Any issues, please let me know.


Want great, practical advice on implementing data mesh, data products and data contracts?

In my weekly newsletter I share with you an original post and links to what's new and cool in the world of data mesh, data products, and data contracts.

I also include a little pun, because why not? 😅

(Don’t worry—I hate spam, too, and I’ll NEVER share your email address with anyone!)


Andrew Jones
Author
Andrew Jones
I build data platforms that reduce risk and drive revenue.