Example of creating a CSV with a Mediainfo template
Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
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.