Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > New and alternative a/v containers

Reply
 
Thread Tools Search this Thread Display Modes
Old 27th June 2005, 22:33   #1  |  Link
Zenitram
Registered User
 
Join Date: Aug 2002
Location: France, Paris
Posts: 672
MediaInfo(Lib) 0.7 - Reading information about media files

I develop MediaInfo, which is a tool to show technical information (container format, codec, width, heigth...) and tags (Title, Artist, Language...) about all kind of multimedia files. Main purpose is to have a library for third-parties, but there is a graphical interface too.

I wish have some beta testers with complex files, to "stress" the program just released.
http://mediainfo.sf.net
There are :
- A graphical interface
- A command line interface
- A DLL for programers (with C++, C#, J#, VB.nt, VB5, Delphi, ActiveX examples)

I already did some tests on :
Matroska, Avi, Wav, Ogg, Ogm, Mpg, Vob, Mp4, M4a, 3gp, M2v, mp3, Wma, Wmv, Mov, Rm, Rmvb, Ifo of DVD, Aac, Ac3, Dts, Monkey Audio, Ape, Flac, Au, Aiff.
I am working on H264.

Did I forget a container?
__________________
Want to know all about your media files? http://mediaarea.net/MediaInfo
Zenitram is offline   Reply With Quote
Old 28th June 2005, 04:55   #2  |  Link
SCIF
AMD fan
 
Join Date: Jan 2005
Location: Russia, Vladivostok
Posts: 49
Good idea! It'll be useful. GSpot not support anything except *.avi. Cheers.
SCIF is offline   Reply With Quote
Old 29th June 2005, 10:35   #3  |  Link
thana
Registered User
 
thana's Avatar
 
Join Date: Dec 2001
Location: Austria
Posts: 56
just tested some files of my collection:
  • first of all, is .swf (flash) supported? its not mentioned anywhere but mediainfo finds mpeg-audio streams in some of them (albeit with bitrate 0).. i'm not sure if those are really mpeg audio streams, but it could very well be so..
  • i guess "S-Mpeg 4 v3" should really be "MS-Mpeg 4 v3", right?
  • why is the mpeg container called "MPEG 1 Multiplexer" instead of simply "MPEG 1"? is this the official name?
  • "MPEG-4 Video" should maybe renamed to "MPEG-4 (A)SP" and "MPEG-4 AVC" to better differentiate the two variants
  • while "MPEG-4 Audio" is technically correct, i think it would be more helpfull for users if you would write "MPEG-4 Audio (AAC)" and maybe even "MPEG-4 Audio (HE-AAC)" too.
  • the codecs in this .mov here (http://download.theforce.net/theater..._web_large.zip) are not recognised at all. according to mplayer they should be "ima4" (IMA ADPCM) for audio and "SVQ3" (Sorensen Video 3) for the video track.
  • this movie here (http://www.kollektiv-kaffeemaschine....erarbeitQT.mov) has exactly the same codecs, but this time "ima4" is detected as a second video track instead of the audio track.
  • i would appreciate it if the actual FOURCC would be displayed somewhere in conjunction with your "translated" description
  • whenever there is no audio or video track in a container, the codec name is displayed in the format-column too instead of the real container name, which is very confusing (at least for me).
  • i have another .mov on my hd (sorry, no link) which isn't recognised at all too. codecs are "Sorensen Video 3" and uncompressed pcm audio (FOURCC: "twos"). i can upload it somewhere if you want.

that's it for now, more to come later =)
thana is offline   Reply With Quote
Old 29th June 2005, 10:59   #4  |  Link
Zenitram
Registered User
 
Join Date: Aug 2002
Location: France, Paris
Posts: 672
Thank you for your tests.

Quote:
Originally Posted by thana
just tested some files of my collection:
  • first of all, is .swf (flash) supported? its not mentioned anywhere but mediainfo finds mpeg-audio streams in some of them (albeit with bitrate 0).. i'm not sure if those are really mpeg audio streams, but it could very well be so..
  • No support of SWF.
    My MPEG audio parser has difficulties to detect false MPEG Audio, because MPEG Audio "magic value" is only 12 bits
    I will put more tests about coherancy of value (bitrate 0 and so on...)

    Quote:
    Originally Posted by thana
  • i guess "S-Mpeg 4 v3" should really be "MS-Mpeg 4 v3", right?
  • Writing error, will be corrected ;-)
    Quote:
    Originally Posted by thana
  • why is the mpeg container called "MPEG 1 Multiplexer" instead of simply "MPEG 1"? is this the official name?
  • MPEG is a group (Movie Picture Expert Group), who released a lot of standarts, with MPEG 1 Video, MPEG 1 Audio, MPEG1 Multiplexer and so on...
    I would like to differenciate them.
    Quote:
    Originally Posted by thana
  • "MPEG-4 Video" should maybe renamed to "MPEG-4 (A)SP" and "MPEG-4 AVC" to better differentiate the two variants
  • while "MPEG-4 Audio" is technically correct, i think it would be more helpfull for users if you would write "MPEG-4 Audio (AAC)" and maybe even "MPEG-4 Audio (HE-AAC)" too.
  • I will look at what I can do. Not sur to be able to always differenciate them.
    Quote:
    Originally Posted by thana
  • the codecs in this .mov here (http://download.theforce.net/theater..._web_large.zip) are not recognised at all. according to mplayer they should be "ima4" (IMA ADPCM) for audio and "SVQ3" (Sorensen Video 3) for the video track.
  • this movie here (http://www.kollektiv-kaffeemaschine....erarbeitQT.mov) has exactly the same codecs, but this time "ima4" is detected as a second video track instead of the audio track.
  • I will download theses files
    Quote:
    Originally Posted by thana
  • i would appreciate it if the actual FOURCC would be displayed somewhere in conjunction with your "translated" description
  • in the menu : Debug-->Advanced mode.
    Or : you can edit preferences (for "sheet" view, or HTML...), and add "%Codec%" (instead of "%Codec_String%)
    Quote:
    Originally Posted by thana
  • whenever there is no audio or video track in a container, the codec name is displayed in the format-column too instead of the real container name, which is very confusing (at least for me).
  • I don't have files with a container but without streams, could you send me one?
    Quote:
    Originally Posted by thana
  • i have another .mov on my hd (sorry, no link) which isn't recognised at all too. codecs are "Sorensen Video 3" and uncompressed pcm audio (FOURCC: "twos"). i can upload it somewhere if you want.
Interested to have it.
Quote:
Originally Posted by thana

that's it for now, more to come later =)
I am waiting for it
You can contact me with private messages.
__________________
Want to know all about your media files? http://mediaarea.net/MediaInfo
Zenitram is offline   Reply With Quote
Old 29th June 2005, 15:24   #5  |  Link
thana
Registered User
 
thana's Avatar
 
Join Date: Dec 2001
Location: Austria
Posts: 56
Quote:
Originally Posted by Zenitram
MPEG is a group (Movie Picture Expert Group), who released a lot of standarts, with MPEG 1 Video, MPEG 1 Audio, MPEG1 Multiplexer and so on...
I would like to differenciate them.
yeah, i know. but then the really correct name would be "MPEG-1 Systems Multiplex". also the codecs are correctly written with a dash before the number, f.e. "MPEG-1 Audio" or "MPEG-2 Video" instead of "MPEG Audio 1" or "MPEG Video 2".

What about MPEG transport streams? are they supported? i tried a sample but mediainfo found only the video stream and no audio stream.. (http://www.nextcomwireless.com/R5000/samples.htm)

if they are not supported, the correct description for the MPEG-2 container would be "MPEG-2 Program Stream", because "MPEG-2 Systems Multiplex" describes both, program streams and transport streams.

Quote:
Originally Posted by Zenitram
I don't have files with a container but without streams, could you send me one?
i didn't mean a container without any stream (would be quite useless), just one without an audio stream but with a video stream or the inverse.
but i just saw that this isn't a real problem, i was only confused because you called MPEG Elementary Streams "MPEG Video 1" etc. but you are probably correct, an elementary stream really doesn't have a container/format, its just the audio/video stream.

Quote:
Originally Posted by Zenitram
Interested to have it.
i put it on my ftp. also i found some other samples which are detected incorrect. you can find them all in "video-samples" on my ftp. i will send you the address per pm.
thana is offline   Reply With Quote
Old 29th June 2005, 16:16   #6  |  Link
Zenitram
Registered User
 
Join Date: Aug 2002
Location: France, Paris
Posts: 672
Quote:
Originally Posted by thana
yeah, i know. but then the really correct name would be "MPEG-1 Systems Multiplex". also the codecs are correctly written with a dash before the number, f.e. "MPEG-1 Audio" or "MPEG-2 Video" instead of "MPEG Audio 1" or "MPEG Video 2".
OK, I will change for this.
But : what should I write for "MPEG Audio 2.5 (some MP3 have this, extended version of MPEG-2 Audio...)? MPEG-2.5 Audio?
but : "MPEG-1 Systems Multiplex" is long . I think I will change it in MPEG-x PS, and MPEG-x TS (see below for TS)
Quote:
Originally Posted by thana
What about MPEG transport streams? are they supported?
TS? Not yet, because I didn't find documentation on this (which bit for what),
Quote:
Originally Posted by thana
if they are not supported, the correct description for the MPEG-2 container would be "MPEG-2 Program Stream", because "MPEG-2 Systems Multiplex" describes both, program streams and transport streams.
if you know MPEG system, could you tel me where PS is used (DVD, and?), and where TS is used?
I have difficulties to understand all in the MPEG standarts, they are a little difficult with a lot of standarts
Quote:
Originally Posted by thana
i didn't mean a container without any stream (would be quite useless), just one without an audio stream but with a video stream or the inverse.
but i just saw that this isn't a real problem, i was only confused because you called MPEG Elementary Streams "MPEG Video 1" etc. but you are probably correct, an elementary stream really doesn't have a container/format, its just the audio/video stream.
OK, I understand more what you said.
And as you said, Video ES or Audio ES (=MP3 or raw AAC) doesn't have a container, so I use the ES name in place of the container name, and I think to not change this.

Thank you for your analysis.
__________________
Want to know all about your media files? http://mediaarea.net/MediaInfo
Zenitram is offline   Reply With Quote
Old 29th June 2005, 17:32   #7  |  Link
thana
Registered User
 
thana's Avatar
 
Join Date: Dec 2001
Location: Austria
Posts: 56
Quote:
Originally Posted by Zenitram
OK, I will change for this.
But : what should I write for "MPEG Audio 2.5 (some MP3 have this, extended version of MPEG-2 Audio...)? MPEG-2.5 Audio?
yes, looks good to me. or maybe just leave it at MPEG-2, and describe the .5 part somewhere in the advanced mode text. MPEG-2.5 is a proprietary extension by FHG that only allows for some lower sample frequencies and bitrates, but it's not officially endorsed by the MPEG committee in any way.

Quote:
Originally Posted by Zenitram
but : "MPEG-1 Systems Multiplex" is long . I think I will change it in MPEG-x PS, and MPEG-x TS (see below for TS)
yes, that is ok too.

Quote:
Originally Posted by Zenitram
TS? Not yet, because I didn't find documentation on this (which bit for what),
you can find the last draft on this page: http://www.le-hacker.org/dvd.html, this should be a good starting point.

Quote:
Originally Posted by Zenitram
if you know MPEG system, could you tel me where PS is used (DVD, and?), and where TS is used?
afaik (but i'm not an expert) PS are officially used on VCD, SVCD and all variants thereof. VOBs on DVD contain several ES as well as other stuff for menu's etc.

TS are mainly used for digital broadcasting (DVB/ATSC/ISDB).

EDIT: typos
thana is offline   Reply With Quote
Old 2nd July 2005, 23:20   #8  |  Link
Kurtnoise
Swallowed in the Sea
 
Kurtnoise's Avatar
 
Join Date: Oct 2002
Location: Aix-en-Provence, France
Posts: 5,191
Hi Zenitram,

First of all, many thanks for this tool. It's very nice.... I'll use mediainfo.dll in the next YAMB release. (not finished yet but I'll release it very soon). I'd like to suggest you to use some GPAC code for mp4 files. It's up to date comparing to the mpeg4ip libraries...(h264, ,avc supports...) Hope this help.
Kurtnoise is offline   Reply With Quote
Old 3rd July 2005, 01:14   #9  |  Link
Prodater64
Registered User
 
Join Date: Mar 2004
Posts: 266
@Zenitram:

Could you post how can I call mediainfo.dll from VB6 files please.
Just for 1 file (not several media files).
If you can, post examples to obtain width, height, fps, bitrate, etc.
Thanks.
__________________
Prodater64
Prodater64 is offline   Reply With Quote
Old 3rd July 2005, 01:42   #10  |  Link
Doom9
clueless n00b
 
Join Date: Oct 2001
Location: somewhere over the rainbow
Posts: 10,579
phew, just spotted this.. might come in very handy for MeGUI.. right now I only have AVIFile and basically have to make up something for every other format.
__________________
For the web's most comprehensive collection of DVD backup guides go to www.doom9.org
Doom9 is offline   Reply With Quote
Old 3rd July 2005, 02:19   #11  |  Link
Sirber
retired developer
 
Sirber's Avatar
 
Join Date: Oct 2002
Location: Canada
Posts: 8,978
Gonna add it to RealAnime. Many thanks for the great tool!
__________________
Detritus Software
Sirber is offline   Reply With Quote
Old 3rd July 2005, 02:31   #12  |  Link
Doom9
clueless n00b
 
Join Date: Oct 2001
Location: somewhere over the rainbow
Posts: 10,579
Hmm... could it be that the feature matrix (http://mediainfo.sourceforge.net/formats.html) is incomplete? Looking at the screenshots I see "play length" but that doesn't seem to be listed in the matrix. For me getting the length of a file (audio or video) as well as number of frames (in case of video) are the features I'm most interested in.
__________________
For the web's most comprehensive collection of DVD backup guides go to www.doom9.org
Doom9 is offline   Reply With Quote
Old 3rd July 2005, 04:15   #13  |  Link
Sirber
retired developer
 
Sirber's Avatar
 
Join Date: Oct 2002
Location: Canada
Posts: 8,978
Track information seems to be missing for MKV... could be cool to have it
__________________
Detritus Software
Sirber is offline   Reply With Quote
Old 3rd July 2005, 12:31   #14  |  Link
Zenitram
Registered User
 
Join Date: Aug 2002
Location: France, Paris
Posts: 672
Thanks for your replies...
Quote:
Originally Posted by Kurtnoise13
I'd like to suggest you to use some GPAC code for mp4 files.
I should.
But this is actually hard to understand GPAC interface (mainly for tags).
I use mp4ff for codecs, and mp4v2 for tags.
I know how to do for codecs with GPAC, but I don't know how to do for tags.
I will work on it, but some difficulties... ;-)

Quote:
Originally Posted by Prodater64
Could you post how can I call mediainfo.dll from VB6 files please.
There is an VB5 (works on VB6 too) example with the DLL package, in the "Contrib" Directory.
Not exactly what you want, but you should easily understand how to do

Quote:
Originally Posted by Doom9
Hmm... could it be that the feature matrix (http://mediainfo.sourceforge.net/formats.html) is incomplete?
little outdated
Quote:
Originally Posted by Doom9
Looking at the screenshots I see "play length" but that doesn't seem to be listed in the matrix.
Duration is the same as "Play length", I changed the name in MediaInfo, but not in the matrix
Quote:
Originally Posted by Doom9
For me getting the length of a file (audio or video) as well as number of frames (in case of video) are the features I'm most interested in.
MediaInfo_Option(NULL, "Info_Parameters") to have all available parameters.
MediaInfo_Get(Handle, Stream_General, 0, "PlayTime", Info_Text, Info_Name) to have the length in millisecond (or "PlayTime_String1" or 2 or 3 to have formated text ("?h ?mn ?s"...)
MediaInfo_Get(Handle, Stream_Video, 0, "FrameCount", Info_Text, Info_Name) to have number of Frames (or PlayTime*FrameRate if you prefer...)
Quote:
Originally Posted by Sirber
Track information seems to be missing for MKV... could be cool to have it
The complete work on MKV is not done yet, this will come soon!
__________________
Want to know all about your media files? http://mediaarea.net/MediaInfo
Zenitram is offline   Reply With Quote
Old 3rd July 2005, 12:34   #15  |  Link
Doom9
clueless n00b
 
Join Date: Oct 2001
Location: somewhere over the rainbow
Posts: 10,579
@Zenitram: thanks for the info.

Am I correct assuming you wrote your own code to parse the files and are not relying on any external APIs?
__________________
For the web's most comprehensive collection of DVD backup guides go to www.doom9.org
Doom9 is offline   Reply With Quote
Old 3rd July 2005, 13:02   #16  |  Link
Zenitram
Registered User
 
Join Date: Aug 2002
Location: France, Paris
Posts: 672
Quote:
Originally Posted by Doom9
Am I correct assuming you wrote your own code to parse the files and are not relying on any external APIs?
You are not 100% correct, depend of what I found on Internet :
- AAC : internal
- AC3 : internal
- APE : MACLib
- CDXA : internal
- DVD : internal
- DTS : internal
- Flac : FlacLib
- MKV/MKA : libmatroska & libebml
- MPEG-1 and 2 multiplex : internal
- MPEG-1 & 2 Video : internal
- MPEG-1 & 2 Audio (technical) : internal
- MPEG-1 & 2 Audio (tags) : Id3Lib
- MPEG-4 (technical) : mp4ff (faac)
- MPEG-4 (tags) : mp4v2 (faad)
- Ogg : internal
- Quicktime : internal
- Riff (WAV/AVI/the stupid .divx extension) : internal
- AIFF, and other old audio : SndFile
- ASF/WMV/WMA : internal

Note : I sent you a submission for have MediaInfo in your 1st page, did you receive it?
__________________
Want to know all about your media files? http://mediaarea.net/MediaInfo
Zenitram is offline   Reply With Quote
Old 3rd July 2005, 13:14   #17  |  Link
Doom9
clueless n00b
 
Join Date: Oct 2001
Location: somewhere over the rainbow
Posts: 10,579
Quote:
Note : I sent you a submission for have MediaInfo in your 1st page, did you receive it?
I don't recall but I don't have access to my latest inbox right now (it's on my new box that runs unstable so I'm currently running lenghty tests to try and figure out which is the faulty component.. and I can't get to my mails from a linux boot CD).

It's not really the news for your average users, but since I find the library useful I guess I could make an exception.
__________________
For the web's most comprehensive collection of DVD backup guides go to www.doom9.org
Doom9 is offline   Reply With Quote
Old 3rd July 2005, 13:22   #18  |  Link
bond
Registered User
 
Join Date: Nov 2001
Posts: 9,770
mp4v2 is mpeg4ip's lib, which faad uses too (but only the parts it needs i think), you might find a more complete version in the mpeg4ip cvs
__________________
Between the weak and the strong one it is the freedom which oppresses and the law that liberates (Jean Jacques Rousseau)
I know, that I know nothing (Socrates)

MPEG-4 ASP FAQ | AVC/H.264 FAQ | AAC FAQ | MP4 FAQ | MP4Menu stores DVD Menus in MP4 (guide)
Ogg Theora | Ogg Vorbis
use WM9 today and get Micro$oft controlling the A/V market tomorrow for free
bond is offline   Reply With Quote
Old 3rd July 2005, 13:33   #19  |  Link
Zenitram
Registered User
 
Join Date: Aug 2002
Location: France, Paris
Posts: 672
Quote:
Originally Posted by bond
mp4v2 is mpeg4ip's lib, which faad uses too (but only the parts it needs i think), you might find a more complete version in the mpeg4ip cvs
So, what is the best library (mp4ff, mp4v2 from mpeg4ip, or GPAC) to have technical AND tags info from mp4 files?
I am a little lost with MPEG4 libraries, I didn't find yet the perfect library for my needs
__________________
Want to know all about your media files? http://mediaarea.net/MediaInfo
Zenitram is offline   Reply With Quote
Old 3rd July 2005, 13:59   #20  |  Link
bond
Registered User
 
Join Date: Nov 2001
Posts: 9,770
tags are a special issue in mp4 because there is an official tagging standard for mp4, but the power of itunes (which uses a private tagging way) lead to that people use only the itunestagging
and as always private stuff leads to a mess...

i would say there are two good mp4 libs available: the one from mpeg4ip and the one from gpac

mpeg4ip tags in the itunesway, gpac i think in the official mpeg way (but i have to admit i never really tested it so i dunno much about it)
__________________
Between the weak and the strong one it is the freedom which oppresses and the law that liberates (Jean Jacques Rousseau)
I know, that I know nothing (Socrates)

MPEG-4 ASP FAQ | AVC/H.264 FAQ | AAC FAQ | MP4 FAQ | MP4Menu stores DVD Menus in MP4 (guide)
Ogg Theora | Ogg Vorbis
use WM9 today and get Micro$oft controlling the A/V market tomorrow for free
bond is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 06:08.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.