Example of creating a CSV with a Mediainfo template
Shell
Latest commit c9387f1 Jun 23, 2016 @pozar committed on GitHub Update README.md
Permalink
Failed to load latest commit information.
README.md
mediainfo2csv
mediainfo_template

README.md

mediainfo2csv

Example of creating a CSV from MP4 containers with mediainfo. I had a need to create a database of streams in a bunch-o-files. In reality, containers such as MP4, can have zero to multiple vidoe, audio and data streams. This script assumes that there is only one video and audio file in it. Anything outside of that will not be captured by it. Ideally, one would just scrape the XML that mediainfo spits out and use that. This is the quick and dirty method.

Running mediainfo2csv > foo.csv should get you something like...

General;CompleteName    Format  Format_Profile  CodecID FileSize    Duration    OverallBitRate_Mode OverallBitRate  Encoded_Date    Tagged_Date Video;ID    Format  Format/Info Format_Profile  Format_Settings_CABAC   Format_Settings_RefFrames   Format_Settings_GOP CodecID CodecID/Info    Duration    BitRate BitRate_Maximum Width   Height  DisplayAspectRatio/String   FrameRate_Mode  FrameRate   ColorSpace  ChromaSubsampling   BitDepth    ScanType    Bits-(Pixel*Frame)  StreamSize  Encoded_Library/String  Encoded_Library_Settings    Encoded_Date    Tagged_Date Audio;ID    Format  Format/Info Format_Profile  CodecID Duration    BitRate_Mode    BitRate BitRate_Maximum Channel(s)  ChannelPositions    SamplingRate    Compression_Mode    StreamSize  Encoded_Date    Tagged_Date
/Camera/20151029_053230.mp4 MPEG-4  Base Media / Version 2  mp42    12807843    5943        17240912    UTC 2015-10-29 09:32:41 UTC 2015-10-29 09:32:41 1   AVC Advanced Video Codec    High@L4 Yes 1   M=1, N=30   avc1    Advanced Video Coding   5943    16969333        1920    1080    16:9    VFR 29.933  YUV 4:2:0   8   Progressive 0.273   12613759            UTC 2015-10-29 09:32:41 UTC 2015-10-29 09:32:41 2   AAC Advanced Audio Codec    LC  40  5931    CBR 256000      2   Front: L R  48000   Lossy   189784  UTC 2015-10-29 09:32:41 UTC 2015-10-29 09:32:41
/Camera/20151029_170238.mp4 MPEG-4  Base Media / Version 2  mp42    160052408   74368       17217342    UTC 2015-10-29 21:03:53 UTC 2015-10-29 21:03:53 1   AVC Advanced Video Codec    High@L4 Yes 1   M=1, N=30   avc1    Advanced Video Coding   74259   16993716        1920    1080    16:9    VFR 29.970  YUV 4:2:0   8   Progressive 0.273   157632732           UTC 2015-10-29 21:03:53 UTC 2015-10-29 21:03:53 2   AAC Advanced Audio Codec    LC  40  74368   CBR 256000      2   Front: L R  48000   Lossy   2379844 UTC 2015-10-29 21:03:53 UTC 2015-10-29 21:03:53
/Camera/VID_20121021_202147.mp4 MPEG-4  Base Media  isom    10141115    11947       6790736 UTC 2012-10-22 01:22:01 UTC 2012-10-22 01:22:01 1   AVC Advanced Video Codec    Baseline@L4.1   No  1   M=1, N=30   avc1    Advanced Video Coding   11748   6524561     1280    720 16:9    VFR 23.976  YUV 4:2:0   8   Progressive 0.295   9592542         UTC 2012-10-22 01:22:01 UTC 2012-10-22 01:22:01 2   AAC Advanced Audio Codec    LC  40  11947   CBR 96000       1   Front: C    48000   Lossy   143541  UTC 2012-10-22 01:22:01 UTC 2012-10-22 01:22:01
/Camera/VID_20130205_202042.mp4 MPEG-4  Base Media  isom    53713597    65707       6539772 UTC 2013-02-06 01:21:49 UTC 2013-02-06 01:21:49 1   AVC Advanced Video Codec    Baseline@L4.1   No  1   M=1, N=30   avc1    Advanced Video Coding   65447   6418740     1280    720 16:9    VFR 24.000  YUV 4:2:0   8   Progressive 0.290   52520004            UTC 2013-02-06 01:21:49 UTC 2013-02-06 01:21:49 2   AAC Advanced Audio Codec    LC  40  65707   CBR 96000       1   Front: C    48000   Lossy   788561  UTC 2013-02-06 01:21:49 UTC 2013-02-06 01:21:49

WARNING: Field names can and will repeat. For instance, Duration is used for the container, audio and video streams. This means that if you try to import this into a DB, the field names will collide.