Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I find the date a video (.AVI .MP4) was actually recorded?

Tags:

metadata

video

properties> date created... I thought this meant the date the video was created, but finally realized that date changes every time I move, reorganize, even open a file. often, the date modified is earlier than date created. the date a jpeg was taken is readily available. Is there any way to get the same information from an AVI or MP4 FILE?

like image 972
user374552 Avatar asked Jun 23 '10 18:06

user374552


People also ask

Does MP4 have metadata?

MP4 files can contain metadata as defined by the format standard, and in addition, can contain Extensible Metadata Platform (XMP) metadata.


2 Answers

Quick Command for Finding Date/Time Metadata in Many Video Files

The following command has served me well in finding date/time metadata on various AVI/MP4 videos:

ffmpeg -i /path/to/video.mp4 -dump 

Note: as mentioned in other answers, there is no guarantee that such information is available in all video files or available in a specific format.

Abbreviated Sample Output for Some AVI File

    Metadata:       Make            : FUJIFILM       Model           : FinePix AX655       DateTime        : 2014:08:25 05:19:45       JPEGInterchangeFormat:     658       JPEGInterchangeFormatLength:    1521       Copyright       :            DateTimeOriginal: 2014:08:25 05:19:45       DateTimeDigitized: 2014:08:25 05:19:45 

Abbreviated Sample Output for Some MP4 File

  Metadata:     major_brand     : mp41     minor_version   : 538120216     compatible_brands: mp41     creation_time   : 2018-03-13T15:43:24.000000Z 
like image 153
Chriki Avatar answered Sep 24 '22 14:09

Chriki


There doesn't seem to be a well defined standard for video metadata (compared to photos and audio files, which have EXIF and ID3/etc. respectively)

Some tags exists like e.g. Title, Composer etc. You can see those if you select a movie file in Windows 7 (perhaps earlier versions also) explorer or right click and view properties. I have not found a tag for recording date unfortunately - the closest thing available is Year (integer) :-(

Programatically, you can read and write most of these tags in .NET using Taglib Sharp from the mono project. Source and binaries are available on the banshee FTP server. It has a pretty impressive list of formats it supports (but still, make sure you catch exceptions when trying to read or write tags - it will throw whenever it finds a file it cannot understand, something which happened to me several times for my modest collection of home recordings.)

To read tags:

using (var f = TagLib.File.Create(@"c:\Path\To\MyVideo.mp4")) {     if (f.Tag != null)     {         string title = f.Tag.Title;         Size resolution = new Size(f.Properties.VideoWidth, f.Properties.VideoHeight);         int year = f.Tag.Year;         // etc.     } } 

And similarly, to write metadata back to the file:

using (var f = TagLib.File.Create(@"c:\Path\To\MyVideo.mp4")) {     f.Tag.Title = "My Awesome Movie";     f.Tag.Year = (uint)2011;     f.Save(); } 
like image 30
Isak Savo Avatar answered Sep 22 '22 14:09

Isak Savo