MediaInfo 17.10

MediaInfo displays technical, format, encoding, aspect and textual tag data for audio and video files. It provides a unified GUI for various file containers such as MPEG/4, QuickTime, MKV, AVI, WMV, FLV. It can also generate reports in various text formats, batch process, and a GUI is available cross-platform.

Tags c++ win32 command-line wxwidgets video analysis
License GNU LGPLv3
State initial

Recent Releases

17.1003 Nov 2017 03:15 minor bugfix: We need your support! Visit https://mediaarea.net/SupportUs. Version scheme is now YY.MM (year dot month, 2 digits each). New MediaInfo XML output, with XSD, more suitable for automatic parsing. Use Option("Inform", "OLDXML") for keeping previous behavior. New "Info_OutputFormats" option for listing supported output formats. Universal Ad ID: refactored display, better display of value and registry, XML name slightly modified. MOV: support of HDR metadata (MasteringDisplayColorVolume, MaxCLL, MaxFALL). BWF: display of UMID and loudness info. AAC: show program_config_element in trace. MPEG Audio: frame rate info. PCM in WAV and Matroska: Support of ValidBitsPerSample. I197, EBUCore: 1.8 output uses now final version of XSD and final XSD location. Matroska: tweaking frame rate empirical detection for some corner cases. x I1070, LAME 3.100 info tag was incorrectly parsed x B1068, MPEG Audio: Incoherent duration between General and Audio parts, Audio part duration x Matroska: showing "A_MS/ACM" Matroska CodecID x MXF: crash with some gy files x MXF: was not well supporting MXF referencing only 1 file x PCM in WAV: 8-bit content is unsigned and without endianess x PCM in WAV and Matroska: More coherency between Wave info and ExtensibleWave Info (bitdepth, sign) x WAV: GUID display was with first 8 bytes in wrong order x Several crash
0.7.9912 Sep 2017 12:25 minor bugfix: EBUCore: JSON output (--Output=EBUCore_1.8_JSON). EBUCore: add writingLibraryName and writingLibraryVersion attributes. Ad-ID identifier display on a single line ("Value (Registry)" format). MPEG-4: Better display of format of VobSub tracks. MPEG-4: CodecID is stsd name + ObjectTypeId for mp4a, mp4v, mp4s. AVC: preferred_transfer_characteristics support. MPEG Video, MPEG-4 Visual, AVC, HEVC, MPEG-4, Matroska: correct detection of RGB. matrix_coefficients: detection of Y'D'zD'x and Chromaticity-derived. AAC: info about SBR/PS being implicit/explicit/NBC (Not Backward Compatible). AAC: indicate audioObjectType in CodecID. x a weird 1.334 DAR due to a rounding
0.7.9810 Aug 2017 15:05 minor bugfix: Matroska: handling of files with Tracks element after Cluster elements. Matroska: detection of Duration tag alone and use it even if tag writing date is not there. Matroska: mapping of colour description elements, timecode and handler name to corresponding MediaInfo fields. x I169, WAV: too much aggressive detection of wrong 5-channel audio, now limited on AC-3 and DTS x transfer_characteristics and matrix_coefficients slight change in order to have them unique per ISO integer value x EBUCore: All XML elements are correctly escaped x PBCore: All XML elements are correctly escaped
0.7.9701 Jul 2017 16:05 minor bugfix: Ubuntu 17.04 packages. HEVC: support of stream having VPS hrd_parameters. FLV: support of FLV files with an ID3v2 header. FLV: detect some incoherent frame rates in gy files. TIFF: support of more tags. I518, AAC: consider 4 back channels as 2 side + 2 back channels. Matroska: integrate all elements from Matroska specs in MediaTrace. WAV: parsing of MPEG Audio extension "mext" chunk and displayed in MediaTrace. MPC: channels count. AAC: ADTS/ADIF duration in case of full parsing and/or "risky bitrate estimation" option. x MXF: less false-positive detection of some files as MXF x B1053, WAV: metadata coherency, ignore "fact" chunk more often in order to avoid bad information when this chunk is gy x B1029, DPX: DPX endianess not considered with some fields in MediaTrace x Custom template: can check "Other" part as any other parts x Matroska: parsing with small byte blocks are taken from the file e.g. when reading from HTTP link x Matroska: files with unknown block size were flagged as truncated x MediaTrace: values with a n were breaking the text report lines x Some typos (RefFrames, SPF)
0.7.9602 Jun 2017 18:25 minor bugfix: MPEG-4: display of recorded date from DV substream. x I505, AC-3: crash with some potentially malformed frames x I477, AVC: hang when open.mpls from some 3D BD x MPEG-4: does not show "1904" year is raw value is 0 (Mac/Linux) x Dedicated read thread disabled by default (rare dead locks) x #B1027, MPEG-TS: some files where detected as MPEG-TS or BDAV but they aren't x Sequence of files : frame count was wrong with sequence of MPEG-TS files (was count of files) x MXF: detection of more 608/708 with parsing of few frames in the middle of the file was broken
0.7.9507 May 2017 13:05 minor bugfix: EBUCore: EBUCore 1.8 with acquisition metadata output. Better support of growing files, especially when accessed by FTP. Matroska: better support of some broken files (high EBMLMaxSizeLength, padding before start of EBML). EXR: showing Multipart and Deep flags. EXR: show image compression method. x EBUCore: display aspect ratio (was using rational) x EBUCore: frame rate factor (was num/den instead of factor) x AVC: some streams with dynamic frame type were having a wrong frame rate x MPEG-4: some old AAC tracks were not correctly detected x Matroska: was sometimes displaying "Bit depth: Bit0" when bit depth is unknown x Nut: crash with some files x FFV1: PixelAspectRatio was an integer, switched to 3-digit rational x DTS: frame count x Dolby E: frame count x EBUCore: regression creating invalid XML files x AVC: some streams with dynamic frame type were having a wrong frame rate x I490, EXR: was not supporting valid 31-char attribute names
0.7.9431 Mar 2017 10:45 minor bugfix: VC-3: detection of embedded time code. VC-3: better support of stream with width 960 or 1440. VC-3: support of version 3 (a.k.a. DNxHR), including profile and level for version 1/2 (a.k.a. DNxHD). Matroska trace feature: reduction of its size. MXF trace feature: reduction of its size. Visual Studio 2017 project files. x M143, MXF with Acquisition Metadata: crash x Several crash
0.7.9303 Mar 2017 03:15 minor bugfix: Matroska: detection of native FFV1 CodecID ("V_FFV1"). AC-3/E-AC-3: detection of Atmos inside core streams. AC-3/E-AC-3: slight reorganization of metadata display for dual mono and surround. AC-3/E-AC-3: "complete main" and similar info moved to "Service kind" dedicated line. AC-3/E-AC-3: more precision about how is built a stream (e.g. "E-AC-3+Atmos / E-AC-3" or "TrueHD+Atmos / TrueHD / AC-3"). WTV: basic detection. MPEG-TS: Detection of Opus. URL: "URLEncode" option for saying if the input should be URL encoded or not (default is guess = no change except if it contains spaces). x MediaTrace: for bitstreams, bit offset was wrong x HLS: duration was sometimes wrong, reading only the first TS file duration. Now full duration is displayed x MPEG-TS: if stream is encrypted or invalid, level was sometimes not the expected one for AVC x Matroska: FFV1 stream width/height was not initialized when Matroska track header width/height is after CodecID x FFV1: potential crash with some gy slice headers x Matroska: crash in case of big attachment and CRC32 present
0.7.9201 Feb 2017 03:15 minor feature: #F507, MXF: detection of HLG Transfer Characteristic. #F508, HEVC: support of preferred_transfer_characteristics SEI. MXF: parsing of AVC descriptors and crosscheck with the essence content. MP4: more AppleStoreCountry values mapped to countries, show the country number if unknown. File extension: test if the file extension correspond to the container format. AVI/WAV: test of truncated file. MIXML output: Format_Profile divided in Format_Profile, Format_Level, Format_Tier. ID3v2: TCAP tag is mapped to new field "PodcastCategory". x MIXML output: some *_Original values were missing x MXF/Teletext: was not correctly detecting non subtitle streams x ID3v2: TP2 tag was incorrectly mapped to "Accompaniment", now mapped to "Album_Performer" x ID3v2: TSO2 tag was incorrectly mapped to "Performer_Sort", now mapped to "Album_Performer_Sort" x ID3v2: TCMP tag was displayed twice (2 "Compilation" lines) x Windows version was sometimes showing a long character string in Windows explorer, changed to a shorter character string
0.7.9102 Dec 2016 03:15 minor bugfix: Add TIFF extension to Windows shell extension. x Debian 9 and Ubuntu 16.10+: Remove unneeded dependency IMF and PTX: more languages detected from file names (but the full list of common languages tags still need to be added). IMF and PTX: support of non-standard but common "LAS" = "Spanish (Latin America)" language code. MXF: Support of color primaries, transfer characteristic, coding equations defined in SMPTE ST 2067-21:2016 e.g. xvYCC or BT.2020. Minor performance optimizations and cleanup (Thanks to Pavel Pimenov). MediaTrace optimization for Matroska. x parsing of FFV1 v0/v1 x PTX: crash due to bad parsing of some file names while looking for track language
0.7.9001 Nov 2016 06:45 minor bugfix: #M94, WAV: support of file with a gy RIFF header. Matroska: detection of segment size of zero (compatibility risks e.g. Windows 10 Media Player does not play such file). MXF: detection of some incoherences between header and footer. MXF: display of Locked information. N19/STL: support of 48/50/60 fps content. N19/STL: display of time code of first frame. AC-3: bit depth. MPEG Video: CBR bitrate mode information based on vbv_delay. DXW: support of fake time code attribute. x Teletext in MPEG-TS: CodecID, format (classic teletext or subtitle), video delay were sometimes not displayed x PDF: crash with some files with full analysis set x #B485, BMP height is negative x Several minor
0.7.8901 Oct 2016 09:45 minor bugfix: x Tree view for Windows: present the results at the top of the tree QuickTime: support of Panasonic AVC-Intra 50/100/200 without SPS/PPS ("aixx" and "AVin" CodecID). More QuickTime/MP4/AVC/HEVC color descriptions based on future ISO 23001-8:201x/PDAM1. FFV1: handling 16+ bitdepth (YUV and RGB) while handling gy version
0.7.8801 Sep 2016 03:15 minor bugfix: MediaInfo distributed with HTTP/HTTPS support: support of Amazon S3 with Signature Version 4. FFV1: parsing speed slight improvement. x Duration: regression in last release, sometimes duration was displayed with only count of minutes
0.7.8702 Jul 2016 06:45 minor bugfix: Spanish and catalan languages updated, thanks to Sergi Medina. Refactoring of the trace feature, for better performance and some - Visual C++ 2012 project files removed. x Review of symbols display, now using standard display (e.g. "k" instead of "K", " min" instead of "mn"...) x XML output: revert to old versioning method (version is MediaInfo software version) x I63, EBUCore/FIMS outputs: typo correction about WritingLibrary and WritingApplication x Matroska: files with CodecPrivate element before CodecID element where not always correctly parsed x OGG: crash/incoherent behavior with some gy OGG streams having invalid chunk sizes
0.7.8601 Jun 2016 06:25 minor bugfix: Linux/Mac: more output formats (PBCore, EBUCore, FIMS). FFV1 parsing optimization, avoiding by default a too verbose trace. Matroska: more elements support and typo in the trace. #I172, Trace feature: provide the name of the main parser in the media element. Matroska: consider all values below 0x10 EBML names as 1-byte junk. x Matroska: better support (including speed improvement) of huge lossless frames (e.g. 20 MB FFV1 4K) x #I144, Python binding: Python 2 on Linux does not automatically provide the locale to the shared object x HTML output: don't escape carriage returns from the input file x FFV1: some streams were rejected despite the fact they are valid x Python binding: some errors during call of Get() API with Python3 on Linux/Mac
0.7.8501 May 2016 01:45 minor bugfix: FFV1: ScanType and ScanOrder. Detection of Omneon VBI and move of the VBI track from Video part to Others part. N19/STL: Support of etection of less standard frame rates (23.976 and 29.970). Teletext in MPEG-TS: Teletext not subtitle moved to "Other" part. Teletext in MPEG-TS: display of CodecID and timestamp of first frame. x Teletext in MXF: some IDs were wrong (when there are more than one Teletext service) x MPEG-4/MOV: default of raw audio to Signed in case of stsd atom version
0.7.8402 Apr 2016 03:18 minor documentation: x #I122, MPEG-4/MOV: Crash if mdhd timescale is 0 x MPEG-4/MOV: Infinite loop if malformed stsc / stsz x MPEG-TS: some DVB Subtitles were not detected x HLS: better handling of media playlists having EXT-X-BYTERANGE
0.7.8301 Mar 2016 03:25 minor bugfix: HEVC: Maximum Content Light Level (MaxCLL) and Maximum Frame-Average Light Level (MaxFALL), metadata mandated by CEA-861.3 for HDR support. HEVC: Mastering display color primaries and luminance (based on SMPTE ST 2084), metadata mandated by CEA-861.3 for HDR support. HEVC: SMPTE ST 2048 and SMPTE ST 428-1 transfer characteristics. HEVC: Chroma subsampling location (indication of the location type described in the HEVC spec). MPEG-TS: ATSC Modulation Mode (Analog, SCTE_mode_1 aka 64-QAM, SCTE_mode_2 aka 256-QAM, 8-VSB, 16-VSB). #B981, MP4: support of gy file having "hint" SubType. x HLS: better handling of media playlists having EXT-X-BYTERANGE
0.7.8228 Jan 2016 03:15 minor bugfix: Matroska: CRC-32 validation. Matroska: support of padding/junk at the start of a segment. Matroska: trace is activated for all elements (but report is still based on the first element met). Matroska: add an intermediate level in the trace for the raw stream parser. x FLV: potential infinite loop x #B966, DTS: DTS-HD HR 3840 not detected anymore x AC-3: wrong sample rate with 32 kHz streams x #B948, EBUCore 1.6: invalid output due to position of containerEncoding element x #B957, MPEG-7 output: No XML encoded value output
0.7.8101 Jan 2016 05:05 minor bugfix: Acquisition Metadata: support of all SMPTE RDD18 elements. Matroska: cover presence and content of the cover, thanks to Max Pozdeev. #F446, Matroska: Handling of cropping values, thanks to Max Pozdeev. Improvement of Python binding: Mac Os X support, Python2 and Python3 can use same MediaInfoDLL.py. #F484, AVI: OpenDML Interlaced / Progressive scan type detection. MP4: support of AtomicParsley imdb tag. x #B959, MPEG-TS: MPEG-1 Video appeared as MPEG-2 Video x #B914, Matroska: Undefined number of chapters in some M4V with Timed Text, thanks to Max Pozdeev x #B962, Matroska: negative timecodes were not correctly handled x #B964, FLV: was hanging trying to open some FLV files x JPEG in AVI or MOV: better handling of gy APP0/AVI1, avoiding some false positives about interlacement x DVCPRO HD: some containers consider DVCPRO HD as with width 1920 despite the fact it is 1280 or 1440, using 1280 or 1440 in all cases
0.7.8001 Dec 2015 03:15 minor feature: Matroska: support of MKVMerge statistics tags (duration frame count, stream size, bit rate) per track, thanks to ndjamena. FLAC: Channel positions, thanks to ndjamena. FLAC: difference between detected bit depth and stored bit depth. MPEG-TS: if DTVCC transport stream is present and no DTVCC service descriptor, scan also in the middle of the file in order to detect more caption services. Subtitle frame rate computing if frame count and duration are available. Subtitles in Matroska: count of elements. Matroska, MXF and MP4/MOV: detection of truncated files. DTS: difference between ES Matrix and ES Discrete. DTS: display ES Matrix or ES Discrete even if HRA or MA is present. DTS: difference between DTS-HRA with 96k option and pure DTS-96/24. DTS: detection of DTS:X. Samples per frame info. AC-3: detection of Atmos inside TrueHD. Video frame rate: showing precision of 1/1.001 frame rates (e.g. "23.976 (24000/1001) fps" and "23.976 (23976/1000) fps"). MPEG-4/MOV: showing the complete list of compatible brands in the CodecID field. MPEG-4/MOV: Alternate groups. MPEG-4/MOV: "Disabled" tag. MPEG-4/MOV: "Forced" tag. MPEG-4/MOV: showing links between tracks (chapters for, subtitles for, fallback for). MXF: handling of more acquisition metadata items. MXF: Package name. AVC: Store method of interlaced content (Interleaved Fields or Separated Fields). EBUCore: acquisition metadata (Proof of concept, for feedback only). x Matroska: frame rate detection algorithm revisited, less wrong numbers are expected x SDP/Teletext: some pages were sometimes (when present in 2 different SDP lines) displayed several times x MPEG-4/MOV: some hint tracks were not displayed Hongkongese language added. Option "Full parsing".
0.7.7903 Nov 2015 03:15 minor feature: CLI/DLL only, XML: new option --Output=MIXML, with XML v2.0beta1 status, not for production, see https://github.com/MediaArea/MediaAreaXml for more details. MediaTrace: support of more than 1 file in XML output. CLI/DLL only, XML: new option --Output=MAXML, with XML v0.1 status, in order to have bot MediaInfo and MediaTrace in the same output, not for production, see https://github.com/MediaArea/MediaAreaXml for more details. x MediaTrace: some invalid outputs x #B951, Amazon S3 support (REST API v2), CLI/DLL only and if compiled with libcurl support: URL without credential were badly interpreted
0.7.7803 Oct 2015 07:05 minor feature: MOV: AVrp CodecID support. Video Stored_Width/Stored_Height and Sampled_Width/Sampled_Height added. Speed optimization for the parsing of tiny files e.g. JPEG files. Option (command line / DLL) --Legacy=0 for disabling some legacy fields. Option (command line / DLL) --Output=MAXML, XML with MediaInfo and MediaTrace output together, technology preview (not for production). x MPEG-TS: Teletext and Teletext Subtitle were missing in the menu list x Chroma subsampling "4:4:4" was sometimes indicated for RGB, which is not useful
0.7.7703 Sep 2015 03:15 minor documentation: #B941, MXF: files having only a video stream and an ancillary data stream were having incorrect second video stream. MOV: detection of r210 CodecID as raw RGB. Ancillary data: detection of all metadata blocks (previously: only the first one was detected). x MPEG-TS: Wrong demux of TSP (188+16 TS) files having PES with only padding x MediaTrace #2: XML malformed with Flags items (hot, flags meaning disabled in XML output) x MediaTrace #3: XML malformed with some MP4 files x MediaTrace #6: XML duplicated attributes x MediaTrace #10: versioned xsd, creating library name and version x MediaTrace: XML content was not escaped x #B947, Amazon S3 support (REST API v2), CLI/DLL only and if compiled with libcurl support: Analyze file on s3 was not working if secret key contains / character
0.7.7607 Aug 2015 12:45 feature: XML output: line breaks and indents in between attributes for readability. Trace feature: XML trace update, only if compiled with trace feature. Amazon S3 support (REST API v2), CLI/DLL only and if compiled with libcurl support. FFV1: improved slice analysis (currently activated only with trace feature and for 1st frame). MXF: optimization of the parsing, reading a lot less data (e.g. can be reduced from 1 GB to 10 MB with some UHD files) MXF: wrong frame count with files not having the video stream as the first stream Dolby E in MPEG-TS: "SMPTE ST 302" information was accidentally removed MPEG-TS: avoid filling delay from file name, not applicable on MPEG-TS MXF: better handling of huge padding blocks, better handling of descriptors without link to a TrackID IMX: streams claiming that they are IMX are actually pure MPEG Video, probing both IMX and MPEG Video
0.7.7503 Jul 2015 06:25 minor feature: MXF: consideraing 60 fps timecode tracks with 2 components having a difference of 2 frames as a single timecode. EBUCore 1.6: switch to the link of the final XSD. x XDCAM: some directory structures were wrongly detected as XDCAM structure having a XML file x MXF: SDTI 60 fps times were wrong x #B927, DPX: date/time specific DPX format was used instead of the ISO-like one x #B927, EBUCore: invalid content in attribute startDate x ProRes: streams with apcs CodecID were displayed with an incoherent bit depth instead of no bit depth
0.7.7427 May 2015 03:15 minor feature: FIMS:Preliminary version (not for production). D-10 audio:display of real bitrate beside the encoded bitrate. VC-3:detection of CDP packets (608/708 captions), created by Nexio, inside the VC-3 private data. AES3:generic term AES3 replaced by more precise SMPTE ST numbers (302, 331, 337). NUT:basic detection. FFV1:more parsing of the bitstream, support of any version of FFV1 in MOV and Matroska. DPX:color space and frame rate. x #B906, Matroska:duration was missing if Info block is at the end of the file x #B908, AC-3:bit depth removed x #P86, MPEG-4:moov_trak_edts_elst Atom was ignoring version of the atom x Dolby E:the MXF channel count value was sometimes reported instead of the real channel count x VorbisComment:WAVEFORMATEXTENSIBLE_CHANNEL_MASK "0X" ("x" in uppercase) is accepted now x EBUCore:TotalProgrammeDuration was wrongly filled with IdentClockStart value x EBUCore:Source/Material moved from timecodeStart to timecodeTrack x MPEG-4:info is missing for some streams in some specific cases
0.7.7310 Apr 2015 14:05 minor feature: BPG: basic support, thanks to Kurtnoise. CAF: basic support of Apple Core Audio Format, sponsored by FlavorSys. JPEG-2000: Display of profile (Rsiz). JPEG-2000: detection of XYZ colorspace (based on D-Cinema profile). FFV1 in MOV: more details (version...). MOV/MPEG-4: handling of clcn (little endian nclc) Color parameter type. #P84, Matroska: Add TEXTST support to the MKV Parser, thanks to Kurtnoise. #P85, MPEG-TS: Add TEXTST support to the MPEG-PSI Parser, thanks to Kurtnoise. MediaInfoDLL interface: clean up, more debug features added. MediaInfoDLL interface: Giant threads lock removed. #F460, VC-3/DNxHD: detection of RGB 444 and other SMPTE ST 2019 (2014) new CIDs. VC-3/DNxHD: version number (HVN). Clean aperture size is move from width/height to its own field. HEVC: tier. MXF: writing library and writing application fields are cleaned up. ProRes: support of 4444 profiles. CAP: detection of CAP files from Cheetah and Lambda. B886, XML and HTML outputs were broken B902: EBU AspectRatio invalid in case of non classic numerator:denominator format #B758, VC-3/DNxHD: wrong color space and subsampling in case of unknown CID, now empty if format version is not known #B903, MXG: Incorrect timecode track used for AS-11 DPP MXF files #B904, MXF: Handling repetition of Header Metadata in MXF files MXF: AFD value was wrong (displaying the complete byte, but AFD is only 4 bits of this byte) DTS: some streams in Little endian were not detected MPEG-4: some files were having an incorrect frame count AVC: Some SCTE 128 caption streams were displayed twice BMP; accepting files with file size information set to -1 RF64: samplesCount was not always right MOV: avoid wrong parsing in case of "colr" atom with "prof" color parameter type DCP/IMF: ID has now the AM/PKL CPL order in order in all cases (not only when there is more than one CPL) #B893, MXF: Crash with Panasonic P2 3.0 files DPX: time information was with native ":" character Images sequence: "Delay" field
0.7.7029 Sep 2014 23:52 minor feature: + DTS Neural Audio: display of DTS Neural Audio descriptor information (matrix encoded channels count and position), sponsored by Numericable + FFV1: version, bit depth, color space, chroma subsampling, versions 0 to 3, sponsored by NOA Audio Solutions + HuffYUV: version, bit depth, color space, chroma subsampling, versions 1 to 3, sponsored by NOA Audio Solutions + PDF: basic detection (goal is to detect PDF/A profile) + HLS: support of encrypted streams (key must be in FileName.FileExt.key or provided via the library API) + CDP: using CDP service descriptor for the list of 708 services + language information + MXF: showing the real bit depth ("Quantization bits"); the count of bits stored in the file is in a new field "Stored bit depth" if it differs + MXF: Audio "frame rate" (how PCM content is split in packets) information + MXF: Audio block alignment byte size (hidden by default) + VC-3: adding the commercial name "DNxHD" + bitrate class + MXF: SMPTE ST 377-4 (MXF Multichannel Audio Labeling Framework) + MXF: "ChannelLayoutID" new field (hidden by default) containing the MXF Channel Assignment Label + Wave64: Duration + CDP: frame rate