View Full Version : MediaInfo(Lib) 0.7 - Reading information about media files
Zenitram
27th June 2005, 22:33
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?
SCIF
28th June 2005, 04:55
Good idea! It'll be useful. GSpot not support anything except *.avi. Cheers.
thana
29th June 2005, 10:35
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/nonsw/grayson/Grayson_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.com/media/nebenderarbeitQT.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 =)
Zenitram
29th June 2005, 10:59
Thank you for your tests.
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...)
i guess "S-Mpeg 4 v3" should really be "MS-Mpeg 4 v3", right?
Writing error, will be corrected ;-)
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.
"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.
the codecs in this .mov here (http://download.theforce.net/theater/nonsw/grayson/Grayson_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.com/media/nebenderarbeitQT.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
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%)
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?
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.
that's it for now, more to come later =)
I am waiting for it :)
You can contact me with private messages.
thana
29th June 2005, 15:24
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.
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.
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.
Zenitram
29th June 2005, 16:16
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)
What about MPEG transport streams? are they supported?
TS? Not yet, because I didn't find documentation on this (which bit for what), :(
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 :)
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.
thana
29th June 2005, 17:32
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.
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.
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.
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
Kurtnoise
2nd July 2005, 23:20
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.
Prodater64
3rd July 2005, 01:14
@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.
Doom9
3rd July 2005, 01:42
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.
Sirber
3rd July 2005, 02:19
Gonna add it to RealAnime. Many thanks for the great tool!
Doom9
3rd July 2005, 02:31
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.
Sirber
3rd July 2005, 04:15
Track information seems to be missing for MKV... could be cool to have it :)
Zenitram
3rd July 2005, 12:31
Thanks for your replies...
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... ;-)
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
Hmm... could it be that the feature matrix (http://mediainfo.sourceforge.net/formats.html) is incomplete?
little outdated
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 :(
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...)
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!
Doom9
3rd July 2005, 12:34
@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?
Zenitram
3rd July 2005, 13:02
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?
Doom9
3rd July 2005, 13:14
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.
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
Zenitram
3rd July 2005, 13:33
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 cvsSo, 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 :(
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)
iNFO-DVD
4th July 2005, 16:29
I downloaded the zip package of this just to take a look and I must admit I was not very impressed with the way you 'shell' associated everything from within your program!
You should leave that to an installer!
Just took me half an hour hacking my registry to remove all the crap! :mad:
Zenitram
4th July 2005, 16:45
I downloaded the zip package of this just to take a look and I must admit I was not very impressed with the way you 'shell' associated everything from within your program!
You should leave that to an installer!
Just took me half an hour hacking my registry to remove all the crap! :mad:
I don't understand :
- you downloaded the Installer file : all registry keys are deleted with uninstall
- you downloaded the ZIP file : how could I know you want to delete MediaInfo??? and this is a "one click" thing to suppress registry keys without uninstaller : uncheck Options, advanced, Shell explorer.
If you have an idea to do it with a better behaviour, I am interested... At this time, there *IS* an installer/uninstaller, and for people who want ZIP files, there is a ZIP file with the possibility to uncheck the shell explorer...
I don't plan to suppress the ZIP files, because some people want it.
And I don't think there is a better solution, a lot of software have the same problem if associations when shipped in a ZIP file...
buzzqw
4th July 2005, 18:51
would be possible to know the number of frames also for mpeg1 or mpeg2 video file (multiplexed vob or simple mpeg files) ?
BHH
Zenitram
4th July 2005, 23:36
would be possible to know the number of frames also for mpeg1 or mpeg2 video file (multiplexed vob or simple mpeg files) ?Yes.
with the DLL if you are programmer, or with the GUI (because no everybody is interested, you must active in the menu "Debug --> Advanced mode") : "FrameCount"
buzzqw
5th July 2005, 07:13
@Zenitram
thanks, but i prefer the command line version
would be possible to integrate in command line ?
Thanks anyway
BHH
Zenitram
5th July 2005, 09:31
thanks, but i prefer the command line version
would be possible to integrate in command line ?
Everything is possible :)
With command line : "-f" for "full information", you will have all information available, FrameCount included.
Command line is light at this time, but I plan to improve it...
buzzqw
5th July 2005, 12:13
(maybe i don't fully understod)
i try -f switch but i got framecount only for avi not mpeg...
anyway i wait a "lightless" command line ! :thanks:
BHH
Malow
7th July 2005, 03:51
pulldown detection will be incorpored? :D
Zenitram
7th July 2005, 17:21
pulldown detection will be incorpored? :D
Do yo uspeak of this (http://www.zerocut.com/tech/pulldown.html)?
1/ MediaInfo works on video track information, not frame per frame : I don't plan do say where is "A" frames. the only thing I plan to do in video frames is to know if video is compatible with DivX player (B-frames...), because his is a video track information, not only for some frames. So I don"t see what you would know about pulldown in MediaInfo.
2/ I am european, so I don't need pulldown (joke :D )
Doom9
8th July 2005, 07:19
Can you library tell me if an audio file is variable or constant bitrate?
Zenitram
8th July 2005, 17:40
Can you library tell me if an audio file is variable or constant bitrate?
Yes, when I can say it. (with GUI : select advanced mode, and there will sometimes be a "BitRate Mode" tag)
This is the case of MP3.
But for other audio formats, the format tells you if this is VBR or CBR (OGg is VBR, AC3 is CBR...)
The problem I didn't succeed to resolved is MP3 in AVI : I can't say VBR or CBR :(
Which format to you wish?
Doom9
9th July 2005, 02:27
I'd like to give your lib (the dll) an mp3 and have it tell me if it's vbr or cbr. Right now the user has to enter the audio type manually. That is all outside of an AVI. But in order to mux an MP3 into an AVI, knowing if it's CBR or VBR is crucial because the overhead changes significantly.
Zenitram
9th July 2005, 16:45
Doom9> So : Yes, you (will) be able to do this.
Why "will"? Because, I took a look in the source code, I saw I detect VBR or CBR to calculate bitrate (I need to know if this is a VBR file too), but I forgot to set the VBR tag on for external programs :(
In next version for this.
But : even if I dream you use MediaInfo.dll (because thanks to your homepage, I have at this time twice more people on my homepage, maybe the same with the DLL :) ), I don't understand you : there is simpler way to detect VBR in a MP3 file, because everybody use "xing" VBR header (but xing website is now offline :(, so : no specifications) (and I use only this method to detect VBR), and this is some line of code only, so no need of a 600 KB DLL to use only 20 lines of code.
You can take a look here (http://cvs.sourceforge.net/viewcvs.py/mediainfo/MediaInfoLib/Source/MediaInfo/File_Mpega.cpp?annotate=1.27) , line 540 to write your own parser.
Doom9
9th July 2005, 17:04
well.. if I start using the lib then for the follwowing purposes:
detec if an mp3 is vbr or cbr
get the length of ac3/mp3/mp2/wav input
get the length, number of frames and framerate of an AviSynth file.
I'm not sure, can you handle the last one? I currently use AVIFile for the last one and have no solution for the other two.
Zenitram
9th July 2005, 17:56
detec if an mp3 is vbr or cbr
get the length of ac3/mp3/mp2/wav inputWill be able in the next version (while speaking with you, I took a look to your requests, seems I forgot some things, so there is not always information, even if it is easy to have it, MediaInfo.dll is young :(
get the length, number of frames and framerate of an AviSynth file..Not sure to understand : in my mind, AviSynth is only a script file (AVS), with not real video or audio in it. and I work only on real video or audio files. And I try do not have Win32 dependancies (so : no AVIFile for me :) ). Maybe later I will inspect AVS file, to detect original file (but if this is a D2V file, I need to parse it too to have source files :( ), but don't hope it soon.
So : I will work on having length for AC3/mp3/wav (and VBR) in the next version, it is easy.
Doom9
9th July 2005, 18:06
Not sure to understand : in my mind, AviSynth is only a script file (AVS), with not real video or audio in it. and I work only on real video or audio files.hmm.. then I guess we have a problem. It is possible to read those things without any platform dependencies though.. x264 and mencoder can handle AviSynth input.
Zenitram
9th July 2005, 18:32
hmm.. then I guess we have a problem. It is possible to read those things without any platform dependencies though.. x264 and mencoder can handle AviSynth input.
Ah? OK, you speak about avifile library, not AVIFile Win32 API, sorry.
Will take a look in it to see what I can do.
Doom9
9th July 2005, 18:46
no I meant I AM using the W32 AVIFile API but I'd like to get away from it. I guess I'll always rely on it for video preview, but at least for getting the properties of the source something else could come in handy. The problem some of the MeGUI users have is that they don't have the codecs to play YV12 installed but tested their script in other apps that do not require a YV12 decoder (or use a DShow one), and so they have a basically working AviSynth script that might even be encodable, but due to AVIFile requiring the YV12 decoder they cannot start without installing that codec first.
Either way I'd understand if you won't support AviSynth because it's not really a media file.
Zenitram
10th July 2005, 00:41
Doom9> Seems to not be too difficult, if you wish only to support AVS with .AVI in it, or D2V in it (if D2V has VOB in it for example), because I can write basic AVS and D2V parsers to extract original filenames. Is it why you wish? if yes, OK, I will do it because this is not opposite of MediaInfo philosophy.
And : do you know AVS with other than D2V or VOB? If yes, I am interested to have examples. (maybe in private)
Doom9
10th July 2005, 00:49
Well, I suppose the most common use case is an AviSynth script with a d2vsource in it.
Other options are AviSource, WavSource, DirectShowSource and AC3Source. I'm not sure how mencoder and co read AVS sources.. definitely not through AVIFile but most Windows Applications use AVIFile as AviSynth appears to be just another VfW decodeable format. I think parsing the script and looking what's in there could provide to be dangerous.. actually rendering sounds more promising.. for the specifics I'd check x264 or mencoder source code (probably the latter since it's smaller).
Zenitram
24th July 2005, 23:17
well.. if I start using the lib then for the follwowing purposes:
detec if an mp3 is vbr or cbr
get the length of ac3/mp3/mp2/wav input
get the length, number of frames and framerate of an AviSynth file.
DLL is updated with the first two lines.
https://sourceforge.net/project/showfiles.php?group_id=86862&package_id=90614
I will work on AVS later...
Zen
stax76
3rd September 2005, 20:35
I downloaded the zip package of this just to take a look and I must admit I was not very impressed with the way you 'shell' associated everything from within your program!
You should leave that to an installer!
Just took me half an hour hacking my registry to remove all the crap! :mad:
If it's a shell handler I know at least one tool which might be handy:
http://www.nirsoft.net/utils/shexview.html
I've done a neat tool myself but it's not released yet...
Sirber
3rd September 2005, 23:45
I'm starting to implement the DLL into RealAnime LE. I plan to use it for all my source analysis :D
Sirber
4th September 2005, 01:53
Hum...
I'd like to know if it's possible to get infos on MKV like what language a track is (audio and sub) as well as the track # (to use to extract it).
Thanks!
Zenitram
4th September 2005, 21:33
I'd like to know if it's possible to get infos on MKV like what language a track is (audio and sub) as well as the track # (to use to extract it).I am working on v0.7 (more than 0.7.0.1) at this time, and I am implementing more tags for Matroska, including what you need.
At this time (v0.7.0.1), this piece of information is not implemented for MKV (it is for OGM), it will be soon for MKV.
You can work with OGM, this will be the same way to get info for MKV ;-)
PS : you can monitor DLL release (http://sourceforge.net/project/filemodule_monitor.php?filemodule_id=90614) to be informed imediatly when I release a new version
SeeMoreDigital
4th September 2005, 21:45
Hum...
I'd like to know if it's possible to get infos on MKV like what language a track is (audio and sub) as well as the track # (to use to extract it).
Thanks!If you feed an MKV file into AVI-mux, it's able to produce (and allows you to change the attributes of) language info: -
http://img148.imageshack.us/img148/5296/avimux4xc.png
I've not tried any files with subtitles.....
Cheers
Sirber
4th September 2005, 21:46
Cool! I tryed to implement 7.0.1 first but I got AVs. I mainly work with AVI and MKV (OGM gets converted to MKV). I will stick to 6.0.x until 7.0 comes out final :) Keep the good work! :D
Sirber
14th October 2005, 19:24
From this page (http://mediainfo.sourceforge.net/fr/Support/Formats), it's said I can get language for audio tracks, but not from subtitles (MKV). Do you plan to have this info soon? Can't wait to implement it in RealAnime LE :D
Keep the good work!
SeeMoreDigital
14th October 2005, 19:55
Hi Sirber..... Is this the sort of thing you want to see: -
http://img341.imageshack.us/img341/5156/mediainfoinyamb3oj.png
Cheers
Zenitram
15th October 2005, 09:19
From this page (http://mediainfo.sourceforge.net/fr/Support/Formats), it's said I can get language for audio tracks, but not from subtitles (MKV). Do you plan to have this info soon? Can't wait to implement it in RealAnime LE :D
I can release a new beta version special for you this WE, with language subtitles if you can't wait.
But this will be a beta version ;-)
Note : maybe better to ask this with private messages? ;-)
Sirber
15th October 2005, 13:49
I can release a new beta version special for you this WE, with language subtitles if you can't wait.
But this will be a beta version ;-)
Note : maybe better to ask this with private messages? ;-)
Betas, alphas, all good to me :D
@SeeMoreDigital
Is it a square party? ;)
Sirber
16th October 2005, 21:01
@Zenitram
Is it possible for a track (video, audio, sub) in MKV (MP4) to know which track number it is in the source file?
ex:
MP4
1: general
2: general
3: video
4: audio
MKV
1: video
2: audio
3: audio
4: sub
5: sub
Could be very very usefull to get infos about a file and build a command line to extract each tracks to separate files.
Thanks!
[edit]
Also, in the doc you only show the first 2-3 params for function Parameters. Where can I have a full list?
Sirber
16th October 2005, 21:09
I cannot know which track reported by MediaInfo match which track from the MP4:
General
Complete name : Y:\Animes\...\E01.mp4
File size : 156 MiB
Format : MPEG 4
Overal BitRate : 1000 Kbps
PlayTime : 21mn 50s
Video #0
Codec : MPEG-4 Adv Simple@L5
Bit rate : 874 Kbps
Width : 512
Height : 384
Aspect ratio : 4/3
Frame rate : 29.970
Bits/(Pixel*Frame) : 0.148
PlayTime : 21mn 50s
Audio #0
Codec : MPEG-4 AAC LC
Bit rate : 120 Kbps
Sampling rate : 24 KHz
PlayTime : 21mn 50s
Zenitram
17th October 2005, 09:23
Is it possible for a track (video, audio, sub) in MKV (MP4) to know which track number it is in the source file?
This is not really possible, because libraries I use (mp4ff and matroskalib) doesn't give this kind of info.
MKV give an unique ID ("KaxTrackNumber" in the spec), you can retrieve it with "ID" parameter (but need more tests.
Could be very very usefull to get infos about a file and build a command line to extract each tracks to separate files.
You are welcome to help me programming ;-)
Now, I am very occupied with GCC under Linux compilation, add more tags support, support of new formats (last quicktime version...), debugging, and I have not the time to do this...
Also, in the doc you only show the first 2-3 params for function Parameters. Where can I have a full list?
http://mediainfo.sourceforge.net/fr/Support/SDK/More_Info#Capacities
(need to be more detaileld, but lack of time...)
What you need is MediaInfo::Option("Info_Parameters_CSV")
Note : I am late for a new version, but for subtitles in MKV 0.7.0.1 should have already implemented it ("Language" or "Language/String1" parameter)
At this time, 0.7 branch is very unstable, so I need time to stabilize this, be patient, it will be done...
ac-chan123
17th October 2005, 12:01
Can you add some feature from "ABCAVI Tag"(http://abcavi.tk/)? E.g. avi struc view, shell extention for info output on mouseover Icon, ...
There is also the biggest fourcc list i know(over 550), twocc(180) and a nice tag comparson.
Sirber
17th October 2005, 12:19
ok, thanks!
Zenitram
17th October 2005, 13:48
Can you add some feature from "ABCAVI Tag"(http://abcavi.tk/)? E.g. avi struc view, shell extention for info output on mouseover Icon, ...
There is also the biggest fourcc list i know(over 550), twocc(180) and a nice tag comparson.this is planned, but I am alone on MediaInfo, and I have a personal life which takes a lot of time too ;-)
Sirber
17th October 2005, 16:56
this is planned, but I am alone on MediaInfo, and I have a personal life which takes a lot of time too ;-)
Yeah, but sometimes it's better to be alone in a project, most of the time you will be stuck with people that doesn't do a damn thing.
Zenitram
17th October 2005, 22:59
@Sirber : DLL v0.7.0.2 is out, with more "language" support :
- "Language" for the Language in the container
- "Language/String" for a translation (in English)
- "Language/2" for ISO format (2 digits)
And for MKV (mainly, maybe others later) :
- "StreamID" for the track number of this kind
- "ID" for the track number it is in the source file
- "UniqueID" for the track Number specified as Unique Identifier of the track
To know all supported formats :
MediaInfo::Option("Info_Parameters")
Will try to correct other bugs now ;-)
History :
x #1323208 : Video Bitrate for OGM files with VBR audio was incorrect
+ Better detection and handling of DivX container
+ #1327902 : More meta data properties for RIFF files
x #1327468 : RIFF (AVI) files with not-padded (INFO) sub chunks can't be parsed
+ More "generic" tags added
x Some other minor bugs
Sirber
17th October 2005, 23:15
sweeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeet!!!!1!!1!one!!! :D
I will try tonight to play with it :D
For my soft, the only missing thing would be track number for MP4 and I'm all set :D
BTW, do you have a paypal link?
Sirber
17th October 2005, 23:26
ShowMessage(MediaInfo_Get(handle, 1, 0, 'ID', 1, 0));... gives me nothing on MKV :(
General
Complete name : Y:\Animes\E155-001.mkv
File size : 7.97 MiB
Format : Matroska
Overal BitRate : 742 Kbps
PlayTime : 1mn 30s
Date : UTC 2005-10-14 13:24:19
Video #0
Codec : V_MPEG4/ISO/AVC
Width : 640
Height : 480
Aspect ratio : 4/3
Audio #0
Codec : AAC LC
[edit]
In fact, all other new flags gives me '' :(
Zenitram
18th October 2005, 09:36
BTW, do you have a paypal link?
https://www.paypal.com/xclick/business=jerome_martinez@yahoo.com&item_name=MediaInfo
Or if you prefer to donate with SourceForge :
http://mediainfo.sourceforge.net/Help
Zenitram
18th October 2005, 12:20
In fact, all other new flags gives me '' :(Have you tested DLL v0.7.0.2 (do not work on v0.7.0.1...)? I tried with some MKV files, and it works :(
Note : for Debugging, I need the "debug" output (Debug-->Advanced mode) to have all indicators.
But, maybe the best is to use private messages for debugging...
Sirber
18th October 2005, 12:37
I got the 0.7.0.2b. I will make more tests. Do you have msn?
Sirber
22nd October 2005, 20:07
problems with "Language". In Martoska, japanese is "jpn" while MI gives me "ja". Any clue why?
Zenitram
23rd October 2005, 13:13
problems with "Language". In Martoska, japanese is "jpn" while MI gives me "ja". Any clue why?
iso639 : http://www.w3.org/WAI/ER/IG/ert/iso639.htm or http://www.loc.gov/standards/iso639-2/frenchlangn.html
In MediaInfo, I use for all containers the 2-character iso639-1 code.
If the container use the 3-character iso639-2 code (like matroska), I translate it in iso639-1 (if possible, 99.99999% of cases ;-) ).
The 2-character code of Japanese is "ja".
So, if you read a DVD or an AVI or a Matroska file, Japanese will always be "ja", not sometines "jpn" and sometimes "ja"!
Sirber
23rd October 2005, 14:28
ok, thanks! I will convert :)
Sirber
4th November 2005, 02:01
Hi
I would need a "releasable" version :D RealAnime LE alpha 3 is coming to store near you ;)
Elias
4th November 2005, 07:41
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)Is there any explanation about this on the Gpac site (I've never found anything similar on gpac.sf.net)? Any commands for MP4Box?
bond
4th November 2005, 12:40
i never really tried mp4box' meta options, you might want to talk to jeanlf about this
LAIN
7th January 2006, 02:55
Hi,
I'm a realanime dev and i'v incounter a problème using media info dll. We extract FPS to make sure that the output will be correct.
with few files (that have a fps of 29.96999 that i'v found with matroska shell addon) when i try to find the fps with MI, it give me that :
Video #0 : DivX 5
Aspect : 704 x 528 (1.333) at %fps% fps
i'm unable to find FPS in this file
source is a MKV.
*MediaInfo version : 0.7.0.4
** when the file is extracted, we can have
Thank you
LAIN
foxyshadis
7th January 2006, 08:18
MKV isn't generally supported in mediainfo, sadly. For my own tools I parse the output of mkvverify (mkvinfo would also work, but mkvverify is very compact and gives more info).
Zenitram
7th January 2006, 11:56
I did not have time to work well on Matroska, so the support is not good at this time.
But I plan to have a better support soon (maybe next release)
Sorry for the delay.
LAIN
22nd February 2006, 01:50
Hi,
I'v recently downloaded the last version of MediaInfo 0.7.1.0 available on your web site because i have a problem knowing the fps of a file. In MkvInfo it is available but not in MI current release and dll that we use in RealAnime 4.
here is the video section of mkvinfo
| + A track
| + Track number: 1
| + Track UID: 3752893478
| + Track type: video
| + MinCache: 1
| + Timecode scale: 1.000000
| + Codec ID: V_MS/VFW/FOURCC
| + CodecPrivate, length 40 (FourCC: DX50, 0x30355844)
| + Default duration: 33.367ms (29.970 fps for a video track)
| + Default flag: 1
| + Language: jpn
| + Name: [a4e]Lost Universe - 01
| + Video track
| + Pixel width: 696
| + Pixel height: 520
| + Display width: 696
| + Display height: 520
| + Lacing flag: 0
MediaInfo video section :
Video #0
Count : 35
Count of stream of t : 1
Kind of stream : Video
StreamKindID : 0
Inform : Japanese, 1422 Kbps, 696*520 (4/3), DivX 5
ID : 1
UniqueID : 3752893478
Title : [a4e]Lost Universe - 01
Codec : DX50
Codec : DivX 5
Info : (MPEG4) DivX Networks
Url : http://www.divx.com
Bit rate : 1422220
Bit rate : 1422 Kbps
Width : 696
Height : 520
Aspect ratio : 1.338
Aspect ratio : 4/3
Resolution : 24
Language : ja
Language : Japanese
If you want more information here is the full .txt file
mkvinfo : http://www.sobanet.ca/files/mkvinfo.txt
mediainfo: http://www.sobanet.ca/files/mediainfo.txt
LAIN
Zenitram
22nd February 2006, 09:04
I'v recently downloaded the last version of MediaInfo 0.7.1.0 available on your web site because i have a problem knowing the fps of a file. In MkvInfo it is available but not in MI current release and dll that we use in RealAnime 4.
Yes, I did not have time to work on mkv, sorry.
But a v0.7.1.1 will come in few weeks, and I plan to work well on this missing fps in mkv...
Zenitram
22nd February 2006, 12:12
OK, Lain.
I succeeded to find FrameRate for all kind of video track (AVI codec, or Real, or AVC...)
I do some cleanups, and release a new version befor the end of the week.
Sirber
22nd February 2006, 13:17
Nice! :D Even RV? Sweet!! :D
foxyshadis
22nd February 2006, 21:36
Oh, zeni, one quick request, in case you have more time; can you also gather the bitrate for audio in mkv? That would be so helpful! =D Or is that still a difficult problem?
LAIN
24th February 2006, 18:56
OK, Lain.
I succeeded to find FrameRate for all kind of video track (AVI codec, or Real, or AVC...)
I do some cleanups, and release a new version befor the end of the week.
Thank you very much for the FPS :D
I'd like to post you another problem that I encounter using the version 0.7.1.1 that you'v send to sirber.
When we try to do --> MediaInfo_Open(handle, filename); <-- we have a Acces Violation in delphi... it said that it's in mediainfo.dll ... in the version 0.7.1.0 dev (5.18 mb) that we use tu try was working #1 without any error.
Thank you
LAIN
Kurtnoise
24th February 2006, 21:23
When we try to do --> MediaInfo_Open(handle, filename); <-- we have a Acces Violation in delphi... it said that it's in mediainfo.dll ...
I'm testing the last version with my Delphi tool and it works fine...pb with the Handle maybe.
Sirber
24th February 2006, 21:39
0.7.1.1 works fine in some place, but not others, using the same code. It's wierd.
LAIN
24th February 2006, 22:13
I'm testing the last version with my Delphi tool and it works fine...pb with the Handle maybe.
Ok... i'll continu to take a look and i'll ask sirber to do some test... maybe it's a p4 problem :P
Thank you
LAIN
Sirber
24th February 2006, 22:20
We'll use the 0.7.1.0-dev (pre 0.7.1.1, post 0.7.1.0) if we get no news from Zetriman.
Zenitram
25th February 2006, 11:37
Sorry, I will not have time to work on it this Week-end.
This is not normal, I have not change a lot ot things (maiunly changed of compiler : Boraland to Microsoft)
And I will need more info, let's see you on IM...
Sirber
16th March 2006, 16:54
I get a lot of Access Violation uising MediaInfo 0.7.2.0 on MKV. Contact me for more infos.
Sirber
17th March 2006, 03:00
Procedure:
1) Get reaanime 4.1.0
2) Drag the MKV I sent you
3) Start encode
4) While Analyzing, right click the file and press Info.
--> Access Violation
Kill RealAnime4.exe or else you'll be stuck in a crash loop.
Now retry with the AVI I sent you. After #4, we see the info as it should be.
Verdict: death errr MKV is borked ;)
I tryed with 0.7.1.0, same problem.
Sirber
17th March 2006, 03:04
AVI and MP4 are #1.
Sirber
29th March 2006, 01:06
http://img93.imageshack.us/img93/6566/mi1sz.png (http://imageshack.us)
using:
MediaInfo_Close(handle);
MediaInfo_Delete(handle);
Maybe the AV is on my side (the one I talked to you about eariler), since this one tells explicitly it's MediaInfo.
Sirber
29th March 2006, 01:09
Here's the screenshot of previous RA AccessViolation:
http://img93.imageshack.us/img93/5093/ra1gb.png (http://imageshack.us)
http://img93.imageshack.us/img93/7863/ra28fr.png (http://imageshack.us)
:confused:
Sirber
29th March 2006, 01:20
I get the popup (MediaInfo.dll) using the MKV I sent ya, but not my AVI test, by just asking "Info" on it.
Zenitram
29th March 2006, 07:29
I have not the time to work on MediaInfo DLL now, you will have to waite some days/weeks...
Kurtnoise
1st April 2006, 15:32
Sirber : could you put online your mkv which fails with this library ? I would like to check something. Thanks..
Sirber
1st April 2006, 15:44
At the moment mkvmerge does not support converting from VfW-mode AVC/h.264 tracks to native Matroska-mode AVC/h.264 tracks. You can, however, first import the video track into a MP4 file with e.g. 'MP4Box' (use Google). Then you can use mkvmerge and put the video into a Matroska file.
bad source, BAD!
Death to VFW!!!! :devil:
chipzoller
12th April 2006, 04:03
Thank you for a great piece of software. I use it all the time!
thuongshoo
22nd April 2006, 08:07
I used Belight to convert a wav file to aac
I uses Winamp-encoder . AVIcodec says source file has 44khz samplerate . MediaInfo always says that destination file has 22khz samplerate after I try to convert this file with many samplerate. AVIcodec and Gspot isn't also stable
Zenitram
22nd April 2006, 11:34
MediaInfo always says that destination file has 22khz samplerate after I try to convert this file with many samplerate.
I am interested in all files which have a problem with MediaInfo.
Please send me axample files with different bitrates at zen@mediaarea.net
multicone
22nd April 2006, 22:20
matroska people have added a link to Mediainfo on their download page : http://www.matroska.org/downloads/windows.html
Looks like they are happy about the great MKV support in your app, Zenitram :)
thuongshoo
23rd April 2006, 10:36
I am interested in all files which have a problem with MediaInfo.
Please send me axample files with different bitrates at zen@mediaarea.net
Thank for interesting my problem !
My wav file is made by Virtualdub . Perhaps AVIcodec only say right if file isn't AAC, MP4
You can download Belight , AVIcodec and do some transcoding .
Sometimes AVIcodec and Gspot say right but MediaInfo isn't . Media Classic Player seem to say right but I still know it actually . I will post more information at next post
Zenitram
23rd April 2006, 10:40
You can download Belight , AVIcodec and do some transcoding .
I already do a lot of transcoding, but never the one you do.
This is why I am interested in your files, to have not "common" (from my point of view) files.
Sirber
23rd April 2006, 15:07
@Zenitram
You should update first post for 0.7 :)
SeeMoreDigital
23rd April 2006, 15:22
Hi Zenitram.
As MediaInfo is now upto version 0.7.1.x..... Any chance you can can amend your thread title?
....Be seeing you!
Zenitram
23rd April 2006, 17:04
You should update first post for 0.7 :)
I plan to release a new version at the end of the month, I will update all at this moment.
This thread is very old ;-)
Sirber
23rd April 2006, 22:14
0.7 or 0.8? :)
chipzoller
29th April 2006, 03:37
Even with the new version of mediainfo I'm still finding it's having problems reading my audio files correctly (un-muxed).
For instance, using megui and nero AAC to encode audio files from AC3 I tried two different settings: 'streaming' on VBR setting LC profile, and 'normal' on VBR setting LC profile.
Mediainfo detects both as such:
Audio #0
Codec : MPEG-1 Audio layer 3
Bit rate : 128 Kbps
Bit rate mode : CBR
Channel(s) : 2 channels
Channel coupling : Joint stereo
Sampling rate : 48 KHz
I was test encoding these through the besweet option and not avisynth. I haven't ruled out the possibility a a besweet/megui error however I've noticed other people have some similar issues with mediainfo incorrectly identifying media types.
Still a very useful tool and I hope it only gets better!
EDIT: I think this is a problem with megui and besweet. I just realized both are the same filesize and mpc detects both as 128kbit also. Sorry if this is unfounded.
Zenitram
29th April 2006, 09:04
EDIT: I think this is a problem with megui and besweet. I just realized both are the same filesize and mpc detects both as 128kbit also. Sorry if this is unfounded.
The best way to be sure is to send me the suspiscious file.
I will release a new version this WE, I can do tests on your files before releasing...
multicone
1st May 2006, 14:18
I plan to release a new version at the end of the month, I will update all at this moment.
This thread is very old ;-)
Tell the matroska guys if you update, so they can update their homepage (downloads section) to the new version
chipzoller
20th May 2006, 17:18
Zenitram,
I apologize if this has been mentioned elsewhere, but I created an Xvid AVI in vdub, and recoded dvd audio using Nero aac encoder (CBR 80 kbits/sec.) then muxed both streams in yamb/mp4box. I noticed when viewing the file with media info it tells me nothing mroe than:
General #0
Complete name : C:\video.mp4
File size : 141 MiB
Format : MPEG-4 version 1
I tested this with 0.7.2.1
Zenitram
20th May 2006, 18:38
(...)I noticed when viewing the file with media info it tells me nothing mroe than: (...)
I have a lot of problems with MP4 because I use mpeg4ip library, I plan to change...
Please create a "header" of the file (Debug menu) and send it to me (zen@mediaarea.net)
SeeMoreDigital
20th May 2006, 19:34
I apologize if this has been mentioned elsewhere, but I created an Xvid AVI in vdub, and recoded dvd audio using Nero aac encoder (CBR 80 kbits/sec.) then muxed both streams in yamb/mp4box. I noticed when viewing the file with media info it tells me nothing mroe than...Hmmm...
I've generated and muxed many encodes this way and I see this: -
http://img480.imageshack.us/img480/7151/mediainfo8gs.png
Cheers
Zenitram
20th May 2006, 22:23
I've generated and muxed many encodes this way and I see this:
His files seem valid, but mpeg4ip library refuse to open them (exception thrown), and my own parser is not yet ready, so this is why only the format is detected (currently the only functional part of my own parser ;-) ).
I must change, I really have too much problems with mpeg4ip... :(
thuongshoo
8th August 2006, 16:11
HI Zenitram ! I muxed wmv into mkv by GraphEdit . MediaInfo dont' say anything except filesize . MediaInfo or MatroskaMuxer ?
Thanks your program !
Zenitram
9th August 2006, 23:43
HI Zenitram ! I muxed wmv into mkv by GraphEdit .
Could you send me a private message to send me a part of the file?
I will analyze it soon.
Thanks.
thuongshoo
10th August 2006, 05:11
oh ! all wmvs which I muxed have the same bug . You can also mux a wmv file and test
Thanks !
Zenitram
10th August 2006, 10:57
I can't create all types of files, so if you want that I detect well your files, you need to send me firsts bytes of a file from each format (in MediaInfo, menu Debug, "create a header file") to zen@mediaarea.net
MacAddict
12th August 2006, 15:39
Great little program here! Any chance of video and audio bitrates being reported in a future version? Sorry if I missed it somewhere.
Zenitram
13th August 2006, 09:23
Great little program here! Any chance of video and audio bitrates being reported in a future version? Sorry if I missed it somewhere.
Overal, Video and audio bitrates are already shown when I succeed to detect them. (ie: AVI, MPEG, WMV).
I am working to find them for other formats.
Sirber
21st August 2006, 12:42
Where can I get "Info_Parameters() full list"? Dos say "See Info_Parameters() to have the full list" but nothing in the doc.
Zenitram
21st August 2006, 13:08
in C : MediaInfo_Option(NULL, "Info_Parameters", "");
Take a look here:
http://mediainfo.sourceforge.net/fr/Support/SDK/Quick_Start
(but work in progress)
Or look on examples given in the archive, all important procedure have an example.
Sirber
21st August 2006, 14:02
I need to know the codec name and codec bitrate mode. What are those flags? Thanks!
"Codec" returns a number (like 55 for MP3).
spamalam
21st August 2006, 22:38
I need to know the codec name and codec bitrate mode. What are those flags? Thanks!
"Codec" returns a number (like 55 for MP3).
"Codec/String" -> Codec name
"BitRate" -> Bitrate without kb
"BitRate/String" -> Bitrate with kb.
Full list is hidden away in the cvs:
http://mediainfo.cvs.sourceforge.net/mediainfo/MediaInfoLib/Source/Ressource/Text/Stream/
Sirber
21st August 2006, 22:51
thanks! :D
Codec/String
BitRate_Mode
spamalam
21st August 2006, 23:11
I can't seem to find a value for preload / interleave (ms) though? Is there a way of getting this with mediainfo?
edit: hmm, can interleave be calculated or is it something that's stored in the header of the container?
Doom9
27th August 2006, 20:26
We seem to have run into an issue in megui.. when instantiating MediaInfoLib from C# using an mp3 file as parameter, a win32 error is thrown that brings down MeGUI.
Zenitram
28th August 2006, 11:35
I can't seem to find a value for preload / interleave (ms) though? Is there a way of getting this with mediainfo?
If I understand well, Interleave is in "Delay/Video0" tag. this tag is the delay between the first Audio chunk and the Video.
edit: hmm, can interleave be calculated or is it something that's stored in the header of the container?
It is calculated in AVI (null bytes before the first chunk of AC3 for example)
It is from the header for MPEG-1/2 PS/TS (Presentation TimeStamp)
Zenitram
28th August 2006, 11:37
We seem to have run into an issue in megui.. when instantiating MediaInfoLib from C# using an mp3 file as parameter, a win32 error is thrown that brings down MeGUI.
I will test it in C#, but I didn't have bug report of this kind before :(
All mp3 files? only mp3 files?
PS: Doom9, you criticized before the lack of MPEG Transport Stream support, the next version will have a very good support of it ;-)
Doom9
28th August 2006, 12:38
I'm afraid I only have one stream to test here.. I created it because a user reported he couldn't mux a pre-existing mp3 file. I'll try to cut you a sample tonight (assuming it still crashes with the smaller file).
SeeMoreDigital
3rd September 2006, 19:23
Hi Zenitram,
When feeding MediaInfo with elementary MPEG-4 Part 2 streams it would seem it's able to identify information such as: -
Aspect Ratio,
TV Standard,
Chroma,
Interlacement
Writing Library
http://img338.imageshack.us/img338/6889/mediainfowithcmpce3.png
But once the same elementary stream is muxed into the MP4 container (with MP4Box), much of the above mentioned information is lost and the "Aspect Ratio" information is incorrect: -
http://img338.imageshack.us/img338/4639/mediainfowithmp4gd3.png
When accessing MP4 files is there any way of providing the same kind of data as the elementary streams?
Cheers
Zenitram
4th September 2006, 11:58
When feeding MediaInfo with elementary MPEG-4 Part 2 streams it would seem it's able to identify information such as:
Currently I can read this kind of information in :
- Raw MPEG-4 Video stream
- MPEG-4 Video stream in AVI container.
Why? because this kind of info is only available when decoding the first frame of the stream, not in the container. I already connected the MPEG-4 Video parser with AVI parser, not others.
I found how to do for OGG, MKV an MP4 containers, I will integrate as soon as I have time to do it ;-).
For MP4 container, it is not so easy to integrate, but I think the next version will support it. But I need to finnish to write my own parser before (I used mpeg4ip library, but it does not like malformed .mp4 files...)
JoeBG
4th September 2006, 12:08
Hi,
I have a feature request:
Would it be possible to show the embedded Cover in the mp4-Kontainer? In the moment it´s realised that there is a cover - but not shown. :)
Zenitram
4th September 2006, 14:36
Would it be possible to show the embedded Cover in the mp4-Kontainer?
This is planned.
But not soon.
Why?
- The next version will have a lot better parser, I will be able to read 3 different means for tags (currently : I read only 1).
- I will be able to encode the Cover in the MediaInfo library easily.
- But the GUI is text-based only. I must adapt the GUI, whish is more complex.
So the cover will be availble for th library soon, but you must wait a moment for the cover in the GUI, sorry but I have not enough time to implement all in the next release. time, time...
SeeMoreDigital
4th September 2006, 14:51
Thanks for the confirmation ;)
Zenitram
4th September 2006, 20:21
When accessing MP4 files is there any way of providing the same kind of data as the elementary streams
Small gift for your interest in MediaInfo ;-)
http://sourceforge.net/project/showfiles.php?group_id=86862&package_id=197932
The version of today is a proof of concept for MP4 parser, do not spread it, please.
All MPEG-4 Video attributes should be available for a MP4 file.
SeeMoreDigital
4th September 2006, 20:57
Hey thanks mate...
I've just downloaded it... I'll give it a try and report back ;)
SeeMoreDigital
5th September 2006, 11:28
Do you want me to post my observations about 0.7.4.0 BETA within this thread?
Zenitram
5th September 2006, 12:00
Do you want me to post my observations about 0.7.4.0 BETA within this thread?
This is a beta version, I would prefer you write to me directly (zen@mediaarea.net), this will give me more trace in my mailbox too.
But there is no problem if you prefer to reply here.
bond
10th December 2006, 20:16
Zenitram, we are having problems with mediainfo in megui, as it crashes when using the avisynthscript creator (which uses mediainfo) and when using mp4menugui
read more here:
http://forum.doom9.org/showthread.php?t=117574
it seems to have happened for me and Hyper Shinchan
i am using a pentium3 866mhz processor and windows 2000
any idea what could be wrong? (corrupted memory error?)
Zenitram
11th December 2006, 14:11
Which version do you use?
a "first" version of v0.7.4.2 (yesterday) was corrupted, I reuploaded it.
If you downloaded yesterday, this may be the problem.
You can contact me at zen@mediaarea.net to discuss about this problem.
MatMaul
11th December 2006, 16:53
I have just download the last version (0.7.4.2) and I have a big problem : I obtain this message when I want to analyse any mkv : "Division by zero"
EDIT : no problem with the version 0.7.4.1
mahsah
11th December 2006, 22:01
What about *caugh* NUT?
Zenitram
11th December 2006, 22:44
I obtain this message when I want to analyse any mkv : "Division by zero"
Arghhh...
Please download last beta, I think I corrected it, I found on suspicious line, but I have not crashing file.
http://sourceforge.net/project/showfiles.php?group_id=86862&package_id=197932&release_id=470511
I am interested to have the first 256K of one file from you (in GUI, menu debug, "create header file)
What about *caugh* NUT?
This is planned, but not a priority (NUT files are 0.0001% of mulltimedia files...)
MatMaul
11th December 2006, 23:25
ok no problem now, but I can't do an header with this file : the created file is a 0 octet file.
Zenitram
11th December 2006, 23:28
ok no problem now, but I can't do an header with this file : the created file is a 0 octet file.
Suprising... You are the second person to say me this, but it works at home... :(
I will see what I can do to have a better handling of header creation...
spamalam
31st December 2006, 03:51
I'm trying to get the frame type (pal/NTSC) but i can't seem to get it to work. I'm using the value in the cvs files stored on your cvs space, is this still valid?
MediaInfo.Stream_Video, 0, "Standard"
Thanks
Zenitram
1st January 2007, 18:49
Yes, always Valid.
Which kind of file (mp4, AVI?)
Is other stuff right? (output of MediaInfo GUI)
Could you say me what are output for Width/Height/AspectRatio/FrameRate?
vlada
1st January 2007, 22:29
I have one very simple question: I'm writing an application which uses MediaInfo to read information about video files. I'd like to know if it is guaranteed, that container will be on line 2 in the output and video #0 will on line 10? Or do I have to scan the output for the right lines?
Of course more information depend on number of video/audio streams so I have to scan for them.
Kurtnoise
2nd January 2007, 21:08
Depends on the container himself I'd say...For mp4 & mkv files, we can have metadata and/or tags first, if you're refering at the General Information pattern.
spamalam
6th January 2007, 00:54
Yes, always Valid.
Which kind of file (mp4, AVI?)
Is other stuff right? (output of MediaInfo GUI)
Could you say me what are output for Width/Height/AspectRatio/FrameRate?
bog standard avi file (xvid encode), but its the same with everything i pass to it as far as i can see. Width, Height, AR, Framerate all match what gspot tells me. Anyway:
XviD
Standard:
Width: 480
Height: 352
FrameRate: 25.0
Standard:
Width: 544
Height: 400
FrameRate: 25.0
XviD
Standard:
Width: 720
Height: 400
FrameRate: 25.0
etc. (these are just the avis i have at hand, all were PAL).
Is what i'm getting from the dll. I don't have the GUI.
Just doesn't detect if its PAL or NTSC.
SeeMoreDigital
6th January 2007, 13:27
Is what i'm getting from the dll. I don't have the GUI.
Just doesn't detect if its PAL or NTSC.The GUI version does not offer "colour system" information either: -
Video #0
Codec : XviD
Codec/Family : MPEG-4
Codec/Info : XviD project
Codec settings/BVOP : Yes
Codec settings/QPel : No
Codec settings/GMC : 0
Codec settings/Matri : Default
PlayTime : 10s
Bit rate : 319 Kbps
Width : 720 pixels
Height : 432 pixels
Aspect ratio : 2.35
Frame rate : 25.000 fps
Resolution : 8 bits
Chroma : 4:2:0
Interlacement : Progressive
Bits/(Pixel*Frame) : 0.041
StreamSize : 390 KiB
Writing library : XviD0046Is such information all that important anyway?
By-the-way... Would it be possible to add the "video frame total" count?
Cheers
spamalam
6th January 2007, 15:15
Is such information all that important anyway?
yes, when versioning it not only helps tracks the source, very often the PAL sources look for more vibrant than the NTSC by and large in this case.
MediaInfo used to offer standard calls, but they don't seem to work since several revisions back and Standard no longer returns everything.
I mean i can just use fps as an indicator to get the same information, just that bit neater if I can have mediainfo can do that instead of using some finickerty system :)
vlada
6th January 2007, 16:43
spamalam
If you're talking about digital video, PAL and NTSC don't exist anymore. Those were norms for analogue broadcasting. The only place where PAL and NTSC remain in digital world are DV and DVD-Video formats. Here you have video files, which are better optimized for PAL or NTSC (resolution and framerate).
Where do you think MediaInfo could get an information, what was the source of an AVI file?
spamalam
7th January 2007, 02:23
spamalam
Where do you think MediaInfo could get an information, what was the source of an AVI file?
Framerate, its not just resolution that defines the TV standard afaik (right?)
so 25fps, cropped video isn't pal anymore? Damn. I know pal in 1967 meant something different to what it is now (strict colour code, etc.), so dvd pal isn't pal either. I've always said PAL/compatible is 25fps, ntsc is 23fps/29fps, its been the simplest most descriptive usage. Obviously res defined the hz of a tv too.
I guess i was assuming it meant what standard the video was, not whether it was fully standard compliant. I'll just use framerate to determine standard rather than calling standard in that case :)
The reasoning is pretty simple. Consider a standalone divx/xvid player hooked up to an pal tv. People get problems with their tv, ntsc rips (fps) often don't play on pal tvs and pal rips (fps) often don't play on ntsc tvs, as well as the preference of people watching and the effect of the framerate if the person is perdantic. I wanted to define whether it was pal sourced or ntsc sourced.
vlada
7th January 2007, 11:54
spamalam
Usually original movie sources are saved on film cells (no resolution) and with 24fps. They are not PAL neither NTSC compliant. If studios create PAL DVDs, they speed up the movie to 25fps, scan the cells and resize picture to 720x576 (original PAL standard says 625 lines, but only 575 of them are visible, this is where 576 comes from). 720 is just because somebody thought it was a good idea (I don't think so).
NTSC DVDs are created with a technique called 3:2 pulldown, which splits frames into fields and then duplicates some of them. The resulting framerate must be 29.97 (30*1000/1001 exactly). It creates nasty interlacing artifacts when watched on a PC, so you'd better convert it back to 24*1000/1001 ~ 23.976fps.
So if you run into 23.976 fps movie, you have both possibilities - speed up to PAL or 3:2 pulldown to NTSC. NTSC DVD resolution is 720x480. It comes from the analogue norm again.
Also according to my knowledge, there are usually no problems with NTSC DVDs on PAL players, but there will be problems with PAL DVDs on NTSC players - Japan an USA usually don't care to much about the rest of the world.
chipzoller
7th January 2007, 16:35
Zenitram, I can't remember if you've answered this before, but I was just curious why mediainfo reports a good amount of info. on single streams in .mp4 container, but when both are muxed into .mkv then opened each stream reported by mediainfo contains significantly less info.?
winnydows
11th January 2007, 23:02
Hello Zenitram.
I use your MediaInfo.dll in my XviD4PSP (http://www.winnydows.com/xvid4psp.html). And want ask - when your dll will pharse AVS ?
crypto
17th January 2007, 07:56
Hi zenitram,
I use your MediaInfo.dll in wmvmuxer. Is there any chance to get MediaInfoLIb recognize VC-1 elementary streams? I can give you details about parsing the sequence header, if needed.
Zenitram
17th January 2007, 10:44
Sorry fore the delay in responding, I just received the reply notification :(
I have one very simple question: I'm writing an application which uses MediaInfo to read information about video files. I'd like to know if it is guaranteed, that container will be on line 2 in the output and video #0 will on line 10? Or do I have to scan the output for the right lines?
Of course more information depend on number of video/audio streams so I have to scan for them.
No, text output is only informative, you can have tags/other info depends on the video file.
If you want exactly a piece of information, you can use the DLL API, or the "custom output" (in beta version in lastest releases) :
MediaInfo --Inform=Video;%Width% video.avi
to have video width on the 1st line for example.
MediaInfo --Help-Inform for more info, you can use file templates if needed, and I will continue to improve this feature.
Just doesn't detect if its PAL or NTSC.
I will work on it again, I may miss something in latest releases.
Where do you think MediaInfo could get an information, what was the source of an AVI file?
There is a flag in MPEG-1/2 Video stream for PAL or NTSC format.
Zenitram, I can't remember if you've answered this before, but I was just curious why mediainfo reports a good amount of info. on single streams in .mp4 container, but when both are muxed into .mkv then opened each stream reported by mediainfo contains significantly less info.?
Because I didn't have the time to connect parsers together (between the container parser and the video parser), this is planned.
when your dll will pharse AVS ?
This is planned, but I need more example of AVS files, could you send me some example you would like I support?
Is there any chance to get MediaInfoLIb recognize VC-1 elementary streams? I can give you details about parsing the sequence header, if needed.
I need :
- example files
- some specifications about the sequence header
And I will support it.
Please contact me directly at zen@mediaarea.net
I have a lot of bug reports to resolve before adding new features, but all you say is not lost.
winnydows
17th January 2007, 18:23
@Zenitram
Use my program for create AVS files:
XviD4PSP 4.049 final (http://winnydows.com/download/xvid4psp/XviD4PSP_4049.exe)
Also one bug in MediaInfoDLL found:
In last version missed delay info in some AVI files.
In this file:
http://www.megaupload.com/?d=5K3Y7ZQD
In version 0.7.3.1 delay info worked correct.
Added
Also last new version (0.7.4.3) complete wrong show delay info for all files (20 min Delay for DVD !!!???).
moadib2k
3rd February 2007, 18:06
While trying to get megui running under vista x64 I found that the problem with megui under vista x64 is mediainfo. It is throwning an access violation exception when the method mediainfo_get is called. I am using 0.7.4.3
Any plans to get it running under a 64 bit platform? We don't need 64 bit, we actually have to have 32 bit to work with AviSynth.
I have been working on getting mediainfo to compile (under xp 32 for now) with no success. I have the lib compiling but the dll cannot find mpeg4ip.lib. I am using all the lib's you included in the zip file but that one is not there.
Any chance you have all the external libs in a vs2005 project somewhere? I have not compiled all the external libs, trying to follow your compiling instructions on sourceforge does not work.
Kurtnoise
3rd February 2007, 20:59
1/ mpeg4ip libs are not used anymore.
2/ Static libs for MSVC are available on SF.
moadib2k
4th February 2007, 20:43
1/ mpeg4ip libs are not used anymore.
2/ Static libs for MSVC are available on SF.
1. It was still in the project from the distribution, I removed it and got past that issue
2. Found those, thanks
Still cant compile though:
I had to add libcmt.lib to the ignore libraries to resolve a conflict with libcmtd.lib.
Now I Have these errors.
Error 1 error LNK2001: unresolved external symbol "protected: virtual void __thiscall MediaInfoLib::File_MpegPs::Read_Buffer_Init(void)" (?Read_Buffer_Init@File_MpegPs@MediaInfoLib@@MAEXXZ) MediaInfo.lib
Error 2 error LNK2001: unresolved external symbol "protected: virtual void __thiscall MediaInfoLib::File_MpegPs::Read_Buffer_Unsynched(void)" (?Read_Buffer_Unsynched@File_MpegPs@MediaInfoLib@@MAEXXZ) MediaInfo.lib
Error 3 error LNK2001: unresolved external symbol "protected: virtual void __thiscall MediaInfoLib::File_MpegPs::Read_Buffer_Continue(void)" (?Read_Buffer_Continue@File_MpegPs@MediaInfoLib@@MAEXXZ) MediaInfo.lib
Error 4 error LNK2001: unresolved external symbol "protected: virtual void __thiscall MediaInfoLib::File_MpegPs::Read_Buffer_Finalize(void)" (?Read_Buffer_Finalize@File_MpegPs@MediaInfoLib@@MAEXXZ) MediaInfo.lib
Error 5 error LNK2001: unresolved external symbol "protected: virtual void __thiscall MediaInfoLib::File_MpegPs::HowTo(enum MediaInfoLib::stream_t)" (?HowTo@File_MpegPs@MediaInfoLib@@MAEXW4stream_t@2@@Z) MediaInfo.lib
Error 6 error LNK2019: unresolved external symbol __invalid_parameter_noinfo referenced in function "public: class std::_String_const_iterator<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > & __thiscall std::_String_const_iterator<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::operator+=(int)" (??Y?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@H@Z) ZenLib.lib
Error 7 error LNK2001: unresolved external symbol __invalid_parameter_noinfo ZenLib.lib
Error 8 error LNK2001: unresolved external symbol __invalid_parameter_noinfo ZenLib.lib
Would appreciate any help, thanks
Zenitram
5th February 2007, 10:20
Any plans to get it running under a 64 bit platform?
I never tried to compile x64 version.
I heard than somebody compiled successfully on a x64 linux, so it should not be too difficult to have a stable x64 Windows version.
But : I will need some people to test x64 beta releases. please contact me at zen@mediaarea.net for being a beta-tester!
Now I Have these errors.
Theses errors are curious, File_MpegPs.cpp is not in your project, I don't know why...
I will release a new release soon, with source code, I hope it will be fixed.
moadib2k
5th February 2007, 17:20
I can help test an x64 version. I am running vista ultimate x64 w 4 gigs ram and an e6600 on my test box. It has vs2005 installed c# and c++ and 64 bit compiler.
There are two things that are needed here, a 32 bit version that will run under vista x64 and a 64 bit version. Apps like MeGui are 32 bit so they cannot load a 64 bit dll.
MeGui needs AVISynth which is 32 bit. There is a 64 bit version but until all the necessary filters are ported to 64 bit MeGui cannot run the 64bit version of AVISynth. Practically speaking I am not sure this will happen for a long time.
So the real priority (for MeGui) is getting the 32bit version of MediaInfo running on a 64 bit windows box. Personally, I would also like the 64 bit version of MediaInfo for some other programs.
I was trying to get a good compile so I could debug it and see where its failing at but compiling has been quite a bear. My c++ skills are very very rusty.
moadib2k
5th February 2007, 17:28
Theses errors are curious, File_MpegPs.cpp is not in your project, I don't know why...
I will release a new release soon, with source code, I hope it will be fixed.
Thanks for this, I figured that part out, the define MEDIAINFO_MPEGPS_YES was not in the preprocessor definitions. After adding that definition, those errors went away. Do you see any others missing off the top of your head?
MEDIAINFO_MULTI_NO
MEDIAINFO_VIDEO_NO
MEDIAINFO_AUDIO_NO
MEDIAINFO_IMAGE_NO
MEDIAINFO_TEXT_NO
MEDIAINFO_COMPRESSOR_NO
MEDIAINFO_RIFF_YES
MEDIAINFO_MPEGTS_YES
MEDIAINFO_MPEG_YES
MEDIAINFO_MPEGV_YES
MEDIAINFO_AC3_YES
MEDIAINFO_DTS_YES
MEDIAINFO_MPEGA_YES
MEDIAINFO_MPEG4_YES
MEDIAINFO_MPEGPS_YES
Now I am down to these errors in zenlib:
Error 1 error LNK2019: unresolved external symbol __invalid_parameter_noinfo referenced in function "public: class std::_String_const_iterator<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > & __thiscall std::_String_const_iterator<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >::operator+=(int)" (??Y?$_String_const_iterator@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@H@Z) ZenLib.lib
Error 2 error LNK2001: unresolved external symbol __invalid_parameter_noinfo ZenLib.lib
Error 3 error LNK2001: unresolved external symbol __invalid_parameter_noinfo ZenLib.lib
Zenitram
5th February 2007, 17:36
I have just released a new version (0.7.4.4).
There is the source code, even for MSVC2005 (in Project/MSVC directory).
This is the one I use for the release, so it should work!
Please contact me at zen@mediaarea.net for 64-bit testing, we don't need to flood this forum ;-)
winnydows
5th February 2007, 23:35
@Zenitram
Mega thanks for delay fix.
moadib2k
6th February 2007, 21:02
While trying to get megui running under vista x64 I found that the problem with megui under vista x64 is mediainfo. It is throwning an access violation exception when the method mediainfo_get is called. I am using 0.7.4.3
Well it turns out the problem was not in mediainfo. The problem was in the wrapper that MeGui uses to connect to mediainfo. I have fixed the wrapper and hope to get it to the MeGui team soon.
I have talked with Zenitram about AVS parsing. There are a couple of problems with AVS files.
The file is just text, it would have to be rendered to pull any info out
MediaInfo is cross platform AVS is a VFW renderer
Rendering the stream to get information would break the current methodology used to get video info within MediaInfo
There are so many plugins etc... that it would be practicably infeasible to figure out all the options
figuring out the underlying streams would not be helpful as so much can change by the time they are rendered.
What is needed is some form of avisynth probe to get media information from the avisynth file. I don't think this should go into the MediaInfo dll since it wont be cross platform.
vlada
6th February 2007, 23:18
moadib2k
AviSynth can output some informations like framerate or resolution to a text file. What more information do you need?
moadib2k
7th February 2007, 15:37
moadib2k
AviSynth can output some informations like framerate or resolution to a text file. What more information do you need?
I am assuming we are talking about outside of MediaInfo here. I need the basic information, codec, frame rate, resolution, aspect ratio, audio channels etc... I am looking at some code that is inside of MeGui to see if I can get it that way.
Kurtnoise
7th February 2007, 19:01
I need the basic information, codec, frame rate, resolution, aspect ratio, audio channels etc...
MediaInfo is able to give you all of this...:)
Zenitram
7th February 2007, 19:04
MediaInfo is able to give you all of this...:)
Not from .avs files: As he said, this would be too complex to support all plugins which modify theses parameters.
HeadBangeR77
7th February 2007, 19:38
AR is all wrong with the new media info:
Now I always get 16/9 for my 1:2.35 resized encodes.
Apart from the above everything works like charm - thank you. :)
Zenitram
7th February 2007, 20:11
AR is all wrong with the new media info:
Now I always get 16/9 for my 1:2.35 resized encodes.
Apart from the above everything works like charm - thank you. :)
Please contact me at zen@mediaarea.net and write me which container and codec are used.
HeadBangeR77
7th February 2007, 20:21
Please contact me at zen@mediaarea.net and write me which container and codec are used.
Happens with XviD 1.1.2, Koepi's build (that's what I've checked till now), no matter the resolution (688x288, 720x304, 1024x432). With the previous version I used to get an approximation (1:2.35), now 16/9 all the time.
Conatiners: AVI Open DML 2.0 (VduB 1.7.0, VDubMod, AVI-Mux).
Now, wait a sec, happens with Matroska as well (MKV Toolnix 2.0.0, patch from the 1st of Feb.)! If I revert to the previous version, it lists 1:2.35.
cheers,
HDBR77
SeeMoreDigital
7th February 2007, 20:58
Indeed....
I've just tried it myself and something does seem to have changed.
Here are some MPEG-4 samples (http://82.10.220.174/Uploaded_Files/Doom9_Forum_files/Xvid_2B-VOP_Container_Tests.7z) for you.
They all have a resolution of 720x576 pixels with 64:45 aspect ratio signalling. Effectively giving them a playback aspect ratio of 2.37:1...
Cheers
Zenitram
7th February 2007, 23:26
With the previous version I used to get an approximation (1:2.35), now 16/9 all the time.
I did a stupid writing error in the AspectRatio string algorithm :
"if (AspectRatio >1.70 AspectRatio F1<2.85) AspectRatio_String=_T("16/9");"
(yes, stupid... 2.85 instead of 1.85)
For all codecs and containers, because it is in the core.
You can see the exact value with Menu Debug --> Advanced mode (in Tree or Text view)
So the exact value is always right, but not the string shown (I changed it because it was not enough precise) used in classic views.
Will be OK in next version 0.7.4.5 or next development snapshot.
2.35 will be shown if DAR is between 2.30 and 2.40, I hope this is not a too big aproximation.
Don't hesitate to write me more bugs!
PS : please use the tracker of sourceforge for bugs
http://sourceforge.net/tracker/?group_id=86862&atid=581181
this is easier for me to track the bugs instead of all forums! ;-)
PPS : thanks SeeMoreDigital for examples!
HeadBangeR77
7th February 2007, 23:36
I did a stupid writing error in the AspectRatio string algorithm :
"if (AspectRatio >1.70 AspectRatio F1<2.85) AspectRatio_String=_T("16/9");"
(yes, stupid... 2.85 instead of 1.85)
For all codecs and containers, because it is in the core.
Typos happen. ;)
You can see the exact value with Menu Debug --> Advanced mode (in Tree or Text view)
Thanks for pointing to that; yes, everything seems correct here:
000020AF scalability: 0 (0)
--> Codec: MPEG-4V
--> Codec: MPEG-4V
--> Width: 720
--> Height: 304
--> AspectRatio: 2.368
--> Resolution: 8
--> Chroma: 4:2:0
--> Interlacement: PPF
--> Codec_Settings: BVOP
--> Codec_Settings/BVOP: Yes
--> Codec_Settings/GMC: 0
--> Codec_Settings: QPel
--> Codec_Settings/QPel: Yes
--> Codec_Settings: Custom Matrix
--> Codec_Settings/Matrix: Custom
(...)
Don't hesitate to write me more bugs!
PS : please use the tracker of sourceforge for bugs
http://sourceforge.net/tracker/?group_id=86862&atid=581181
this is easier for me to track the bugs instead of all forums! ...
Will remember next time - thanks for your quick reaction. :)
vlada
19th May 2007, 04:55
Zenitram
I just discovered the new function in MediaInfo, the --Inform parameter. It is exactly what I need for my application. But the parameters are split into different groups (General, Video, Audio etc.) I would need a mixture of these parametrs, how can I do it? Or do I have to run MediaInfo 3-times to get all the parameters?
And by the way there is a small bug in the examples for this function (--Help-Inform). It displays the CL as MediaInfo.exe -Inform=..., bu the correct should be MediaInfo.exe --Inform=... It took me some time before I found out why it isn't working.
Kurtnoise
19th May 2007, 06:52
Use :
StreamKind 0 for General stuff
StreamKind 1 for Video streams
StreamKind 2 for Audio streams
StreamKind 3 for Subtitles streams
StreamKind 4 for Chapters streams
StreamKind 5 for Images streams
Zenitram
19th May 2007, 19:44
Zenitram
I just discovered the new function in MediaInfo, the --Inform parameter. It is exactly what I need for my application. But the parameters are split into different groups (General, Video, Audio etc.) I would need a mixture of these parametrs, how can I do it? Or do I have to run MediaInfo 3-times to get all the parameters?
Directly from the Command line, you currently can have only one group. I am thinking about how to implement multiple groups.
But you can give to MediaInfo a file directly (I forgot to put it in the help), example :
MediaInfo --Inform=file://Example.csv "TEST.EVO"
General : D:\Programmation\MediaInfo\Release\MSVC\CLI\TEST.EVO
Format : MPEG-2PS
Length : 179 MiB for 4mn 49s 472ms
Video #0 : VC-1
Aspect : 1920 x 1080 (1.778)
Audio #0 : AC3+
Infos : , 48 KHz
Text #0 : RLE
Text #1 : RLE
Text #2 : RLE
Take a look in the /plugins/custom directory for examples (how to create Example.csv)
And by the way there is a small bug in the examples for this function (--Help-Inform). It displays the CL as MediaInfo.exe -Inform=..., bu the correct should be MediaInfo.exe --Inform=... It took me some time before I found out why it isn't working.
Oups. Corrected in the CVS, will be OK for the next release.
Note : Kurtnoise, your given values are for the programming interface only, from the command line "names" are used.
JoeBG
15th June 2007, 12:08
Hi,
I want to use the commandline tool to get variables for the stream length or the aspect ratio but I always fail.
For example: I have a AC3 stream and I want to have the lenght of it. Can someone give me a working commandline - many thanks. :)
Zenitram
15th June 2007, 13:24
Hi,
I want to use the commandline tool to get variables for the stream length or the aspect ratio but I always fail.
For example: I have a AC3 stream and I want to have the lenght of it. Can someone give me a working commandline - many thanks. :)
For AC3 :
Command : MediaInfo --Inform=General;%PlayTime% FileName.ac3
Command : MediaInfo --Inform=Audio;%PlayTime% FileName.avi
Result : 1256960 (in milliseconds)
Command : MediaInfo --Inform=Audio;%PlayTime/String% FileName.avi
Result : 20mn 56s
Note : during the verification of the command, I noticed that lenght in the audio part (MediaInfo --Inform=Audio;%PlayTime%) for an AC3 file is lacking. I will correct this.
For AspectRatio :
Command : MediaInfo.exe --Inform=Video;%AspectRatio% FileName.avi
Result : 1.777
Command : MediaInfo.exe --Inform=Video;%AspectRatio/String% FileName.avi
Result : 16/9
Command : MediaInfo --Info-Parameters
Result : list the available parameters (between %)
JoeBG
16th June 2007, 09:17
First of all thanks for your help. :thanks:
Here the results from my test.
I used the following commandline:
mediainfo --Inform=Video;%AspectRatio% C:\files\****\Daten\VTS_01_1.VOB
The result is the same as if I would have used
mediainfo --Inform C:\files\****\Daten\VTS_01_1.VOB
=> mediainfo.exe shows all informations and ignores *Video;%AspectRatio%*
I do have the same result with AC3 streams. mediainfo.exe shows always all informations and not the selected ones. :confused:
Maybe I´m doing it wrong, but I used exactly your commandlines :)
Herewith (http://joeb.movie2digital.com/mediainfo.7z) my versions of mediainfo.exe and mediainfo.dll
foxyshadis
16th June 2007, 10:17
You do have to use the command-line version; the command-line commands don't work with the GUI. (They have the same name, which makes it unnecessarily confusing. I always rename mine mediainfo-cli.exe. Even nicer would be if the GUI recognized cli commands and emulated it, removing the need for two executables...)
JoeBG
16th June 2007, 10:31
You do have to use the command-line version; the command-line commands don't work with the GUI. (They have the same name, which makes it unnecessarily confusing. I always rename mine mediainfo-cli.exe. Even nicer would be if the GUI recognized cli commands and emulated it, removing the need for two executables...)
I do use the commandline version :)
foxyshadis
16th June 2007, 10:56
Weird then, because the commands work on any files I can find. (With the exception of the error Zenitram already found.)
Zenitram
16th June 2007, 11:06
=> mediainfo.exe shows all informations and ignores *Video;%AspectRatio%*
Maybe I´m doing it wrong, but I used exactly your commandlines :)
I tested *your* version of MediaInfo on my files, and it works :)
Maybe a problem with your OS, your localization, I don't know.
I don't know what to do more
I propose you contact me at zen@mediaarea.net for giving me an access to your computer, and I will do more tests.
Weird then, because the commands work on any files I can find. (With the exception of the error Zenitram already found.)
Yes, weird... Sometimes, I hate programming :)
You do have to use the command-line version; the command-line commands don't work with the GUI. (They have the same name, which makes it unnecessarily confusing. I always rename mine mediainfo-cli.exe. Even nicer would be if the GUI recognized cli commands and emulated it, removing the need for two executables...)
I already tested to have different names, GUI users want a short name rather than mediainfo-gui, CLI users too, so impossible to have all people happy :) (and you are the first user I know who use both! :) )
But yes, the GUI version will parse CLI options in the future.
(but I didn't plan my software would become so used and this is my first program, I must work a lot to have a all people happy, with a good programming, and whith the time I have...)
JoeBG
16th June 2007, 16:44
I tested *your* version of MediaInfo on my files, and it works :)
Maybe a problem with your OS, your localization, I don't know.
I used a bat-file in my tests. When I type everything in my cmd-box without using a batchfile everything works for me too. Very strange everything :(
My plan is to use the variable %PlayTime% for further actions in DOS. But I think I cannot use it as %PlayTime% for further calculations isn´t it?
mihakase
9th October 2007, 08:52
The current syntax to get particular parameters using Inform is a little odd in Linux. Bash interprets the semicolon as the end of a command/line and tries to execute whatever comes after it.
Workaround is currently:
MediaInfo --Inform=xxx\;%param% file.ext
Zenitram
9th October 2007, 09:21
The current syntax to get particular parameters using Inform is a little odd in Linux. Bash interprets the semicolon as the end of a command/line and tries to execute whatever comes after it.
Workaround is currently:
MediaInfo --Inform=xxx\;%param% file.ext
the ";" is useful because I use internaly CSV format (semi-colomn, as in Europe...).
I don't plan to change this soon.
You can use a file too:
MediaInfo --Inform=file://SpecFile file.ext
And SpecFile contains "xxx;%param%"
If I add an option for accepting commas too, will it be better?
mihakase
9th October 2007, 09:33
Commas would be nice. I personally don't mind the semicolon but I figured the behaviour was worth noting anyway.
On a side note, I'm looking through mediainfo lib's source; trying to figure out how it gets an FLV's dimensions since I kind of need to implement that in php. It would probably help if I were a bit more competent though... no go as of yet. :)
Zenitram
9th October 2007, 11:18
On a side note, I'm looking through mediainfo lib's source; trying to figure out how it gets an FLV's dimensions since I kind of need to implement that in php. It would probably help if I were a bit more competent though... no go as of yet. :)
In PHP, it will be diffucult to call MediaInfo library (written in C/C++), why don't you use mediainfo command line?
I heard about several user who call mediainfo from PHP without problems.
./mediainfo --Inform=Video;%Width% %Height% for example.
GrofLuigi
9th October 2007, 15:36
On another note, since many programs use MediaInfo dll now, can it be placed in a path directory to avoid multiple copies and for better updating? (On Windows)
Will that affect these programs (I guess only their authors would know)?
GL
Zenitram
9th October 2007, 15:40
On another note, since many programs use MediaInfo dll now, can it be placed in a path directory to avoid multiple copies and for better updating? (On Windows)
Will that affect these programs (I guess only their authors would know)?
GL
How DLL works on Windows:
- Search in the .exe directory
- Search in the path
If you delete yourself the .dll in the porgram directory, the program will search in the path.
this is not a problem from the DLL, but from any third-party programs mainteners.
For MediaInfo (the GUI), the status of MediaInfo.dll is not "stable", so I prefer to not force updating. After, others do what they want.
When MediaInfo.dll is more stable, I may propose to install in a shared directory. Not now. (the version 0.x, not 1.x ;-) )
ficofico
22nd November 2007, 18:37
edit, sorry
vlada
25th November 2007, 22:11
I was using MediaInfo in my PHP-GTK application from command line. No I decided to move a little further and switch to Python. I heard somewhere it should be possible to use a C/C++ dll in Python. Does anyone have any idea (or code sample) how to use the mediainfo.dll in Python?
Thunderbolt8
26th November 2007, 02:30
would it be possible that mediainfo could give the length of both, audio and video stream inside a container file? dont know which of these 2 is meant with the general "length" info of the file.
vlada
27th November 2007, 23:57
I made Python load MediaInfo.dll through ctypes (http://python.net/crew/theller/ctypes/). But when I try to call the function result = lib.MediaInfo_Open("video.avi"), then Python complains there are not enough parameters for the function. What other parameters should be there?
Sorry for probably stupid questions, I'm just a beginner.
foxyshadis
28th November 2007, 03:56
You have to use:
handle=lib.MediaInfo_New();
result=lib.MediaInfo_Open(handle,"video.avi")
MediaInfo_Delete(handle)
now.
vlada
29th November 2007, 15:09
I've already tried this, but it gives me the same error:
http://img518.imageshack.us/img518/4580/pythongb5.png
Any ideas what's wrong?
vlada
2nd December 2007, 22:27
A friend of mine wrote a Python wrapper for the .dll so it is solved. I didn't have the time to dive into the code yet, I just verified it works. If anyone's interested in it, let me know.
Anyway I have another problem. I'm not sure if MediaInfo is supposed to handle elemantary streams, but I think it usually does. I have a h.264 stream demuxed from AVCHD camcorder. MediaInfo 0.7.5.5 reports it as an AC3 audio. A sample can be downloaded here (http://www.sendspace.com/file/cpgtaq) (7 MB).
SeeMoreDigital
2nd December 2007, 23:16
Anyway I have another problem. I'm not sure if MediaInfo is supposed to handle elemantary streams, but I think it usually does. I have a h.264 stream demuxed from AVCHD camcorder. MediaInfo 0.7.5.5 reports it as an AC3 audio. A sample can be downloaded here (http://www.sendspace.com/file/cpgtaq) (7 MB).Yes it can handle "elementary" streams...
MediaInfo v0.7.5.3 reports your sample as being: -
General #0
Complete name : C:\Documents and Settings\SeeMoreDigital\Desktop\video5.264
Format : AVC
Format/Info : Advanced Video Codec
Format/Family : AVC
File size : 7.27 MiB
Video #0
Codec : AVC
Codec/Info : MPEG-4 AVC
Codec profile : High@L4.0
Width : 1440 pixels
Height : 1088 pixels
Aspect ratio : 4/3
PixelAspectRatio : 1.000
DisplayAspectRatio : 1.324
....and yes, MediaInfo v0.7.5.5 reports this: -
General #0
Complete name : C:\Documents and Settings\SeeMoreDigital\Desktop\video5.264
Format : AC3
Format/Info : Audio Coding 3
File size : 7.27 MiB
PlayTime : 1mn 59s
Bit rate : 512 Kbps
Audio #0
Codec : AC3
Bit rate : 512 Kbps
Bit rate mode : CBR
Channel(s) : 3 channels
Channel positions : L C R
Cheers
foxyshadis
3rd December 2007, 01:08
A friend of mine wrote a Python wrapper for the .dll so it is solved. I didn't have the time to dive into the code yet, I just verified it works. If anyone's interested in it, let me know.
Sure!
vlada
8th December 2007, 12:50
So here it is: http://www.sendspace.com/file/ks1hei
As my friend told me it might not be fully functional, because he's never programmed anything in Python before. I'll also post it as an attachment, I hope somebody will approve it. It's only 4kB.
From what I tested so far everything seems to work correctly. I removed some comments he wrote me in Czech and translated some of them to English.
vlada
9th December 2007, 22:20
Zenitram> I have a TS sample, where MediaInfo can't detect any streams. It has one h.264 video track and 4 AC3 audio tracks. Are you interested in that file?
Atak_Snajpera
18th December 2007, 21:12
Does anybody know why I get always that kind of garbage with every file on Vista?
http://img229.imageshack.us/img229/4749/new1wx2.th.png (http://img229.imageshack.us/my.php?image=new1wx2.png)
vlada
21st December 2007, 01:40
Atak_Snajpera
I can confirm this too with 0.7.5.6. Version 0.7.5.0 works correctly. (I use Czech WinXP)
Kurtnoise
21st December 2007, 16:40
try this build (http://kurtnoise.free.fr/index.php?dir=misc/&file=MediaInfo-0.7.5.6_CLI.zip)...
Kurtnoise
21st December 2007, 16:44
Zenitram> I have a TS sample, where MediaInfo can't detect any streams. It has one h.264 video track and 4 AC3 audio tracks. Are you interested in that file?
sure...upload a sample please. Same thing for the raw AVC (the link to download the file is dead).
Atak_Snajpera
23rd December 2007, 20:55
Thanks Kurtnoise13 for fixed version
vlada
1st January 2008, 20:09
sure...upload a sample please. Same thing for the raw AVC (the link to download the file is dead).
The problematic .TS file is uploaded at http://www.sendspace.com/file/xjfw21. I think the problem with AVC stream is general, because it happend to me with more files. But if you can't reproduce it I will reupload the sample again.
Also I have some features requests for MediaInfo. I'm now working on a program, which uses MediaInfo library to get information about media files and then displays the needed modification to transcode it to DVD-Video. I also plan to add more output formats and maybe some day even make it a simple to use transcoding tool.
Here is the problem I currently have:
I need to know video compression. I need to know if it is MPEG-1/2/4 ASP or AVC. Or any other compression format. I use the "codec/family" information to get the compression, but it only works for AVI. In other containers the video compression is found under "codec". I could workaround it, but I think this inconsistency should be fixed in MediaInfo.
Second problem is, that for Matroska files the DLL only displays Mk. Again I could workaround it very simply, but I think I should mention it.
Also I'd like to ask you if it is possible to indicate some more informations about H.264. For example B-frames, CABAC etc. Is it possible at all?
Also I get much more information from a RAW AVC stream then from the same video muxed in MKV. Why?
Kurtnoise
2nd January 2008, 06:20
The problematic .TS file is uploaded at http://www.sendspace.com/file/xjfw21. I think the problem with AVC stream is general, because it happend to me with more files. But if you can't reproduce it I will reupload the sample again.
thanks...I'll try.
Here is the problem I currently have:
I need to know video compression. I need to know if it is MPEG-1/2/4 ASP or AVC. Or any other compression format. I use the "codec/family" information to get the compression, but it only works for AVI. In other containers the video compression is found under "codec". I could workaround it, but I think this inconsistency should be fixed in MediaInfo.
Second problem is, that for Matroska files the DLL only displays Mk. Again I could workaround it very simply, but I think I should mention it.
Should be easy to tweak this...:)
Also I'd like to ask you if it is possible to indicate some more informations about H.264. For example B-frames, CABAC etc. Is it possible at all?
It's possible and it's planned afaik...but I've no deadline on that.
Also I get much more information from a RAW AVC stream then from the same video muxed in MKV. Why?
such as ? mkv parsing has been rewritten recently. So, several things are missing.
vlada
2nd January 2008, 16:48
such as ? mkv parsing has been rewritten recently. So, several things are missing.
For example used profile (Baseline, Main, High etc.)
Kurtnoise
2nd January 2008, 20:37
with which matroska writer tools ? (x264/xvid_encraw-mkvtoolnix-gdsmux-gstreamer-handrake-avidemux-avimux_gui)
vlada
3rd January 2008, 01:25
O.K., so I'll be more specific. This what I get from an MKV:
Hlavní #0
Celý název a cesta : C:\_avchd\video4.mkv
Formát : Mk
Velikost souboru : 16.2 MiB
Hrací čas : 22s 880ms
Bit rate : 5957 Kbps
Encoded date : UTC 2007-08-11 16:43:56
Použitý software : mkvmerge v2.0.2 ('You're My Flame') built on Feb 21 2007 23:40:55
Enkódoval : libebml v0.7.7 + libmatroska v0.8.1
Video #0
Codec : MPEG-4 AVC
Codec/Info : MPEG4 ISO advanced profile
Hrací čas : 22s 880ms
Bit rate : 5833 Kbps
Šířka : 1440pixely
Výška : 1080pixely
Poměr stran : 16/9
Frame rate : 25.000 fps
The SW used to create the video is clear. Sorry for the Czech description, but even if I switch MediaInfo to English, the text remains in Czech. But it should be clear what the parameters are.
Now the same file after demuxing in MediaInfo 0.7.5.6:
Hlavní #0
Celý název a cesta : C:\_avchd\video4.264
Velikost souboru : 16.2 MiB
And now the same file in 0.7.5.0 (CLI, but it would be the same with GUI version):
General #0
Complete name : C:\_avchd\video4.264
Format : AVC
Format/Info : Advanced Video Codec
Format/Family : AVC
File size : 16.2 MiB
Video #0
Codec : AVC
Codec/Info : MPEG-4 AVC
Codec profile : High@L4.0
Width : 1440 pixels
Height : 1088 pixels
Aspect ratio : 4/3
PixelAspectRatio : 1.000
DisplayAspectRatio : 1.324
So first of all there is a bug in newer versions of MediaInfo that they don't read RAW AVC streams. With the older version 0.7.5.0 there are no problems. Also as you can see, I get different information about the video stream when it is demuxed. From a RAW AVC stream I get the information about profile, but not bitrate, framerate and time. Neuron2 says it should be possible to read framerate information from an AVC stream.
Also aspect ratio doesn't match. Any idea why?
If you can't reproduce it and want to see this sample video, let me know and I'll upload it.
Kurtnoise
4th January 2008, 20:32
mmh, I just tried to parse a raw AVC stream on my side with the last library and I got all infos...could you upload a sample of your video4.mkv file. :)
Thanks.
vlada
4th January 2008, 23:37
The sample is at http://www.sendspace.com/file/gpb5ul. It is a 17MB clip from Panasonic AVCHD camcorder muxed into MKV (only video).
Kurtnoise
5th January 2008, 21:28
I've no idea why the parsing fails...I'll ask to Zenitram to look at this more carefully.
btw, I've made a fix for your 2nd problem from the post #211.
vlada
6th January 2008, 12:00
Thanks a lot for your great feedback.
Kurtnoise
23rd January 2008, 21:22
@vlada: some new stuff in the incoming release...
General #0
Complete name : D:\Tor_\Script ED new_h264.mkv
Format : Matroska
File size : 5.11 MiB
PlayTime : 36s 959ms
Bit rate : 1160 Kbps
Encoded date : UTC 2008-01-23 20:13:57
Writing application : mkvmerge v2.1.0 ('Another Place To Fall') built on Aug 19 2007 13:40:07
Writing library : libebml v0.7.7 + libmatroska v0.8.1
Video #0
Codec : MPEG-4 AVC
Codec/Family : AVC
Codec/Info : Advanced Video Codec
Codec profile : High@L5.1
PlayTime : 36s 920ms
Bit rate : 1107 Kbps
Width : 640 pixels
Height : 336 pixels
Display Aspect ratio : 1.905
Frame rate : 25.000 fps
Chroma : 4:2:0
Interlacement : Progressive
Writing library : x264 - core 57 svn-699C
vlada
23rd January 2008, 21:31
That's great thanks a lot. I hope to get back to coding my application after a 2-weeks break. It is great news that I'll be able to get more detailed info.
Malow
29th January 2008, 02:49
is mediainfo "compatible" with large files?
im having problems with large files, like 25gb.
it "freezes" and looks like is reading the entire file, the hard disk light keep "on"
the video is an avi file, dv codec, exported from sony vegas.
with 13gb files, it take about 13 seconds to identify, but works. ;)
Zenitram
29th January 2008, 10:46
is mediainfo "compatible" with large files?
the video is an avi file, dv codec, exported from sony vegas.
Yes, I had problems with AVI OpenDML files in the last versions because I try to parse the Index chunks for having the real video stream size, and there was bugs in it with OpenDML indexes...
I will release a version today (0.7.5.8), please test it with the biggest AVI you have, this should be a lot quicker (lot of speed improvements), and give me your feedback.
Zen, developper of MediaInfo.
Kurtnoise
4th February 2008, 22:45
@vlada: you want more ?
General #0
Complete name : D:\Tor_\Script ED new_h264.mkv
Format : Matroska
File size : 5.11 MiB
PlayTime : 36s 959ms
Bit rate : 1160 Kbps
Encoded date : UTC 2008-01-23 20:13:57
Writing application : mkvmerge v2.1.0 ('Another Place To Fall') built on Aug 19 2007 13:40:07
Writing library : libebml v0.7.7 + libmatroska v0.8.1
Video #0
Codec : AVC
Codec/Family : AVC
Codec/Info : Advanced Video Codec
Codec profile : High@L5.1
Codec settings, CABAC : Yes
PlayTime : 36s 920ms
Bit rate : 1107 Kbps
Width : 640 pixels
Height : 336 pixels
Display Aspect ratio : 1.905
Frame rate : 25.000 fps
Chroma : 4:2:0
Interlacement : Progressive
Writing library : x264 - core 57 svn-699C
Encoding settings : cabac=1 / ref=16 / deblock=1:1:1 / analyse=0x3:0x113 / me=umh / fpel_cmp=sad / subme=7 / me-prepass=0 / brdo=1 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=0 / threads=1 / nr=0 / decimate=1 / mbaff=0 / bframes=16 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / bime=1 / keyint=250 / keyint_min=25 / scenecut=40 / rc=2pass / bitrate=1177 / ratetol=1.0 / rceq='blurCplx^(1-qComp)' / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30
:) test the last beta release...
Schrade
6th February 2008, 01:15
Just a little note about a misspelled codec name:
Video #0
Codec : WinNow
Codec/Info : WinNow Videum Hardware Compression
PlayTime : 9s
Bit rate : 14 Mbps
Width : 448 pixels
Height : 336 pixels
Display Aspect ratio : 4/3
Frame rate : 30.000 fps
Resolution : 24 bits
StreamSize : 15.0 MiB
That should say "Winnov (http://www.winnov.com/)" not "WinNow"
It's the WNV1 codec.
Schrade
6th February 2008, 07:50
Found another typo:
(Quictime in the Format/Info line)
General #0
Complete name : F:\DL\WGet\Game Trailers\quantic_video.mov
Format : QuickTime
Format/Info : Quictime movie
Format/Family : MPEG-4
File size : 70.0 MiB
PlayTime : 35s 35ms
Bit rate : 17 Mbps
StreamSize : 18.8 KiB
Encoded date : UTC 2008-01-22 15:17:13
Tagged date : UTC 2008-01-22 15:21:21
Zenitram
6th February 2008, 11:49
Found another typo:
Ah... typos :)
Corrected, will be OK in next version.
Schrade
6th February 2008, 17:43
Ah... typos :)
Corrected, will be OK in next version.
Thanks, Zenitram!
By the way, is it possible to make the window of MediaInfo remember its size? I hate having to resize the window manually every time to see everything in Text mode.
Zenitram
6th February 2008, 18:19
By the way, is it possible to make the window of MediaInfo remember its size? I hate having to resize the window manually every time to see everything in Text mode.
This is planned, but not he most urgent.
(I am completly rewriting the GUI, for being cross-platform...)
clsid
6th February 2008, 20:28
I also have a suggestion/request:
Could you make a simplified version of the GUI that is only capable of displaying the info as plain text output. No fancy options. Just a 'browse for file' button, a text field, and perhaps a copy-to-clipboard button.
Preferably statically linked with the mediainfo lib, so that everything is in a single executable file.
Zenitram
6th February 2008, 23:37
Could you make a simplified version of the GUI that is only capable of displaying the info as plain text output. No fancy options. Just a 'browse for file' button, a text field, and perhaps a copy-to-clipboard button.
For me, what you demand is simple :
- You configure MediaInfo for showing Text by default (in the main configuration window)
- in Win Explorer, right clic on the file, "MediaInfo", and you have the text (I must put a button "copy to clipboard here...).
Anyway, a guy wrote a tools which can be what you want:
http://fileforum.betanews.com/detail/MediaInfo_Lite/1183386892/1/
(not supported by me)
Preferably statically linked with the mediainfo lib, so that everything is in a single executable file.
Not planned currently for official release (doable from source easily).
I can't manage tens of versions with CLI/GUI/DLL, Windows/Linux/Mac, 32/64 bits...
Atak_Snajpera
7th February 2008, 01:18
Could you make a simplified version of the GUI that is only capable of displaying the info as plain text output. No fancy options. Just a 'browse for file' button, a text field, and perhaps a copy-to-clipboard button.
I've just made this simple gui http://www.mediafire.com/?d5yommkdxnz
clsid
7th February 2008, 12:06
Thanks Atak_Snajpera, that is exactly what I had in mind. A simple and small tool that doesn't require installation.
vlada
7th February 2008, 13:46
Kurtnoise13
That's great. Many thanks.
Also the consistency of video strem information in different containers is now much improved:
http://img249.imageshack.us/img249/103/migp8.th.png (http://img249.imageshack.us/my.php?image=migp8.png)
Many thanks for your work.
If I could have one more request: Would it be possible to display delay and stretch of audio in MKV? It is very important when converting such file.
Schrade
8th February 2008, 09:24
I've just made this simple gui http://www.mediafire.com/?d5yommkdxnz
I like this, Atak. Any chance you could make it so that it remembers the window size or at least resizes itself automatically to fit all the info?
Also, a way to change the font from hard to see grey to black would be good too. Oh, any chance to give it an argument? I'd like to be able for it to load a file by either commandline or creating a right click "MediaInfo" option.
Other than that, I like its simpleness and speed.
Atak_Snajpera
13th February 2008, 17:24
Also, a way to change the font from hard to see grey to black would be good too
Clsid asked for simple GUI so nothing more will be added. BTW This is dark grey (96,96,96) and have no problems with reading text. I suggest to calibrate your monitor :)
clsid
13th February 2008, 18:44
Allowing to open a file through command line would be a useful addition. That would for example allow a user to open a file in MediaInfoRaw through a "Send to" shortcut.
Edit: typo
SeeMoreDigital
13th February 2008, 20:44
Allowing to open a file through command line would be a useful addition. That would for example allow a user to open a file in MediaInfoRaw though a "Send to" shortcut.Very good idea :)
Atak_Snajpera
13th February 2008, 22:11
http://www.mediafire.com/?5mxjsmuvjir
with command line support
Schrade
13th February 2008, 23:44
Clsid asked for simple GUI so nothing more will be added. BTW This is dark grey (96,96,96) and have no problems with reading text. I suggest to calibrate your monitor :)
Monitor _IS_ calibrated. I just prefer black text on white to grey text on white.
http://www.mediafire.com/?5mxjsmuvjir
with command line support
Bah....when I suggest it you dismiss it. When clsid suggests it you listen :-P
Thanks for adding it. I'll definitely use it now. It's so speedy!
clsid
13th February 2008, 23:59
Thanks :)
Edit:
A little request. Could you make the window a bit wider? 50% or so. Now some stuff is getting word wrapped.
Atak_Snajpera
2nd March 2008, 15:39
MediaInfo 0.7.6.0 cannot detect VC-1 video
http://img442.imageshack.us/img442/4623/new1nz5.th.png (http://img442.imageshack.us/my.php?image=new1nz5.png)
Zenitram
2nd March 2008, 17:23
MediaInfo 0.7.6.0 cannot detect VC-1 video
It detects VC-1 video on my .evo example files.
I don't have .ts (or .m2ts) files with VC-1, so I don't know what is the "stream_type" registered in the TS_program_map_section.
Please contact me (zen@mediaarea.net) for providing me an short example (you can create a 512K file with the official MediaInfo GUi, menu debug, "create a header file"), or if you can't, at least provide me the stream_type (in the official GUI, menu debug, "details - 10", load a file and search for "stream_type" in the text).
Atak_Snajpera
2nd March 2008, 18:33
sample file
http://www.mediafire.com/?e2jafizmgdw
Atak_Snajpera
2nd March 2008, 20:48
Another problem
http://www.mediafire.com/?rnxx9z94jjg
this file should be detected as DTS. However if I rename to .dts everything is ok.
General #0
Complete name : C:\Users\Dawidos\Desktop\audio.1.mpa
Format : MPEG-1 Video
Format/Family : MPEG-1
File size : 11.0 MiB
Video #0
Codec : MPEG-1 Video
Codec/Family : MPEG-V
Codec settings, Matrix : Standard
Bit rate mode : CBR
Bit rate : 10 Mbps
Nominal bit rate : 10 Mbps
Width : 939 pixels
Height : 1076 pixels
Display Aspect ratio : 0.851
Frame rate : 0.000 fps
Interlacement : Progressive
Zenitram
3rd March 2008, 21:07
sample file
http://www.mediafire.com/?e2jafizmgdw
thanks for this example file, it is very useful.
I corrected problems, VC-1 will be detected in next version.
btw, PCM stream will too (but not a lot of information, I don't know to parse the PCM stream for finding the count of stream, the bitrate... If you have information about the PCM specifications in bluray, I am interested in :) )
And Dolby TrueHD stream will be detected as TrueHD, no more AC3 (but not a lot more information, I have only A/52B specifications, and there are no information about TrueHD :( )
Example of output with my development version for your file:
MPEG-1TS: 63.6 MiB
1920*1080 (16/9), at 24.000 fps, VC-1 (Advanced@3)
English, 640 Kbps, 48 KHz, 6 channels, AC3
English, PCM (Big / Signed)
English, 48 KHz, 6 channels, TrueHD
Chinese, 448 Kbps, 48 KHz, 6 channels, AC3
I will try to improve my MPEG parser for not detect your dts file as MPEG...
Atak_Snajpera
4th March 2008, 15:05
Great job!
1920*1080 (16/9), at 24.000 fps, VC-1 (Advanced@3)
It should be 23.976 :)
Zenitram
4th March 2008, 15:25
It should be 23.976 :)
Another bug :-D
I found my error, corrected, will be OK in the next version.
(sorry, VC-1 bitstream parsing is new for me, and I don't have the specifications, so I do a lot of tests and reading other source code, so I may make mistakes :( )
Zenitram
4th March 2008, 22:27
Great job!
You can test it here:
http://sourceforge.net/project/showfiles.php?group_id=86862&package_id=197932
File MediaInfo_20080304_GUI_Win32_WithoutInstaller.7z, you can decompress it and copy the DLL to the directory with your prefered GUI.
LeMoi
4th March 2008, 22:47
No more detailed x264 infos with latest official build :(
Schrade
4th March 2008, 22:55
No more detailed x264 infos with latest official build :(
I was never able to get any detailed x264 info :-/ No matter what build I tried.
Any chance you could point to one that worked for you?
Atak_Snajpera
5th March 2008, 01:03
Zenitram audio is still not detected. I hope you will fix that in future :)
Zenitram
5th March 2008, 08:28
Zenitram audio is still not detected. I hope you will fix that in future :)
I try always to correct bugs ;-)
But... With your example file, I have this:
General #0
ID : 0
Complete name : F:\Programmation\MediaInfoLib_CrashTest\Multiple\MPEG Transport\BluRay\VC-1, LPCM\300.edit.ts
Format : MPEG-1 Transport
Format/Family : MPEG-1
File size : 63.6 MiB
Video #0
ID : 4129 (0x1021)
MenuID : 1 (0x1)
Codec : VC-1
Codec profile : Advanced@3
Width : 1920 pixels
Height : 1080 pixels
Display Aspect ratio : 16/9
Frame rate : 23.976 fps
Chroma : 4:2:0
Interlacement : Progressive
Audio #0
ID : 4133 (0x1025)
MenuID : 1 (0x1)
Codec : AC3
Bit rate mode : CBR
Bit rate : 640 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Rear: L R, LFE
Sampling rate : 48 KHz
Language : English
Audio #1
ID : 4134 (0x1026)
MenuID : 1 (0x1)
Codec : PCM
Codec/Family : PCM
Codec settings : Big / Signed
Codec settings, Endianness : Big
Codec settings, Sign : Signed
Resolution : 24 bits
Language : English
Audio #2
ID : 4135 (0x1027)
MenuID : 1 (0x1)
Codec : TrueHD
Bit rate mode : CBR
Channel(s) : 6 channels
Channel positions : Front: L C R, Rear: L R, LFE
Sampling rate : 48 KHz
Language : English
Audio #3
ID : 4141 (0x102D)
MenuID : 1 (0x1)
Codec : AC3
Bit rate mode : CBR
Bit rate : 448 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Rear: L R, LFE
Sampling rate : 48 KHz
Language : Chinese
--> For me this is OK.
If you speak about the DTS file with wrong extension, I didn't yet take a look on it, but I will (I have a life next to my promgrammer life ;-) )
PS: Shrade, x264 info was in a development snapshot, I don't remember which one, but don't worry, I will work on it today, the next development snapshot will have x264 info.
Zenitram
5th March 2008, 18:29
Zenitram audio is still not detected. I hope you will fix that in future :)
If you speak about your DTS file with wrong extension, it is corrected in version 20080305:
http://sourceforge.net/project/showfiles.php?group_id=86862&package_id=197932
General #0
Complete name : F:\Programmation\MediaInfoLib_CrashTest\Video\MPEG-1&2 Video\False-positive\audio.1.mpa
Format : DTS
File size : 11.0 MiB
PlayTime : 59s 844ms
Bit rate : 1536 Kbps
Audio #0
Codec : DTS
Bit rate : 1536 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Surround: L R, LFE
Sampling rate : 48 KHz
Resolution : 24 bits
No more detailed x264 infos with latest official build :(
I was never able to get any detailed x264 info :-/ No matter what build I tried.
Any chance you could point to one that worked for you?
I tested again with my example files:
- x264 in AVI or raw x264 stream should always work in the latestest official release.
- x264 in MKV was not working, now it is OK in version 20080305
General #0
Complete name : F:\Programmation\MediaInfoLib_CrashTest\Multiple\MKV\AVC\Standard_NTSC_AVC+MP3.mkv
Format : Matroska
File size : 5.30 MiB
PlayTime : 53s 804ms
Bit rate : 827 Kbps
Movie name : Done with AutoMKV 0.95b http://forum.doom9.org/showthread.php?t=134478
Encoded date : UTC 2008-02-13 16:06:07
Writing application : mkvmerge v2.1.0 ('Another Place To Fall') built on Aug 19 2007 13:40:07
Writing library : libebml v0.7.7 + libmatroska v0.8.1
Video #0
Codec : AVC
Codec/Family : AVC
Codec/Info : Advanced Video Codec
Codec profile : High@L4.1
Codec settings, CABAC : Yes
PlayTime : 53s 750ms
Width : 720 pixels
Height : 480 pixels
Display Aspect ratio : 4/3
Frame rate : 23.976 fps
Standard : NTSC
Chroma : 4:2:0
Interlacement : Progressive
Title : Standard_NTSC
Writing library : x264 - core 58 svn-736M
Encoding settings : cabac=1 / ref=3 / deblock=1:-2:-1 / analyse=0x3:0x133 / me=umh / subme=5 / me-prepass=0 / brdo=0 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=0 / threads=6 / nr=0 / decimate=1 / mbaff=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / bime=1 / keyint=250 / keyint_min=25 / scenecut=40(pre) / rc=crf / crf=24.0 / rceq='blurCplx^(1-qComp)' / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / pb_ratio=1.30 / aq=0
Audio #0
Codec : MPEG-1 Audio layer 3
Codec profile : Joint stereo
Bit rate mode : VBR
Channel(s) : 2 channels
Sampling rate : 48 KHz
Resolution : 16 bits
Writing library : Gogo (after 3.0)
Language : English
Chapters #0
Language : English
1 : 00:00:00.000 Chapter 1
- x264 raw stream in .mp4 is not yet parsed (--> no information from the stream, only from the SPS/PPS). Planned.
Don't hesitate to provide me samples which don't work in MediaInfo!
Atak_Snajpera
5th March 2008, 21:51
Thanks!
bond
23rd March 2008, 22:52
sample file
http://www.mediafire.com/?e2jafizmgdwhi Atak_Snajpera. I am looking for a bluray sample and wanted to ask whether this is from bluray or a different source, like hdtv?
:thanks:
Atak_Snajpera
23rd March 2008, 23:23
hi Atak_Snajpera. I am looking for a bluray sample and wanted to ask whether this is from bluray or a different source, like hdtv?
Remuxed from Blu-Ray
vlada
25th March 2008, 19:12
Hi,
it's me again with some comments, bug reports, suggestions a feature requests.
While building my application I now moved towards getting information about DVDs and found some more problems.
1) Video Codec says MPEG-2, while Video Codec/Family displays MPEG-V. I'm using the "Codec/Family" to get video compression. It is the very common codec/format confusion I was talking about here (http://forum.doom9.org/showthread.php?t=134736). The Codec field should rather display the encoder used (HC, QuEnc, CCE, ProCoder etc.) if it is possible to get them. It's just a very small issue, but it would save me some code if this gets fixed in MediaInfo.
Or maybe add a new field called "Compression"? Or rename the "Codec/Family" to "Compression".
2) PAR of DVD (VOB) is displayed incorrectly. For a standard PAL 16:9 DVD the PAR should be 1.422, but MediaInfo returns 0.703 (which is 1/1.422).
3) Is it possible to get language of an audio track inside a VOB?
Thank you for your hard work. Your program helps me a lot.
Zenitram
25th March 2008, 23:32
Hi,
it's me again with some comments, bug reports, suggestions a feature requests.
All comments, bug reports, suggestions are welcome :)
While building my application I now moved towards getting information about DVDs and found some more problems.
1) Video Codec says MPEG-2, while Video Codec/Family displays MPEG-V. I'm using the "Codec/Family" to get video compression. It is the very common codec/format confusion I was talking about here (http://forum.doom9.org/showthread.php?t=134736).
I gave up the crusade against DivX a long time ago...
FYI, I tried to put "MPEG-4V" (for "MPEG-4 Visual") instead of "DivX" in a "Format" field for some earlier version of MediaInfo, and I tried to put "DivX" in a "Encoded library" field . I recieved tens of email from people saying me that their file is DivX, not a stupid and unknown MPEG-4 Visual...
And for the DivX container format, I show "Divx (Hack of AVI)" instead of saying that is an AVI file, because I received emails saying that the file is a ".divx" file, and that this is not AVI...
The only crusade I currently do is saying that DivX 6 does NOT exist, that the 4CC is always "DX50" and that I can not detect DivX 6 because of no specific 4CC... This is hard enough!
So... the "Codec" field is currently the 4CC/2CC/Matroska string included in the container, and self made text for MPEG streams. This is not the encoder name.
The Codec field should rather display the encoder used (HC, QuEnc, CCE, ProCoder etc.) if it is possible to get them. It's just a very small issue, but it would save me some code if this gets fixed in MediaInfo.
Or maybe add a new field called "Compression"? Or rename the "Codec/Family" to "Compression".
The encoder name is the "Encoded_Library" field.
But only when I can detect it (if there is some data in the user_data part (0x000001B2) ). MPEG-2V encoders put often no encoder info, so I can't detect it.
If you are sure that some encoders put the encoder name in the stream, please send me examples.
2) PAR of DVD (VOB) is displayed incorrectly. For a standard PAL 16:9 DVD the PAR should be 1.422, but MediaInfo returns 0.703 (which is 1/1.422).
Oh... I was using the old values included in the MPEG-1 Video spec (pel_aspect_ratio=height/width)
PAR is inverted, compared to usual usage. I will change this.
3) Is it possible to get language of an audio track inside a VOB?
The language is not a part of a .vob (exactly : a MPEG PS file). This piece of info is only in the IFO file. I plan to corelate xxx.vob with xxx.ifo later, to be able to show the language of a MPEG stream, but this is not currently my priority.
vlada
26th March 2008, 15:57
Zenitram
Thanks a lot for your replies. So what about adding a field called "Format" which would show MPEG-1/MPEG-2/MPEG-4 ASP/MPEG-4 AVC/VC-1/DV/MJPEG etc.?
This way you can keep the Codec field as it is now (most people don't know the difference between codec and format anyway) and it will allow me to get format of a video. Because the format is important, anybody can change 4CC of an AVI video within a couple of seconds.
Btw. my opinion is that just because 99% of people are doing something wrong won't make me doing it wrong too. But I agree with you that this is usually very unpractical.
Zenitram
26th March 2008, 16:13
Btw. my opinion is that just because 99% of people are doing something wrong won't make me doing it wrong too. But I agree with you that this is usually very unpractical.
This is why there is a "Codec/Family" field. DivX or XviD or 3ivX are in the "MPEG-4V" family.
If this field is empty, you use the "Codec" field for having the codec.
"Codec/Family" is not OK for you? Some other geeks use this field to be able to know which decoder must be used.
If needed, you can help me to complete this file:
http://mediainfo.svn.sourceforge.net/viewvc/*checkout*/mediainfo/MediaInfoLib/trunk/Source/Ressource/Text/DataBase/Codec.csv
The first column is the 2CC/4CC/Matroska string/my custom string for the "Codec" field".
The 2nd column is for "Codec/String" (a more explicit string)
The 5th column is the "Codec/Family".
If you think there is problems or missings in this file, don't hesitate to fill it, I will integrate it to the next version.
SeeMoreDigital
26th March 2008, 17:23
Would the following be a possible compromise: -
Video #0
Codec : MP4V
Codec/Family : MPEG-4 Part-2 (ASP)
Encoder : Xvid 1.1.2 Final
Play Time : 60s 000ms
Bit rate mode : VBR
Bit rate : 200 Kbps
Pixel Width : 720
Pixel Height : 576
Display Aspect Ratio : 16:9 (1.777:1)
Frame Rate : 25.000 fps
Frame Number : 1500
Frame Structure : Progressive
Field Order : BFF
Bits/(Pixel*Frame) : 0.172
Cheers
Zenitram
26th March 2008, 18:06
Codec : MP4V
When I tried to show "MPEG-4 Visual" to the user for the main identity of the codec, I was spammed of emails saying that it is DivX,or XviD etc... Mainly because the 4CC is "XVID" for Xvid encoded stream, and "DX50" for a DivX encoded stream.
And the "normal" users want to know if it is DivX or Xvid 4CC (I know, this is stupid, but the user needs is important :) ).
Codec/Family : MPEG-4 Part-2 (ASP)
ASP is a profile, not a family. MPEG-4 Visual (Part-2) is the family, ASP a profile, or am I wrong?
So I think this is not good to put the profile in the Family field.
The profile is currently in the "Codec profile" field (with the level). (when available. For example, DivX encoder does not put the profile in the MPEG-4 Visual stream, so I don't show it...)
Play Time : 60s 000ms
000ms is currently not shown, this is not good, I will change it.
Encoder : Xvid 1.1.2 Final
My english is so bad... :)
The problem with "Encoder" is that I can show 2 kinds of names :
- The encoding library (ie XviD)
- The encoding application (ie VirtualDub)
What would be the good translation, without misunderstanding, of theses 2 fields?
Frame Structure : Progressive
Field Order : BFF
I currently only use 1 field for both. The field can be set to PPF/TFF/BFF.
To you want to have 2 fields?
- "Frame Structure" field for "Interlaced"/"Progressive"
- "Field Order" field for the interlacement mode (TFF/BFF)
Note: another guy has just proposed "Scan type" instead of "Frame Structure".
Pixel Width : 720
Pixel Height : 576
This can be better...
Thanks for the pieces of advices, don't hesitate to propose other modifications!
clsid
26th March 2008, 18:59
How about something like this:
Video #0
Format : MPEG-4 Visual
Codec ID : MP4V
Codec : Xvid 1.1.2 Final
Format is self-explanatory.
Codec ID is the FourCC, matroska id, etc.
Codec is the codec that was used for encoding.
Zenitram
26th March 2008, 19:06
Format : MPEG-4 Visual
OK.
Codec ID : MP4V (this is the FourCC, matroska id, etc)
OK
Codec : Xvid 1.1.2 Final
It can't be general: the encoder is not a decoder, if I change, this is for being good, not with a new weird word ;-)
For example, x264 is an encoder, but not a decoder. And Xvid decoder can decode DivX encoded stream.
"Encoder" seems to be better for this one.
(and more: for compatibility, I can't reuse "Codec" for another thing, because some third-party software wait for 4CC in this field... This field will not be shown anymore, but a software using the DLL will have the field...)
Encoding app : VirtualDub 1.7.6
OK
SeeMoreDigital
26th March 2008, 19:07
Hi Zenitram,
I currently only use 1 field for both. The field can be set to PPF/TFF/BFF.
To you want to have 2 fields?
- "Frame Structure" field for "Interlaced"/"Progressive"
- "Field Order" field for the interlacement mode (TFF/BFF)Having two fields is useful when analysing MPEG-2 and MPEG-4 Part-2 sources. With MPEG-4 Part-10 sources I guess just the frame structure is required, which could be listed as: MBAFF or PAFF.
Note: another guy has just proposed "Scan type" instead of "Frame Structure". I took the inspiration from Donald Graft's DGAVCIndex and DGMPGIndex tools ;)
I guess the displayed fields along with the information displayed, changes in relation to the muxer and container.
So here's another suggestion: -
MPEG-4 Part-10 in MP4
General #0
Path/File Name : C:\xxxxxxx
Container : MP4
Muxing Application : YAMB
File size (MB) : 1.23
Run Time (H:M:S:MS) : 00:00:50:800
Total Bit Rate (Kbps) : 203
Video #0
Codec ID : MP4V
Codec Format : MPEG-4 Part-10
Profile@Level : High@L4.1
Encoding Application : AutoMKV
Encoding Compressor : x264
Run Time (H:M:S:MS) : 00:00:50:800
Bit Rate Mode : VBR
Bit Rate (Kbps) : 200
Pixel Width : 720
Pixel Height : 432
Display Aspect Ratio : 2.37:1
Frame Rate (FPS) : 25.000
Total Frames : 1270
Frame Structure : MBAFF
Colourimetry : 4:2:0
Bits/(Pixel*Frame) : 0.026
MPEG-4 Part-2 in MP4
General #0
Path/File Name : C:\xxxxxxx
Container : MP4
Muxing Application : YAMB
File size (MB) : 1.23
Run Time (H:M:S:MS) : 00:00:50:800
Total Bit Rate (Kbps) : 203
Video #0
Codec ID : MP4V
Codec Format : MPEG-4 Part-2
Profile@Level : ASP@L1
Encoding Application : AutoMKV
Encoding Compressor : Xvid 0046
Run Time (H:M:S:MS) : 00:00:50:800
Bit Rate Mode : VBR
Bit Rate (Kbps) : 200
Pixel Width : 720
Pixel Height : 432
Display Aspect Ratio : 2.37:1
Frame Rate (FPS) : 25.000
Total Frames : 1270
Frame Structure : Progressive
Field Order : BFF
Colourimetry : 4:2:0
Bits/(Pixel*Frame) : 0.026
MPEG-4 Part-2 in AVI
General #0
Path/File Name : C:\xxxxxxx
Container : AVI (Audio Video Interleave)
Muxing Application : AVI-Mux GUI
File size (MB) : 1.25
Run Time (H:M:S:MS) : 00:00:50:800
Total Bit Rate (Kbps) : 205
Video #0
Codec ID : MP4V
Codec Format : MPEG-4 Part-2
Profile@Level : ASP@L1
Encoding Application : AutoMKV
Encoding Compressor : Xvid 0046
Run Time (H:M:S:MS) : 00:00:50:800
Bit Rate Mode : VBR
Bit Rate (Kbps) : 200
Pixel Width : 720
Pixel Height : 432
Display Aspect Ratio : 2.37:1
Frame Rate (FPS) : 25.000
Total Frames : 1270
Frame Structure : Progressive
Field Order : BFF
Colourimetry : 4:2:0
Resolution : 24 bit
Bits/(Pixel*Frame) : 0.026
Cheers
Zenitram
26th March 2008, 23:49
Having two fields is useful
when analysing MPEG-2 and MPEG-4 Part-2 sources.
OK, I will do this.
With MPEG-4 Part-10 sources I guess just the frame structure is required, which could list: MBAFF or PAFF.
I don't understand, I don't see theses items in the MPEG-4 part 10 specifications. Exemple of what I have :
- "frame_mbs_only_flag equal to 0 specifies that coded pictures of the coded video sequence may either be coded fields
or coded frames. frame_mbs_only_flag equal to 1 specifies that every coded picture of the coded video sequence is a
coded frame containing only frame macroblocks."
- "bottom_field_flag equal to 1 specifies that the slice is part of a coded bottom field. bottom_field_flag equal to 0
specifies that the picture is a coded top field. When this syntax element is not present for the current slice, it shall be
inferred to be equal to 0."
I took the inspiration from Donald Graft's DGAVCIndex and DGMPGIndex tools ;)
I took a look on the MPEG-4 part 10 specifications, for example, and they speak of "progressive-scan or interlaced-scan form" or "ct_type indicates the scan type".
So I think I will prefer "Scan type".
But: Scan types, BFF/TFF are always difficult for me to understand between 3/2 pulldown, picture drop, progressive scan with 2 interlaced half-pictures, this is hard :), so I may do errors... I am learning :).
I guess the displayed fields along with the information displayed, changes in relation to the muxer and container.
Yes, and this is my problem : most software parse only few kind of formats, I try to parse all kinds of format, and this is very difficult to have "standard" fields compatible with all formats :(.
So here's another suggestion: -
Thank you for your proposal.
I will think about it next week, please come back here next week, to discuss again of it!
I can't change all now, I plan to release an official release Friday, and I don't want to add bugs in this version while trying to change all theses field names.
Next official release will not include modifications from our discussion, but the next one will do.
vlada
27th March 2008, 06:10
I agree with clsid's suggestions. I think the first 2 fields should be Codec ID and Format. But instead of Codec, it might be better to use Encoder or Compressor.
For the interlacement I think there are following things to consider:
1) Frame structure, can be Frame or Field for most formats. For H.264 it can be Frame, PAFF or MBAFF.
2) Field order. For progressive (Frame based video) it doesn't make any sense, for interlaced content it is very important information, although come codecs/encoders don't let you set it (XviD, x264).
Zenitram
27th March 2008, 10:13
I agree with clsid's suggestions. I think the first 2 fields should be Codec ID and Format. But instead of Codec, it might be better to use Encoder or Compressor.
As said before, I can't do this, because you can have an AVI with a "DX50" codec ID, but encoded by XviD.
So I think a synthesis can be :
General:
- "Container" field, ie "Matroska"
- "Muxing library" field, ie "libebml v0.6.2 + libmatroska v0.6.1"
- "Muxing application" field, ie "mkvmerge v0.7.7"
Video:
- "Codec ID" field, ie "DX50" --> "DivX"
- "Format" field, ie "MPEG-4 Visual" (SeeMoreDigital, this name is in the MPEG-4 Part 2 spec, and I think it is more "interessant" for user than saying "MPEG-4 part 2")
- "Format profile" field, ie "Simple Profile"
- "Format settings" field, ie "GMC / Custom matrix"
- "Encoding library" field, ie "XviD 1.1.0"
For the interlacement I think there are following things to consider:
1) Frame structure, can be Frame or Field for most formats. For H.264 it can be Frame, PAFF or MBAFF.
2) Field order. For progressive (Frame based video) it doesn't make any sense, for interlaced content it is very important information, although come codecs/encoders don't let you set it (XviD, x264).
I didn't know there was difference in AVC, I took a look on:
http://forum.doom9.org/showthread.php?t=96598
I will try to implement this for a future release. This is currently not supported.
If I well understood :
- "Scan type" (I prefer this text because the AVC spec speak about this...) can be : Progressive, Interlaced, PAFF, MBAFF.
- "Field order" can be : TFF, BFF, Mixed (I am not sure, but I think I saw some video which can begin with TFF and change sometimes to BFF)
I try to understand multiple formats (MPEG-2 Video, MPEG-4 Visual, AVC, VC-1...) at the same time, interlacement and format settings are awful to understand! :mad:
vlada
27th March 2008, 17:34
- "Scan type" (I prefer this text because the AVC spec speak about this...) can be : Progressive, Interlaced, PAFF, MBAFF.
I probably confused you a little regarding this. PAFF and MBAFF are two different modes MPEG-4 part 10 (AVC,H.264) can use for interlaced video. PAFF is mainly used by AVCHD camcorders and TV broadcasts. It can encode each frame as 2 fields or as a complete frame. MBAFF is used by x264 and other encoders. It decides between fileds and frames per macroblock. So in a single frame can be progressive and interlaced macroblocks. At least this is how I understand it.
Anyway if a video is PAFF or MBAFF, it means it is interlaced (at least partially). I don't think H.264 can be forced to be completely interlaced (each frame saved as 2 fields).
- "Field order" can be : TFF, BFF, Mixed (I am not sure, but I think I saw some video which can begin with TFF and change sometimes to BFF)
I think it is possible to change field order on the go (mixed mode). But you will probably only find this on some recorded TS broadcasts. I think it would be very difficult to correctly play or deinterlace such movie unless it is possible to detect where the order is changed.
SeeMoreDigital
27th March 2008, 19:34
...For progressive (Frame based video) it doesn't make any sense... When displaying progressive images the decoder needs to be instructed whether to build the progressive image from the "bottom up-wards" ie: BFF or from the "top down-wards" ie: TFF.
vlada
27th March 2008, 21:38
Maybe I don't get something. But a progressive frame is stored as a complete picture. There are no fields. The whole frame is decoded and shown as one picture. It doesn't make any sense to to have a field order, because the fields simply don't exists.
Zenitram
28th March 2008, 00:04
Maybe I don't get something. But a progressive frame is stored as a complete picture. There are no fields. The whole frame is decoded and shown as one picture. It doesn't make any sense to to have a field order, because the fields simply don't exists.
From what I have read in the specifications, I think it is possible to have a progressive scan with interlaced fields (the timestamp for the two fields are same, the "progressive" image is constructed from 2 "half-images").
For the output, this is a progressive frame. But internaly this can be 2 fields.
SeeMoreDigital
28th March 2008, 00:17
Perhaps the phrases "Scan Type" (ie: Progressive, Interlaced, PAFF, MBAFF) and "Scan Order" (ie: TFF, BFF, Mixed), would be more appropriate ;)
vlada
28th March 2008, 12:41
Zenitram> Yes, this is possible. In fact it is very easy to create such video. Encode it as interlaced (field based) and then set it's flag as progressive. But the opposite - frame based video with interlace flags - is more common.
Anyway if both fields have equal timestamps, then none of them is first.
Atak_Snajpera
1st April 2008, 12:06
Zenitram
Is there any way to extract version number from dll via Delphi?
Zenitram
1st April 2008, 13:32
Zenitram
Is there any way to extract version number from dll via Delphi?
MediaInfo_Option (0, 'Info_Version', '');
or you can use the "Win32"" methods for reading the version a DLL as for any other DLL (but I don't know what it is in Delphi).
Take a look on the Delphi example provided with the MediaInfo DLL, there is some interesting info in it.
Atak_Snajpera
1st April 2008, 14:44
MediaInfo_Option (0, 'Info_Version', '');
Thanks :)
lexor
1st April 2008, 19:05
As said before, I can't do this, because you can have an AVI with a "DX50" codec ID, but encoded by XviD.
Aren't you trying to reinvent a square wheel then? Those tags have little to nothing to do with the standards, they are just hints for other apps that will use the stream, and these particular hints have a name already, it's FourCC. Just call it that and keep it separate from the actual standard names like MP4V, MPEG-4 Part-10 etc.
You said "Codec : MP4V" caused a storm of emails since people don't know the difference between a codec and an implementation of a codec, well make it:
Codec : MP4V
FourCC: Xvid
that's a complete description that covers all bases, and if anyone else complains after this... ignore.
Zenitram
1st April 2008, 19:11
that's a complete description,
Sorry, but you are wrong too.
A codec is a COder/DECoder.
"MP4V" is not a coder, and not a decoder.
But MP4V is a format... This is what I will try to show the next time. this will come soon.
and if anyone else complains after this... ignore.
Sorry, but my users are the reason I created this software, I don't plan to ignore them.
Users want to have "Divx 5", I can give this to them, and I will do it even if it a non-sense for you doom9 compression addicts. I try to have everybody happy.
Planned presentation is currently :
Format : MPEG-4 Visual
CodecID : DX50
CodecID/String : DivX 5
lexor
1st April 2008, 19:23
Sorry, but you are wrong too.
A codec is a COder/DECoder.
"MP4V" is not a coder, and not a decoder.
But MP4V is a format... This is what I will try to show the next time. this will come soon.
Not exactly I just quoted SMD's post to which you replied with the email thing. Your proposition of merger is arguably even more wrong
"Codec ID" field, ie "DX50" --> "DivX"
DivX, Xvid, x264 are not codecs, they are implementation of CODECs (well the first 2 are, x264 doesn't have its own DEC part, just the CO).
Sorry, but my users are the reason I created this software, I don't plan to ignore them.
Users want to have "Divx 5", I can give this to them, and I will do it even if it a non-sense for you doom9 compression addicts. I try to have everybody happy.
Planned presentation is currently :
Format : MPEG-4 Visual
CodecID : DX50
CodecID/String : DivX 5
I understand the need to cater to users, some of whom may not be tech savvy, but just want some info. However propagating misconceptions like DivX being a codec and different thing from mpeg4asp is not a good thing. As the provider of information you should try to help your users to become more knowledgeable about the info they are getting, and a better naming for tags (like calling DX50 a FourCC) is a good thing and will be appreciated in the long run.
Just my 2cents though.
Zenitram
1st April 2008, 19:35
I understand the need to cater to users, some of whom may not be tech savvy, but just want some info. However propagating misconceptions like DivX being a codec and different thing from mpeg4asp is not a good thing. As the provider of information you should try to help your users to become more knowledgeable about the info they are getting, and a better naming for tags (like calling DX50 a FourCC) is a good thing and will be appreciated in the long run.
This is why I will change, and I will use "Codec ID" (I will not use "Codec" alone!).
FourCC is not possible, because FourCC is only for AVI video, and I have not only AVI video (there is a 2CC for AVI audio, there is a text string for Matroska...), so I need a more generic term, I can't use "FourCC". MediaInfo must have the same "fields", whatever is the format or container.
And DivX is too much known, As I say before I gave up trying to educate everybody, so I can try some changements, but I can't change everybody mind. Note that I already say that "DivX 6" is not a format and that a divx container without DivX subtitles is an AVI ;-)
If you have a better suggestion for "Codec ID", I am interested, but "FourCC" is not possible.
lexor
1st April 2008, 21:01
If you have a better suggestion for "Codec ID", I am interested, but "FourCC" is not possible.
You are right, from that point of view this does seem like splitting hairs. Still how about VendorID? After all, regardless of how poorly old DivX implemented ASP profile, it's still technically an Mpeg4ASP implementation. DIVX, DX50 and Xvid are there to tell the user which tool (a.k.a which vendor's app) was used to make the stream, users/author's attempts to lie notwithstanding (i.e. labeling DivX as Xvid in avi 4cc).
This still however may lead to confusion with people thinking that VendorID is who made the movie, not the encoding/decoding tool. I think "CODEC VendorID" would be a perfect catch em all name... but it's kinda long.
Alternatively check out Foobar2000's properties tab:
Duration : 7:52.880 (20854008 samples)
Sample Rate : 44100 Hz
Channels : 2
Bitrate : 250 kbps
Codec : MP3
Codec Profile : MP3 VBR V2
Encoding : lossy
Tool : LAME3.90
Tag Type : id3v2|id3v1
Tool - short, sweet and to the point.
~bT~
4th April 2008, 02:38
how do I find out the bitrate of my M2TS file pls?
this is all the info i'm getting with mediainforaw.
General #0
Complete name : D:\Temp\HITMAN.BLURAY\BDMV\STREAM\00001.m2ts
Format : BluRay Video
Format/Family : MPEG-2
File size : 4.38 GiB
Video #0
Codec : AVC
Codec/Family : AVC
Codec/Info : MPEG-4 AVC
Codec profile : High@L4.1
Width : 1280 pixels
Height : 720 pixels
Display Aspect ratio : 16/9
Frame rate : 23.976 fps
Chroma : 4:2:0
Interlacement : Progressive
Audio #0
Codec : AC3
Bit rate mode : CBR
Bit rate : 448 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Rear: L R, Subwoofer
Sampling rate : 48 KHz
Zenitram
4th April 2008, 08:04
how do I find out the bitrate of my M2TS file pls?
this is all the info i'm getting with mediainforaw.
Sometimes, MediaInfo fails to detect the timestamp at the end of the file, so it shows nothing.
I plan to have a better .vob/.ts time detection later.
Atak_Snajpera
4th April 2008, 21:00
A little request. Could you make the window a bit wider? 50% or so. Now some stuff is getting word wrapped.
Gui has been updated :)
clsid
4th April 2008, 21:20
Thanks.
mrwilby
5th April 2008, 13:55
I wonder if you might be able to help me with something.
I'm trying to write an app that detects incompatible mpeg4 video for the sigma designs 8634/8635 set top boxes.
I've played with Media Info a bit, and after reading the source code, I can see it can identify the number of raw frames in AVC data. This will save me writing a lot of code!
As far as I can see, MediaInfo_Config :: Details contains the flag that will cause the num_ref_frames data to be emitted, but it doesn't appear to be possible to modify this Details variable via the CLI.
Is there a way that I'm missing, e.g. some kind of verbose mode or is it currently unsupported?
If it's not currently available, any chance you might be willing to add it to the CLI version? The full GUI has a menu to enable this so something similar would be ideal.
I can then parse your output to get the info I need.
Very impressive tool!
Zenitram
5th April 2008, 15:55
I'm trying to write an app that detects incompatible mpeg4 video for the sigma designs 8634/8635 set top boxes.
I've played with Media Info a bit, and after reading the source code, I can see it can identify the number of raw frames in AVC data. This will save me writing a lot of code!
Why the count of frames is important for compatibility?
As far as I can see, MediaInfo_Config :: Details contains the flag that will cause the num_ref_frames data to be emitted, but it doesn't appear to be possible to modify this Details variable via the CLI.
This mode is not for normal output, it is for debuging.
It is not available yet with CLI because I didn't think it was useful.
Note: I plan to remove this feature in the next version for speed improvement and DLL size reduction, but this feature will be available in a "debug" version of the DLL.
But: this is not what you want.
You want it like the info about CABAC for AVC, or GMC for MPEG-4 Visual.
This is very easy to add, I just not already did it because I didn't know this is important for compatibility (and all parameters for compatibility are interessant for MediaInfo).
I just need in which field I can add it (beginning with "Format_Settings_*")
I propose "Format_Settings_RefFrames".
It can be done for the next version (next Friday).
Example of output :
Video #0
Codec : AVC
Codec/Family : AVC
Codec/Info : Advanced Video Codec
Codec profile : High@L4.1
Codec settings, CABAC : Yes
Codec settings, RefFrames : 3 frames
Please add a feature request (I must not forgot it in the release :) ):
http://sourceforge.net/tracker/?group_id=86862&atid=581184
Very impressive tool!
I know :p
mrwilby
5th April 2008, 16:23
Why the count of frames is important for compatibility?
It seems that these Sigma Designs 8634/5 devices (PopCornHour, Tvix 6500) cannot handle high number of reference frames in AVC sources. E.g. the 6500 seems to bail out when the reference frame count is above 7 or 8. Presumably this is RAM related, but I'm not very familiar with these specs so I don't know for sure. I did ask in the Syabas forums for some info about the sigma 8634 limitations as far as AVC is confirmed, so hopefully they will respond and provide more details.
On a related note, I think the number of bframes used in the encode is also relevant, but I don't know if that is actually stored somewhere in the AVC info. I noticed it is available in the 'comments' associated with an x264 encode, but it really needs to be in the AVC headers itself somewhere too. I expect its there, I've just not found it yet :)
This mode is not for normal output, it is for debuging.
It is not available yet with CLI because I didn't think it was useful.
Note: I plan to remove this feature in the next version for speed improvement and DLL size reduction, but this feature will be available in a "debug" version of the DLL.
Yes, it looks very much like debug output, but then I think it's also quite useful to see all of this info if you're really hardcore. Will you distribute a debug version of your DLL on sourceforge? The problem for me is that I don't know how to compile your Borland C++ code so I'm currently reliant on what you publish :)
But: this is not what you want.
You want it like the info about CABAC for AVC, or GMC for MPEG-4 Visual.
This is very easy to add, I just not already did it because I didn't know this is important for compatibility (and all parameters for compatibility are interessant for MediaInfo).
I just need in which field I can add it (beginning with "Format_Settings_*")
I propose "Format_Settings_RefFrames".
It can be done for the next version (next Friday).
Example of output :
Video #0
Codec : AVC
Codec/Family : AVC
Codec/Info : Advanced Video Codec
Codec profile : High@L4.1
Codec settings, CABAC : Yes
Codec settings, RefFrames : 3 frames
Please add a feature request (I must not forgot it in the release :) ):
Thanks, that looks useful in the absence of the debug stuff. I will report a feature request now :)
If I hear more from Syabas about the limitations of this chipset, I'll let you know.
Thanks a lot for your quick reply!
vlada
7th April 2008, 17:50
Hi,
while working on my program, I found another problem regarding VOB (MPEG PS) information.
On one of my DVDs there is a VOB which is reported to be 25 hours long. It is in fact less then 1 hour. If I open the VOB in MPC it detects it's length correctly. Here is what MediaInfo says:
General #0
Complete name : D:\VIDEO_TS\VTS_01_3.VOB
Format : MPEG-2 Program
Format/Family : MPEG-2
File size : 1024 MiB
PlayTime : 25h 38mn
Bit rate : 93.1 Kbps
Video #0
Codec : MPEG-2 Video
Codec/Family : MPEG-V
Codec profile : Main@Main
Codec settings, Matrix : Standard
PlayTime : 25h 38mn
Bit rate mode : CBR
Nominal bit rate : 9800 Kbps
Width : 720 pixels
Height : 576 pixels
Display Aspect ratio : 16/9
Frame rate : 25.000 fps
Standard : PAL
Chroma : 4:2:0
Interlacement : Top Field First
Audio #0
Codec : AC3
PlayTime : 25h 38mn
Bit rate mode : CBR
Bit rate : 448 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Rear: L R, LFE
Sampling rate : 48.0 KHz
Video0 delay : -392ms
Audio #1
Codec : AC3
Codec profile : Dolby Digital
PlayTime : 25h 38mn
Bit rate mode : CBR
Bit rate : 192 Kbps
Channel(s) : 2 channels
Channel positions : L R
Sampling rate : 48.0 KHz
Video0 delay : -328ms
Audio #2
Codec : AC3
PlayTime : 25h 38mn
Bit rate mode : CBR
Bit rate : 384 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Rear: L R, LFE
Sampling rate : 48.0 KHz
Video0 delay : -360ms
Text #0
Codec : RLE
PlayTime : 2s 840ms
Video0 delay : -52mn 29s
Text #1
Codec : RLE
PlayTime : 2s 840ms
Video0 delay : -52mn 29s
Text #2
Codec : RLE
PlayTime : 25h 38mn
Video0 delay : 3s 680ms
Text #3
Codec : RLE
PlayTime : 25h 38mn
Video0 delay : 3s 680ms
Menu #0
Codec : DVD-Video
What could be the problem? Can I somehow help you with diagnostincs? Unfortunately it's a 1GB file, so uploading it would a problem.
Btw. the PAR information for MPEG video is still inverted (1/x) in 0.7.6.2 as I reported before.
:thanks:
Zenitram
7th April 2008, 17:54
while working on my program, I found another problem regarding VOB (MPEG PS) information.
On one of my DVDs there is a VOB which is reported to be 25 hours long. It is in fact less then 1 hour.
I already received a file like that.
I didn't have had the time to work on it, but I will correct it ASAP.
Btw. the PAR information for MPEG video is still inverted (1/x) in 0.7.6.2 as I reported before.
Not good, I was sure to have corrected this bug.
I can't currently propose a development snapshot, or patch it qucikly because I am doing some speed improvement in the current code (this is why I am late on the field names changing too), but I will work on it just after.
vlada
7th April 2008, 18:44
No need to hurry, take your time. Thanks a lot for your great support.
Zenitram
12th April 2008, 21:22
I've played with Media Info a bit, and after reading the source code, I can see it can identify the number of raw frames in AVC data. This will save me writing a lot of code!
The count of Ref Frames for AVC in MPEG-PS or AVI or MKV is now available in new version 0.7.6.3
Note: other things discussed in this topic are unfortunatly not yet implemented, I had to change my priorities. But this is not forgotten.
(vlada: the bug of MPEG playtime should be fixed too, but I am not sure I have handled all cases).
vlada
15th April 2008, 13:02
Hi Zenitram,
unfortunately in the GUI version I still get the same incorrect playtime for the one VOB file.
Unfortunately the .dll version I use in my program now stopped reporting playtime. It retunrs an empty string for MI.Get("Stream_Video", 0, u"Playtime", "Info_Text", "Info_Name") for any input file. Other parameters are identified correctly. Have you changed something in PlayTime reporting behaviour in you DLL?
Thank you.
Zenitram
15th April 2008, 13:07
Hi Zenitram,
unfortunately in the GUI version I still get the same incorrect playtime for the one VOB file.
Unfortunately the .dll version I use in my program now stopped reporting playtime. It retunrs an empty string for MI.Get("Stream_Video", 0, u"Playtime", "Info_Text", "Info_Name") for any input file. Other parameters are identified correctly. Have you changed something in PlayTime reporting behaviour in you DLL?
Thank you.
No, I changed nothing.
This is normal that old "11 hours" files reports nothing now (This was a parsing error, I disabled it, and I didn't yet find why there is no playtime), but if there is something in the GUI, MI.Get(Stream_Video, 0, "Playtime") should return the playtime.
Ah, this is maybe because the specific playtime of a video is often absent (and I report it wrongly before), try MI.Get(Stream_General, 0, "Playtime") instead.
I will work on MPEG-PS/TS playtime later, for a better handling of it (per stream, and more precise), but I currently not have the time for this.
mrwilby
15th April 2008, 19:46
Zenitram, thanks for the ref frames option. I'll check it out.
Any possibility to get the number of bframes in AVC media in there too? ;-)
Many thanks for your efforts!
Zenitram
16th April 2008, 09:21
Any possibility to get the number of bframes in AVC media in there too? ;-)
For saying if Bframes are used or not, I have currently not found the bitstream flags which says this (for example, this is the flag "low_delay" in MPEG-4 Visual).
For saying the count of Bframes: not currently, because I currently only parse the headers (seq_parameter_set, pic_parameter_set, sei), I don't parse every frame for knowing if it is a bframe or not. Maybe later, but... a lot later, this is not the priority (I must add a "slow" option, which will activate MediaInfo for parsing all the file etc...)
Atak_Snajpera
26th April 2008, 17:44
Zenitram
How to get audio bitrate in new version?
MediaInfoA_Get(Handle_, 2, 0, 'Bitrate', 1, 0);
Does not work any more :(
Zenitram
26th April 2008, 17:50
How to get audio bitrate in new version?
MediaInfoA_Get(Handle_, 2, 0, 'Bitrate', 1, 0);
Does not work any more :(
I changed nothing since a long time about the interface...
"BitRate" with uppercased "R".
Atak_Snajpera
26th April 2008, 17:59
Thanks! It is working now :) Weird...old version worked with small 'r'...
Kurtnoise
26th April 2008, 18:06
I changed nothing since a long time about the interface...
and what about "Encoded_Application" ? I've several mp4 files where "Encoded_Application" returns nothing when I call it directly whereas we can see it in the Global parsing...
Zenitram
28th April 2008, 12:03
and what about "Encoded_Application" ? I've several mp4 files where "Encoded_Application" returns nothing when I call it directly whereas we can see it in the Global parsing...
I changed nothing too.
Send me an example file, I will check.
Kurtnoise
28th April 2008, 16:38
Ok, I'll upload some files tonight...
btw one minor thing,
x: XviD CodecID was redirected on Koepi website, no more available, changed to official XviD webpage
you should read more carefully the xvid section from here...;)
>> http://www.koepi.info/
GrofLuigi
28th April 2008, 17:30
Media Info GUI for Win32 (without installer) downloaded from SourceForge versions 0.7.6.3 and 0.7.6.4 crash when used from SendTo menu. Consistently, every time. Version 0.7.6.2 works fine.
Sorry if this is not place for bug report.
GL
Zenitram
28th April 2008, 17:41
Media Info GUI for Win32 (without installer) downloaded from SourceForge versions 0.7.6.3 and 0.7.6.4 crash when used from SendTo menu. Consistently, every time. Version 0.7.6.2 works fine.
Hum.
What do you mean "SendTo" menu?
MediaInfo registers for the "Open with..." command (right click on a file), but do not register for the "send to" part on this popup menu (Send to... Desktop, My documents...) so I don't really understand where the problem comes from.
I tested with the "Open with", I have no problem (WinXP SP2), does anyone else has this problem?
Sorry if this is not place for bug report.GL
I prefer bugs reports in Sourceforge:
http://sourceforge.net/tracker/?group_id=86862&atid=581181
But this is not a big problem.
vlada
30th April 2008, 02:43
I have a strange problem which appeared with version 0.7.6.4 (didn't exist in 0.7.6.2, I haven't tested 0.7.6.3 yet).
In my application I open video with MI.Open("filename"). Then I close the file with MI.Close(). When I want to open next file my application (whole Python) crashes. If I don't use MI.Close(), then everything seems to work fine.
So I'm wondering, will it hurt anything if I don't use MI.Close()? According to the documentation it is only needed when opening a list of files. Did I understand it correctly? Thanks.
GrofLuigi
30th April 2008, 04:54
Hum.
What do you mean "SendTo" menu?
Unpack the application in a folder in %programfiles% dir. Create a shortcut to MediaInfo.exe, move it to %userprofile%\SendTo. It worked flawlessly for years.
GL
Zenitram
30th April 2008, 20:56
I released a test version for improving the user interface: changing text, name of formats, Chroma --> Colorimetry, PlayTime --> Duration, removing "#0" and so on...
Based on your feedback in this thread.
Please test it:
http://downloads.sourceforge.net/mediainfo/MediaInfo_20080430_GUI_Win32_WithoutInstaller.7z
And give me some feedback about it.
One example with AVI/MPEG-4 Visual/two AC-3 for audio:
General
Complete name : xxx.divx
Format : DivX
Format/Info : Hack of AVI
File size : 10.0 MiB
Duration : 45s 200ms
Bit rate : 1862 Kbps
Stream size : 110 KiB
Video
Format : MPEG-4 Visual
Format profile : Simple@L3
Format settings, Packet bits : No
Format settings, BVOP : No
Format settings, QPel : No
Format settings, GMC : 0
Format settings, Matrix : Default
Duration : 45s 200ms
Bit rate : 885 Kbps
Width : 720 pixels
Height : 400 pixels
Display aspect ratio : 16/9
Frame rate : 25.000 fps
Resolution : 8 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.123
Stream size : 4.77 MiB
Title : Video
Writing library : XviD 1.1.0Beta2
Writing library/Date : UTC 2005-04-04
Audio #1
Format : AC-3
Format/Info : Audio Coding 3
Duration : 45s 60ms
Bit rate mode : CBR
Bit rate : 384 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Rear: L R, LFE
Sampling rate : 48.0 KHz
Stream size : 2.06 MiB
Title : Audio
Audio #2
Format : AC-3
Format/Info : Audio Coding 3
Duration : 45s 60ms
Bit rate mode : CBR
Bit rate : 384 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Rear: L R, LFE
Sampling rate : 48.0 KHz
Stream size : 2.06 MiB
Title : Audio
One example with mp4/AVC/MPEG Audio:
General
Complete name : xxx.mp4
Format : MPEG-4
Format profile : Base Media
File size : 7.43 MiB
Duration : 53s 803ms
Bit rate : 1158 Kbps
Stream size : 25.9 KiB
Encoded date : UTC 2008-02-15 07:23:22
Tagged date : UTC 2008-02-15 07:23:22
Video
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 3
Duration : 53s 803ms
Bit rate mode : VBR
Bit rate : 902 Kbps
Maximum bit rate : 2748 Kbps
Width : 720 pixels
Height : 480 pixels
Display aspect ratio : 4/3
Frame rate mode : CFR
Frame rate : 23.976 fps
Standard : NTSC
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.109
Stream size : 5.78 MiB
Encoded date : UTC 2008-02-15 07:23:22
Tagged date : UTC 2008-02-15 07:23:22
Audio
Format : MPEG Audio
Format profile : Version 1
Duration : 53s 784ms
Bit rate mode : VBR
Bit rate : 252 Kbps
Maximum bit rate : 270 Kbps
Channel(s) : 2 channels
Sampling rate : 48.0 KHz
Resolution : 16 bits
Stream size : 1.62 MiB
Language : English
Encoded date : UTC 2008-02-15 07:23:22
Tagged date : UTC 2008-02-15 07:23:22
Note: I will try to reply to question from vlada and GrofLuigi later during the Week end.
This looks very nice. Thank you.
Just a short comment to the first example. I think that GMC should be of boolean type (yes/no), while BVOP should be integer (number of consecutive B-frames).
Zenitram
1st May 2008, 08:25
Just a short comment to the first example. I think that GMC should be of boolean type (yes/no), while BVOP should be integer (number of consecutive B-frames).
GMC is the "no_of_sprite_warping_points", it is usually 0 (no GMC), 1 (DivX) or 3 (XviD). This is important to know this number, some hardware players support GMC1 but not GMC3.
For BVOP, I currently only say if there is BVOPs or not (if I see BVOP in the first 10 seconds of scanning). I didn't know how to have the max count of consecutive B-frames in the stream header (for example, in AVC the Number of Ref Frames is in the header, so I can't easily show it...), and I don't currently want to scan the whole file for finding this value.
Thanks for clearing this up. It really makes sense.
Maybe you could get the information about the number of consecutive B-frames also by scanning the first 10 seconds. It should be enough to judge for 99,9% of files.
I have a serious problem with the latest version and reading Duration (PlayTime) of a video. In my application I use MI.Get("Stream_Video", 0, "Duration", "Info_Text", "Info_Name"). At this line my program exits without any errors. I have no problems with older versions and "PlayTime". If you couldn't find what causes the problem, I could create a sample Python script which demonstrates it.
Atak_Snajpera
3rd May 2008, 20:47
This stream is not detected correctly:
http://x264.nl/h.264.samples/force.php?file=./may.2008/itv.h.264.1440x1080.ts
Zenitram
4th May 2008, 18:29
I could create a sample Python script which demonstrates it.
Please, do it.
You can contact me at zen@mediaarea.net for providing me a example, I will use debug version of the DLL for finding where is the problem.
Zenitram
4th May 2008, 18:38
This stream is not detected correctly:
http://x264.nl/h.264.samples/force.php?file=./may.2008/itv.h.264.1440x1080.ts
This file has no PMT, this is not a normal MPEG-TS file.
(streams can be detected only if they are annonced, this ts file annonces 10 programs in he PAT, but none of theses 10 programs has a PMT... So I can't know if the stream will be a standard PES, private stream or other...)
Zenitram
4th May 2008, 19:00
Unpack the application in a folder in %programfiles% dir. Create a shortcut to MediaInfo.exe, move it to %userprofile%\SendTo. It worked flawlessly for years.
This is maybe the same problem than with vlada.
I will try to work with him on the crash problem, and I propose you test the version after, and say me if you always have a problem.
GrofLuigi
5th May 2008, 01:18
This is maybe the same problem than with vlada.
I will try to work with him on the crash problem, and I propose you test the version after, and say me if you always have a problem.
I always test new versions. :) I'm in no rush, will do everything you say. Just wish I could have more knowledge to help you more.
GL
Zenitram> I've been without Internet during the weekend, so I couldn't reply sooner. I sent you an email with a very simple code example which shows the problem.
Zenitram
5th May 2008, 21:31
Media Info GUI for Win32 (without installer) downloaded from SourceForge versions 0.7.6.3 and 0.7.6.4 crash when used from SendTo menu. Consistently, every time. Version 0.7.6.2 works fine.GL
The problem of vlada seems to be corrected in the last development snapshot, please test it:
http://downloads.sourceforge.net/mediainfo/MediaInfo_20080505_GUI_Win32_WithoutInstaller.7z
I hope it was the same problem!
GrofLuigi
5th May 2008, 23:21
The problem of vlada seems to be corrected in the last development snapshot, please test it:
http://downloads.sourceforge.net/mediainfo/MediaInfo_20080505_GUI_Win32_WithoutInstaller.7z
I hope it was the same problem!
No, unfortunately.
MediaInfo.exe - Application Error
The exception unknown software exception (0xc000000d) occurred in the application at location 0x100c52be...
I guess it comes before any processing, because it appears on any file I click (sendto), even .txt.
*edit* Or not... If I open MediaInfo directly, it doesn't crash, but as soon as I use 'file/open/file' menu from it AND load the file (any file), then it crashes.
GL
Zenitram
6th May 2008, 18:30
*edit* Or not... If I open MediaInfo directly, it doesn't crash, but as soon as I use 'file/open/file' menu from it AND load the file (any file), then it crashes.
This is different ;-)
Please test:
http://downloads.sourceforge.net/mediainfo/MediaInfo_20080506_GUI_Win32_WithoutInstaller.7z
I just corrected a crash for another guy, so it may be OK for you too.
If not, contact me directly, I will provide you debug versions of the DLL for testing purpose.
GrofLuigi
7th May 2008, 02:06
This is different ;-)
Please test:
http://downloads.sourceforge.net/mediainfo/MediaInfo_20080506_GUI_Win32_WithoutInstaller.7z
I just corrected a crash for another guy, so it may be OK for you too.
If not, contact me directly, I will provide you debug versions of the DLL for testing purpose.
Doesn't crash! And it seems to work faster too. :)
Thank you.
GL
Zenitram
8th May 2008, 08:36
And it seems to work faster too. :)
Since 0.7.6.4, I compile without the "very detailled" parsing, so yes, this should be quicker :)
gamiras
8th May 2008, 11:46
Hi, Zenitram.
I have a question. Why are unicode paths can't be sent from command line, while they are accessible from menu (File > Open...)? Is MediaInfo supposed to fully support unicode? Thanks.
Zenitram
8th May 2008, 12:00
I have a question. Why are unicode paths can't be sent from command line, while they are accessible from menu (File > Open...)?
It does, at least on my (French) WinXP. There is currently a bug reported by a chinese guy on Linux, I am trying to repair it (multi-OS support for this kind of stuff is awful :) )
I just tested with MediaInfo "C:\Unicode test - αβγδεζηθικλμνξοπρςστυφχψω\Unicode test - αβγδεζηθικλμνξοπρςστυφχψω.mp3" (with the help of the first letter and "Tab" key for Windows Command line auto-completion, because I can't write the name of this file directly with my keyboard), and it is OK.
Anyway, at least on my OS, the Windows command line can't show unicode letters, so this is a little hard to well handle this.
Is MediaInfo supposed to fully support unicode? Thanks.
I try to have a Unicode fully supported, a lot of my users are in east of Europe or Asia (Anonymous stats from Windows GUI say 55% Europe, 20% Asia, and only 15% from Nord america...), so a lot of non-latin based languages...
Atak_Snajpera
24th May 2008, 14:25
I have a question.
Why
MediaInfoA_Get(Handle_, 1, 0, 'Codec/String', 1, 0);
gives me On2 VP6 instead of just VP6?
The same applies to Sorenson h263 instead of h.263
General
Complete name : D:\_Video_Samples\flv\Game Time 21.flv
Format : Flash Video
File size : 265 MiB
Duration : 28mn 45s
Overal bit rate : 1289 Kbps
Video
Format : VP6
Duration : 28mn 45s
Bit rate : 1000 Kbps
Width : 720 pixels
Height : 576 pixels
Display aspect ratio : 5/4
Frame rate : 25.000 fps
Standard : PAL
Bits/(Pixel*Frame) : 0.096
Audio
Format : MPEG Audio
Format version : Version 1 / Layer 3
Format profile : Version 1 / Layer 3
Duration : 28mn 45s
Bit rate mode : CBR
Bit rate : 256 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Resolution : 16 bits
Video delay : -218ms
Zenitram
24th May 2008, 16:38
I have a question.
Why
MediaInfoA_Get(Handle_, 1, 0, 'Codec/String', 1, 0);
gives me On2 VP6 instead of just VP6?
The same applies to Sorenson h263 instead of h.263
Starting 0.7.7.0, I changed the interface a little (see the warning in History.txt...) for being more precise.
I kept the old "Codec/String" field as before for the DLL (hidden in the GUI).
What you see in the GUI now is no more "Codec/String" field, but "Format" field (for example, no more "DivX" in this field, but "MPEG-4 Visual", "VP6" alone instead of "On2 VP6"...)
stax76
29th May 2008, 14:51
I don't know the proper C terms if there are any, some explanations would be very nice, I wonder if the sample code leaks memory? For instance the following code:
Function Inform() As String
Return Marshal.PtrToStringUni(MediaInfo_Inform(Handle, 0))
End Function
From the docu for PtrToStringUni: Since this method creates a copy of the unmanaged string's contents, you must free the original string as appropriate.
Zenitram
29th May 2008, 14:59
From the docu for PtrToStringUni: Since this method creates a copy of the unmanaged string's contents, you must free the original string as appropriate.
If I understand well, you say I must manage the C string.
I do it: at each call to MediaInfo, my routine delete the old string pointer (this is a pointer to a std::string, so the std::string is cleared) and alocate a new one for the new call. No leak from the DLL.
Or I misunderstood what you say, and I must to something with the result of PtrToStringUni (so... the other side)?
stax76
29th May 2008, 15:08
I thought the caller is responsible for freeing the memory, don't know if this would even be possible, if you free it then it's all good.
Zenitram
29th May 2008, 15:14
I thought the caller is responsible for freeing the memory, don't know if this would even be possible, if you free it then it's all good.
I should let the caller manage the memory, but so many "programmer newbies" use the DLL, and forget always to manage memory. I prefer to avoid memory leaks, so I manage it: copy in a format from the caller language, and manage my C++ code. And much: this avoid a unuseful copy (Usualy, this is a pointer to my internal string, which I keep as long as the object is not released), so more speed ;-)
Only one rule: pointer to strings must be used only after the call, not after n calls (which is merely always the case, thanks to the copy in the caller language)
Anyway, this is maybe not the best place for discuting about programming ;-)
stax76
29th May 2008, 15:29
Looks a bit unusual as I've not seen it before and thus I was confused but now that you've explained, it all makes sense, thanks.
stax76
11th June 2008, 11:16
I might have ask this before but it's been a long time, I can't remember. AutoGK displays if a subtitle is wide or letterbox, is this information located in the ifo file and if so can MediaInfo provide this information?
I've uploaded the ifo file here (http://www.mediafire.com/?cvdvgxem02z).
http://planetdvb.net/non_drupal/images/AutoGK_wide_letterbox.png
Zenitram
11th June 2008, 15:48
AutoGK displays if a subtitle is wide or letterbox, is this information located in the ifo file and if so can MediaInfo provide this information?
It seems to be located in the ifo, but I don't know what to do with this information.
With your example, 5 subpicture streams are registered (0 to 4).
00000254 Text streams - 5 streams (192 bytes)
00000254 number of subpicture streams in VMGM_VO5 (5)
00000256 Text (6 bytes)
00000256 Coding mode: 0 (0) - 2-bit RLE
00000256 Reserved: 0 (0)
00000256 Language type: 1 (1) - 2CC
00000257 Reserved: 0 (0)
00000258 Language code: de
0000025B Language extension: 1 (1) - Normal
0000025C Text (6 bytes)
0000025C Coding mode: 0 (0) - 2-bit RLE
0000025C Reserved: 0 (0)
0000025C Language type: 1 (1) - 2CC
0000025D Reserved: 0 (0)
0000025E Language code: en
00000261 Language extension: 1 (1) - Normal
00000262 Text (6 bytes)
00000262 Coding mode: 0 (0) - 2-bit RLE
00000262 Reserved: 0 (0)
00000262 Language type: 1 (1) - 2CC
00000263 Reserved: 0 (0)
00000264 Language code: de
00000267 Language extension: 2 (2) - Large
00000268 Text (6 bytes)
00000268 Coding mode: 0 (0) - 2-bit RLE
00000268 Reserved: 0 (0)
00000268 Language type: 1 (1) - 2CC
00000269 Reserved: 0 (0)
0000026A Language code: de
0000026D Language extension: 0 (0) -
0000026E Text (6 bytes)
0000026E Coding mode: 0 (0) - 2-bit RLE
0000026E Reserved: 0 (0)
0000026E Language type: 1 (1) - 2CC
0000026F Reserved: 0 (0)
00000270 Language code: en
00000273 Language extension: 0 (0) -
Two of them have a "Normal" extension, one of them has a "Large" extension and two of them are unspecified.
For the first PGC (the longer one, 2h21mn), I have this for stream control:
00001034 Subpicture Stream Controls (128 bytes)
00001034 Subpicture Stream Control - 0 (4 bytes)
00001034 stream available: Yes
00001034 Stream number for 4/3: 0 (0)
00001035 Stream number for Wide: 0 (0)
00001036 Stream number for Letterbox: 1 (1)
00001037 Stream number for Pan&Scan: 0 (0)
00001038 Subpicture Stream Control - 1 (4 bytes)
00001038 stream available: Yes
00001038 Stream number for 4/3: 0 (0)
00001039 Stream number for Wide: 2 (2)
0000103A Stream number for Letterbox: 3 (3)
0000103B Stream number for Pan&Scan: 0 (0)
0000103C Subpicture Stream Control - 2 (4 bytes)
0000103C stream available: Yes
0000103C Stream number for 4/3: 0 (0)
0000103D Stream number for Wide: 4 (4)
0000103E Stream number for Letterbox: 5 (5)
0000103F Stream number for Pan&Scan: 0 (0)
00001040 Subpicture Stream Control - 3 (4 bytes)
00001040 stream available: Yes
00001040 Stream number for 4/3: 0 (0)
00001041 Stream number for Wide: 6 (6)
00001042 Stream number for Letterbox: 7 (7)
00001043 Stream number for Pan&Scan: 0 (0)
00001044 Subpicture Stream Control - 4 (4 bytes)
00001044 stream available: Yes
00001044 Stream number for 4/3: 0 (0)
00001045 Stream number for Wide: 8 (8)
00001046 Stream number for Letterbox: 9 (9)
00001047 Stream number for Pan&Scan: 0 (0)
And I don't know what to do with this (especialy with "0" number, is it for "nothing" or is it the first stream number?), and how it should be displayed by MediaInfo (one "stream" per form, a field with "Wide" or "Letterbox" in it, other?)
If I can understand what is it, I could integrate it, but I don't currently understand what it is...
ghostonline
15th June 2008, 20:44
have a mkv file
generated by mediainfo 0.7.7.2
Codec : AVC
Codec/Family : AVC
Codec/Info : Advanced Video Codec
Codec profile : High@L5.1
Codec settings, CABAC : Yes
Codec_Settings_RefFrames : 5
PlayTime : 23mn 11s
Nominal bit rate : 3800 Kbps
Width : 1920 pixels
Height : 1080 pixels
Display Aspect ratio : 16/9
Frame rate : 23.976 fps
Chroma : 4:2:0
Interlacement : Progressive
Bits/(Pixel*Frame) : 0.076
Writing library : x264 - core 58 svn-736M
Encoding settings : cabac=1 / ref=5 /
deblock=1:0:0 / analyse=0x3:0x133 / me=esa / subme=7 /
me-prepass=0 / brdo=1 / mixed_ref=1 / me_range=16 /
chroma_me=1 / trellis=0 / 8x8dct=1 / cqm=0 /
deadzone=21,11 / chroma_qp_offset=0 / threads=6 / nr=0
/ decimate=1 / mbaff=0 / bframes=5 / b_pyramid=1 /
b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / bime=1 /
keyint=480 / keyint_min=24 / scenecut=40(pre) / rc=abr
/ bitrate=3800 / ratetol=1.0 /
rceq='blurCplx^(1-qComp)' / qcomp=1.00 / qpmin=1 /
qpmax=20 / qpstep=4 / ip_ratio=1.40 / pb_ratio=1.30 /
aq=1:0.5:13.0
Language : Japanese
the author of this mkv file claims that Mediainfo is not accurate at all.
he also said the file is encoded as L4.1 and is DXVA compatible . I tried on four different hardware setup, none of them was able to decode this mkv in DXVA.
I am here asking for suggestion and possible ways to determine the "so-called actual" encode setting for a mkv file.
Zenitram
15th June 2008, 21:23
the author of this mkv file claims that Mediainfo is not accurate at all.
he also said the file is encoded as L4.1 and is DXVA compatible . I tried on four different hardware setup, none of them was able to decode this mkv in DXVA.
So, I would say with what you say that he is wrong, not MI ;-)
If he does not know how to encode a video, this is not my fault! :-D
I am here asking for suggestion and possible ways to determine the "so-called actual" encode setting for a mkv file.
With the output of MediaInfo, I can read that "encoded settings" are coherant with what I deduced from the analysing of the file (the string is the x264 string, you can find it in the file, I do not invent it), as CABAC/ RefFrames / etc... If you send me the beginning of the file, I can say you axactly the byte offset (and the bit offset too :) ) saying that the level is 5.1...
Debug trace is currently not compiled in the official release, but I can provide a version with the trace like this (from AVC in MKV, level 4.1):
0000115A CodecPrivate (41 bytes)
0000115A Header (3 bytes)
0000115A Name: 23A2 (9122)
0000115C Size: 26 (38)
0000115D Specific (38 bytes)
0000115D Header (0 bytes)
0000115D Reserved: 1 (1)
0000115E Profile: 64 (100)
0000115F Reserved: 0 (0)
00001160 Level: 29 (41)
00001161 Reserved: 3F (63)
00001161 Size of NALU length minus 1: 3 (3)
00001162 Reserved: 7 (7)
00001162 seq_parameter_set count: 1 (1)
00001163 seq_parameter_set (25 bytes)
00001163 Size: 17 (23)
00001165 nal_ref_idc: 3 (3)
00001165 nal_unit_type: 7 (7)
00001166 profile_idc: 64 (100)
00001167 constraints (1 bytes)
00001167 constraint_set0_flag: No
00001167 constraint_set1_flag: No
00001167 constraint_set2_flag: No
00001167 constraint_set3_flag: No
00001167 reserved_zero_4bits: No
00001167 reserved_zero_4bits: No
00001167 reserved_zero_4bits: No
00001167 reserved_zero_4bits: No
00001168 level_idc: 29 (41)
00001169 seq_parameter_set_id: 0 (0)
00001169 high profile specific (1 bytes)
00001169 chroma_format_idc: 1 (1) - 4:2:0
00001169 bit_depth_luma_minus8: 0 (0)
00001169 bit_depth_Colorimetry_minus8: 0 (0)
00001169 qpprime_y_zero_transform_bypass_flag: No
00001169 seq_scaling_matrix_present_flag: No
0000116A log2_max_frame_num_minus4: 5 (5)
0000116A pic_order_cnt_type: 0 (0)
0000116B log2_max_pic_order_cnt_lsb_minus4: 6 (6)
0000116B num_ref_frames: 3 (3)
0000116C gaps_in_frame_num_value_allowed_flag: No
0000116C pic_width_in_mbs_minus1: 2C (44)
0000116E pic_height_in_map_units_minus1: 1D (29)
0000116E frame_mbs_only_flag: Yes
0000116E direct_8x8_inference_flag: Yes
0000116E frame_cropping_flag: No
0000116F vui_parameters_present_flag (13 bytes)
0000116F vui_parameters_present_flag: Yes
0000116F aspect_ratio_info_present_flag: No
0000116F overscan_info_present_flag: No
0000116F video_signal_type_present_flag: No
0000116F chroma_loc_info_present_flag: No
0000116F timing_info_present_flag (9 bytes)
0000116F timing_info_present_flag: Yes
0000116F num_units_in_tick: 3E9 (1001)
00001173 time_scale: BB80 (48000)
00001177 fixed_frame_rate_flag: Yes
00001177 nal_hrd_parameters_present_flag: No
00001178 vcl_hrd_parameters_present_flag: No
00001178 pic_struct_present_flag: No
00001178 bitstream_restriction_flag (4 bytes)
00001178 bitstream_restriction_flag: Yes
00001178 motion_vectors_over_pic_boundaries_flagYes
00001178 max_bytes_per_pic_denom: 0 (0)
00001178 max_bits_per_mb_denom: 0 (0)
00001179 log2_max_mv_length_horizontal: B (11)
0000117A log2_max_mv_length_vertical: B (11)
0000117A num_reorder_frames: 2 (2)
0000117B max_dec_frame_buffering: 3 (3)
0000117C pic_parameter_set count: 1 (1)
0000117D pic_parameter_set (6 bytes)
0000117D Size: 4 (4)
0000117F nal_ref_idc: 3 (3)
0000117F nal_unit_type: 8 (8)
00001180 pic_parameter_set_id: 0 (0)
00001180 seq_parameter_set_id: 0 (0)
00001180 entropy_coding_mode_flag: Yes
00001180 pic_order_present_flag: No
00001180 num_slice_groups_minus1: 0 (0)
00001180 num_ref_idx_l0_active_minus1: 0 (0)
00001180 num_ref_idx_l1_active_minus1: 0 (0)
00001180 weighted_pred_flag: No
00001181 weighted_bipred_idc: 2 (2)
00001181 pic_init_qp_minus26: FFFFFFFE (-2)
00001181 pic_init_qs_minus26: 0 (0)
00001182 chroma_qp_index_offset: 0 (0)
00001182 deblocking_filter_control_present_flag: Yes
00001182 constrained_intra_pred_flag: No
00001182 redundant_pic_cnt_present_flag: No
00001182 transform_8x8_mode_flag: Yes
00001182 pic_scaling_matrix_present_flag: No
00001182 second_Colorimetry_qp_index_offset: 0 (0)
If MediaInfo is wrong, the parsing of the SQS/PPS should be wrong... So yo usee easily who is right! ;-)
ghostonline
15th June 2008, 21:47
1st, thanks for replying so fast! :)
I think the mkv author made a mistake, but i have no way to prove it. the only software i use to show the encode setting is Mediainfo--- which he said it is not accurate at all. I am here trying to find some black&white idiot-proof way to show people that the file's encode setting, in such way that no one is able to argue its accuracy &validity.
Sorry, not really into the encoding world. I am not exactly sure about what do you mean by "beginning of the file". is that something from the mediainfo or something extracted from the actual mkv file?...
==============
http://www.mediafire.com/?n4j7g4lvzts
I am not sure if this is what you need..
Zenitram
15th June 2008, 23:32
Sorry, not really into the encoding world. I am not exactly sure about what do you mean by "beginning of the file". is that something from the mediainfo or something extracted from the actual mkv file?...
This is exactly what you gave me, don't worry.
Here is the trace, see offsets 0x1116 and 0x111E for the level (it is given twice, and twice 5.1...):
(in attachement, or http://www.mediafire.com/?kcd4xvmgdy2 )
This is the exact trace, from the AVC specifications, bit per bit, with no problems (at least in the AVC headers, SPS/PPS), if he does not want to accept this, I can't do anything for him... Whatever is his encoding setting, a decoder will see the exact same than me.
Note: I heard that default configuration of x264 (the encoder) is Level 5.1, so the trace is for me very normal.
ghostonline
15th June 2008, 23:50
This is exactly what you gave me, don't worry.
Here is the trace, see offsets 0x1116 and 0x111E for the level (it is given twice, and twice 5.1...):
(in attachement)
This is the exact trace, from the AVC specifications, bit per bit, with no problems (at least in the AVC headers, SPS/PPS), if he does not want to accept this, I can't do anything for him... Whatever is his encoding setting, a decoder will see the exact same than me.
Note: I heard that default configuration of x264 (the encoder) is Level 5.1, so the trace is for me very normal.
thanks!, while still waiting for the pending attachment, i will look around for some more suggestion.
btw, do you know which sub-forum is the right place to ask a question like "ways to check mkv file's encode setting" or is there someone around here that you know i can ask such question:thanks:
Zenitram
16th June 2008, 08:38
btw, do you know which sub-forum is the right place to ask a question like "ways to check mkv file's encode setting" or is there someone around here that you know i can ask such question:thanks:
MKV has no encoding settings, because this is a container (no encoding, but muxing...)
You can use the mkv tools for demuxing (having a raw AVC stream) and analyze with AVC tools (but I don't know them), and/or ask on the AVC subforum.
Note: I added a link to elsewhere for the attachement, quicker.
vlada
16th June 2008, 10:16
ghostonline
I don't know much about x264 encoder settings, but you might get some useful information in this thread (http://forum.doom9.org/showthread.php?t=132924). It is about recommended settings for x264 to achieve DXVA compatibility. Now compare them to the settings used to encode your file.
There is probably something wrong. Maybe 5 b-frames are too much? I don't know. But people in the thread I linked to should be able to help you.
unskinnyboy
16th June 2008, 18:23
Zenitram, I have some feature requests for the specs MediaInfo reports and hence the export format fields (additions & modifications).
Background - GSpot used to be my weapon of choice, but stegre (GSpot developer) seems to be no longer around and the GSpot export format haven't been updated since Aug '06. I've been told that you are quite fast in responding to user requests and implementing them, so I'm turning to you. :)
OK, so here is what I am looking for, to be reported and exported -
Container details - container type (e.g. OpenDML (AVI v2.0)), video %, audio % and AVI overhead.
Aspect ratio of the video in ratio (fractional) format (e.g. 4:3, 5:2 etc.).
Channel distribution information for AC3/DTS (e.g. 3/2.1, 2/0, 1/0 etc.).
Preload/Interleave values for the audio stream.
Information as to whether the AC3/DTS streams are aligned on or split across interleaves.
The above are all values which GSpot currently displays on the GUI, but is incapable of exporting most of them. MediaInfo, currently, doesn't display any of these.
...and some more:
Is it possible to add an option under Options -> Preferences to always export the specs to a particular file, instead of me manually pressing buttons to export it every single time?
Is there a way to specify a custom format for the export other than the default format? For e.g. in GSpot, if I say
Video: %VIDEO_CODEC_TYPE% @ ~%VIDEO_BITRATE% kbps
I get the output as
Video: XviD ISO MPEG-4 @ ~1144 kbps
I've been told that the same is possible in MediaInfo, but I haven't been able to figure out how.
MediaInfo can't remember my export format file name and directory and keep resetting it to C:\Program Files\MediaInfo\Example.txt. Can this be fixed?
When reporting the file sizes, any particular reason you are reporting them in kibibytes, mebibytes & gibibytes, as opposed to the common kilobytes, megabytes & gigabytes? Can you add an option to switch to the latter if the user wants to?
Let me know if my requests makes sense and/or if you need more info about any of those (you may have to get GSpot to visualize some of them to get a better idea of what I am asking, or I can post screenshots if you like). Also let me know if you'd rather have me open a feature request on Sourceforge?
Thanks in advance.
Eragon4ever
16th June 2008, 20:09
When reporting the file sizes, any particular reason you are reporting them in kibibytes, mebibytes & gibibytes, as opposed to the common kilobytes, megabytes & gigabytes? Can you add an option to switch to the latter if the user wants to?
Have you ever compared the values Windows and MediaInfo report? They are (nearly) the same. Mebibytes are the common ones, it's just that most people call them megabytes.
http://en.wikipedia.org/wiki/Byte#Names_for_different_units
vlada
16th June 2008, 20:26
Is there a way to specify a custom format for the export other than the default format?
Use parameter --Inform=file://Example.csv "TEST.EVO". You can find examples of some .csv files in Plugin\Custom\ directory. I hope this is what you're looking for.
Zenitram> As for the DVD subtitles information parsing, this is what I know:
Subtitles can be associate to 3 different schemes: 16:9 (wide), letterbox and pan&scan (crop). You can have one stream associated to more playback setups. If you look at Muxman, what options it gives. It's author (mpucoder (http://forum.doom9.org/member.php?u=78)) should be able to answer any question regarding IFO parsing.
Some time ago I started a thread about DVD playback (http://forum.doom9.org/showthread.php?t=110830), which might be quite informative (I hope).
Zenitram
16th June 2008, 21:27
I've been told that you are quite fast in responding to user requests and implementing them, so I'm turning to you.
Spread the message at the maximum, maximum links on my website :devil:
But be warned: I implement quickly what I know to do quickly, and days are only 24 hours, a lot of feature request may be very long to implement (see the feature request list on Sourceforge...)
Container details - container type (e.g. OpenDML (AVI v2.0)), video %, audio % and AVI overhead.
Feature request (one for extended format detection, on for % of each stream), quick implementation for both.
Aspect ratio of the video in ratio (fractional) format (e.g. 4:3, 5:2 etc.).
Already done, example:
"Display aspect ratio : 16/9"
(5/4, 4/3, 16/9, 2.20, 2.25, 2.35 "standart" AR are implemented)
Channel distribution information for AC3/DTS (e.g. 3/2.1, 2/0, 1/0 etc.).
Implemented differently, but already done, example:
"Channel positions : Front: L C R, Surround: L R, LFE"
(so... This is 3/2.1 ;-) )
I could with not a lot of problem implement "3/2.1", but is it really useful if you already have what is given by MI?
(anyways, if I implement it, It will be hidden by default, you will have to activate it by the "advanced mode")
Preload/Interleave values for the audio stream.
Like "Interleave: 1 vid frame (40 ms)"?
Feature request, quick implementation if you give me example of files which have more than 1 vid frame interleave (I only have 1 vid frame interleave files!)
Information as to whether the AC3/DTS streams are aligned on or split across interleaves.
Feature request, quick implementation if you give me example of files which are not aligned on interleaves (I only have aligned on interleaves files!)
Is it possible to add an option under Options -> Preferences to always export the specs to a particular file, instead of me manually pressing buttons to export it every single time?
Feature request, slow implementation (I want to develop a new interface, based on WxWidgets, for cross-platform GUI, so I don't want to do something on the GUI before I have this cross-platform GUI.)
Is there a way to specify a custom format for the export other than the default format? For e.g. in GSpot, if I say
Video: %VIDEO_CODEC_TYPE% @ ~%VIDEO_BITRATE% kbps
I get the output as
Video: XviD ISO MPEG-4 @ ~1144 kbps
I've been told that the same is possible in MediaInfo, but I haven't been able to figure out how.
Like this? ;-)
Config : "Video: %Format%[ (%CodecID/Hint%)][ @ ~%BitRate/String%]"
Result: "Video: MPEG-4 Visual (XviD) @ ~1144 Kbps"
In the GUI, this is the custom view (you can customize in the preferences), and vlada gave hints for automation by the CLI.
In the GUI, Help--> Known parameters for the list, and some examples are provided in packages.
MediaInfo can't remember my export format file name and directory and keep resetting it to C:\Program Files\MediaInfo\Example.txt. Can this be fixed?
Feature request, slow implementation
When reporting the file sizes, any particular reason you are reporting them in kibibytes, mebibytes & gibibytes, as opposed to the common kilobytes, megabytes & gigabytes? Can you add an option to switch to the latter if the user wants to?
Eragon4ever replied.
1K=1000, not common for file sizes (except hard disk sizes!). 1Ki=1024. In MidiaInfo, Bitrates are in K, sizes are in Ki, as usualy used by 99.999% of the population. I only presice when this is 1000, and when this is 1024.
Also let me know if you'd rather have me open a feature request on Sourceforge?
One ticket per request on Sourceforge please, or I will forget it.
I can provide a FTP access for example uploading.
vlada
17th June 2008, 00:23
Zenitram> I just installed the latest version of MediaInfo and it reminded me of one annoyance (bug or feature? :devil:). Settings are always reset after upgrading, so I have to adjust them again. Could you do something about it? Thank you.
unskinnyboy
17th June 2008, 03:09
Feature request (one for extended format detection, on for % of each stream), quick implementation for both.
Done. #1995566 (http://sourceforge.net/tracker/index.php?func=detail&aid=1995566&group_id=86862&atid=581184) & #1995569 (http://sourceforge.net/tracker/index.php?func=detail&aid=1995569&group_id=86862&atid=581184).
Already done, example:
"Display aspect ratio : 16/9"
(5/4, 4/3, 16/9, 2.20, 2.25, 2.35 "standart" AR are implemented)
I don't think you should mix the decimal and ratio formats. E.g. take a 576 x 432 AVI, with a PAR of 1.000 in decimal format and 1:1 in ratio format, you should report the DAR in decimal format as 1.333 and ratio format as 4:3. Currently, MediaInfo would just report Display aspect ratio: 4/3. Instead, I think it should report it as:
Display aspect ratio (decimal): 1.333
Display aspect ratio (ratio): 4:3
GSpot reports it like this:
http://img512.imageshack.us/img512/3336/gspotdardisplaysm3.png
Implemented differently, but already done, example:
"Channel positions : Front: L C R, Surround: L R, LFE"
(so... This is 3/2.1 ;-) )
I could with not a lot of problem implement "3/2.1", but is it really useful if you already have what is given by MI?
(anyways, if I implement it, It will be hidden by default, you will have to activate it by the "advanced mode")I am aware of that format, but I am looking for the 3/2.1 format specifically. You can put it under advanced mode, that wouldn't be a problem.
Like "Interleave: 1 vid frame (40 ms)"?
Feature request, quick implementation if you give me example of files which have more than 1 vid frame interleave (I only have 1 vid frame interleave files!)AVIs can be interleaved frame-wise or time-wise.
E.g. If I interleave AC3 every 96 frames of the video, and preload 96 ms of audio before the video starts, the resultant AVI would have:
Interleave: 96 vid frames (4004 ms), preload=96
If I interleave AC3 every 96 ms of the video, and preload 96 ms of audio before the video starts, the resultant AVI would have:
Interleave: 96 ms (2.3 v.frames), preload=96
Test file and more details provided in #1995653 (http://sourceforge.net/tracker/index.php?func=detail&aid=1995653&group_id=86862&atid=581184).
Feature request, quick implementation if you give me example of files which are not aligned on interleaves (I only have aligned on interleaves files!)Done. #1995574 (http://sourceforge.net/tracker/index.php?func=detail&aid=1995574&group_id=86862&atid=581184).
Feature request, slow implementation (I want to develop a new interface, based on WxWidgets, for cross-platform GUI, so I don't want to do something on the GUI before I have this cross-platform GUI.)OK, that can wait then. #1995656 (http://sourceforge.net/tracker/index.php?func=detail&aid=1995656&group_id=86862&atid=581184).
Like this? ;-)
Config : "Video: %Format%[ (%CodecID/Hint%)][ @ ~%BitRate/String%]"
Result: "Video: MPEG-4 Visual (XviD) @ ~1144 Kbps"
In the GUI, this is the custom view (you can customize in the preferences), and vlada gave hints for automation by the CLI.
In the GUI, Help--> Known parameters for the list, and some examples are provided in packages.Gosh, the GUI is totally user unfriendly for this.
OK, so I go into Options -> Preferences and I create a new custom format:
http://img512.imageshack.us/img512/6356/mitest2wb7.png
Then I edit and enter this:
http://img512.imageshack.us/img512/6765/mitest3cd7.png
And then I try to export it:
http://img512.imageshack.us/img512/3203/mitest4tx6.png
Instead of Example.txt, MediaInfo exports it to Example0.txt and the contents are:
Video: AVIVideo #0 : XviD at 1243 Kbps
Aspect : 720 x 384 (1.875) at %fps% fps
Audio #0 : AC3 at 448 Kbps
Infos : 6 channels, 48.0 KHz
This isn't what I expected. What did I do wrong?
Feature request, slow implementationOK, #1995575 (http://sourceforge.net/tracker/index.php?func=detail&aid=1995575&group_id=86862&atid=581184).
Have you ever compared the values Windows and MediaInfo report? They are (nearly) the same. Mebibytes are the common ones, it's just that most people call them megabytes.
http://en.wikipedia.org/wiki/Byte#Names_for_different_units
Eragon4ever replied.
1K=1000, not common for file sizes (except hard disk sizes!). 1Ki=1024. In MidiaInfo, Bitrates are in K, sizes are in Ki, as usualy used by 99.999% of the population. I only presice when this is 1000, and when this is 1024.
I know the difference, but this is the first app I have seen using the IEC format, so I was just wondering why. No issues. Let MediaInfo set a trend then, eh?
One ticket per request on Sourceforge please, or I will forget it.
I can provide a FTP access for example uploading.All done. I uploaded the sample to MediaFire and put the link in the Feature Requests. No need for FTP.
:thanks:
Zenitram
17th June 2008, 18:29
I don't think you should mix the decimal and ratio formats. E.g. take a 576 x 432 AVI, with a PAR of 1.000 in decimal format and 1:1 in ratio format, you should report the DAR in decimal format as 1.333 and ratio format as 4:3. Currently, MediaInfo would just report Display aspect ratio: 4/3. Instead, I think it should report it as:
Display aspect ratio (decimal): 1.333
Display aspect ratio (ratio): 4:3
I show decimal only when I have no known values.
What you request is already implemented (with Advanced mode. For automation, %DisplayAspectRatio% is with 3 decimals, %DisplayAspectRatio/String% is with well known values if available), you can customize MI for having what you want, but will not be done by default.
Example with "advanced mode":
Display aspect ratio : 1.250
Display aspect ratio : 5/4
Note: I will add "15/8" well known value, coming from your example file.
I am aware of that format, but I am looking for the 3/2.1 format specifically. You can put it under advanced mode, that wouldn't be a problem.
Feature request.
OK, so I go into Options -> Preferences and I create a new custom format:
You edited the "General" part, not the "Video" part!
What you are looking for is in the Video part, so edit the Video part (there is a drop-down list when you click on "General")
When you create a new custom view, a template is copied for let you understand how it works.
Delete all that is unuseful for you, for each part, or you will have data from the example template.
Open (with notepad) example files in /Plugins/Custom if needed, look at exampel files in this directory. The GUI is a helper, but if you don't understand it, try to understand the text files.
For example, with what you need, the text file should be:
Video;Video: %Format%[ (%CodecID/Hint%)][ @ ~%BitRate/String%]
(on one line, with carriage return)
The first column is the ID of the stream ("Video"), with a semicolomn, and after this is your template.
Template are complex, because I must handle multiple kinds of format, and multiple stream (I have not only 1 audio stream for example, so the "Audio" part of the template is processed one per stream).
A lot of examples are provided, from basic to XML or HTML view...
I know the difference, but this is the first app I have seen using the IEC format, so I was just wondering why. No issues. Let MediaInfo set a trend then, eh?
Some Linux distributions are already using it.
And I must be precise, because I sometimes use K, and sometimes Ki (for example, A 128Kbps MP3 is 128000 bps, but a 128KB file is 131072 byte file...), and difference is very important for some people.
And this is not because others don't respect norms I can avoid respecting them ;-)
GrofLuigi
17th June 2008, 18:33
Zenitram> I just installed the latest version of MediaInfo and it reminded me of one annoyance (bug or feature? :devil:). Settings are always reset after upgrading, so I have to adjust them again. Could you do something about it? Thank you.
2nd that (although I know how to edit a file). ;)
Another annoyance/bug/feature: MediaInfo always creates an empty Example.csv file in the plugin/tree directory. It's harmless, but why?!
GL
Zenitram
17th June 2008, 18:37
2nd that (although I know how to edit a file). ;)
Please give me a piece of advice for having more than 24 hours in a day (and my "real" life is a priority ;-) )
Another annoyance/bug/feature: MediaInfo always creates an empty Example.csv file in the plugin/tree directory. It's harmless, but why?!
Stupid automated stuff...
I am working on a new GUI (cross platform), all from the beginning, so it should disapear... but when, I don't know :(.
vlada
17th June 2008, 23:57
Please give me a piece of advice for having more than 24 hours in a day (and my "real" life is a priority ;-) )
I'm wondering all the time how fast you are with adding new features and fixing bugs. You must have plenty of free time or you are a very fast programmer. :cool:
Or maybe you don't make 2 mistakes on every line of code like I do. :mad:
BiO-HaZaRd
22nd June 2008, 22:58
Why is it that for any video encoded in xvid 1.1.3 the program shows me that are xvid 1.1.2???
I have only 1.1.3 installed on my computer, i've encoded something just for testing... and it shows 1.1.2...
Placio74
22nd June 2008, 23:33
Why is it that for any video encoded in xvid 1.1.3 the program shows me that are xvid 1.1.2???
...
I'm guess... because Xvid 1.1.3 and 1.1.2 have same bitstream 'tag' - XviD0046.
Zenitram
23rd June 2008, 12:54
Why is it that for any video encoded in xvid 1.1.3 the program shows me that are xvid 1.1.2???
As Placio74 said, both version have the same version tag. There is no way to detect XviD 1.1.3 because the version detection is based on this tag (this is an error from XviD, not mine)
Trusting http://xmm.sourceforge.net/DivX5-6_Xvid_Bitstream_version.php , v.1.1.3 is the only version with this problem.
vlada
1st July 2008, 01:07
Hi,
I have a FLV file (downloaded from YouTube) which is VFR. In this file MediaInfo doesn't detect number of frames and duration of video stream. Is it possible to get these information from a VFR file?
The file can be obtained from YouTube (http://www.youtube.com/watch?v=vwALSGmTNkA) or I can upload it anywhere else.
Zenitram
1st July 2008, 12:05
I have a FLV file (downloaded from YouTube) which is VFR. In this file MediaInfo doesn't detect number of frames and duration of video stream. Is it possible to get these information from a VFR file?
MediaInfo currently does NOT parse the whole file, so when there is no index in the container it can't know how frames there are in the file.
And FLV has no index. Duration is given when the FLV duration metadata is filled.
Parsing the whole file is planned for later.
kurt
24th July 2008, 18:26
feature request:
show framerate of audiofiles, especially for ac3 & dts
this would be great, in particular if one is converting stuff from different sources ...
btw: your program is great - i use it every day :)
Zenitram
24th July 2008, 18:31
feature request:
show framerate of audiofiles, especially for ac3 & dts
this would be great, in particular if one is converting stuff from different sources ...
If you explain me what is a frame (so... an image, or this word has multiple significations for you?) for an Audio stream...
What I can imagine is the "frame size" (how many byte per audio chunk), so the count of audio "chunks" per second, but I don't understand the use of it. And what is the interest of it for multiple sources.
StickHorsie
24th July 2008, 18:42
Downloaded, and will probably be using it a lot! :D
kurt
24th July 2008, 18:49
If you explain me what is a frame (so... an image, or this word has multiple significations for you?) for an Audio stream...
What I can imagine is the "frame size" (how many byte per audio chunk), so the count of audio "chunks" per second, but I don't understand the use of it. And what is the interest of it for multiple sources.
ok
I mean if I take the audio part from a pal source (25 fps) and want to mux it with a ntsc video (i.e. 23,976), I have to adjust either the audio file or the video to get things in sync. So it would be much easier to know the audio-"framerate" (I know, the term is wrong) before muxing and if one should run it through eac3to...
Technically I have no idea how this could work :p (but madshi maybe - he is the audio guru)
Zenitram
24th July 2008, 18:59
I mean if I take the audio part from a pal source (25 fps) and want to mux it with a ntsc video (i.e. 23,976), I have to adjust either the audio file or the video to get things in sync. So it would be much easier to know the audio-"framerate" (I know, the term is wrong) before muxing.
There is no "framerate" as you imagine.
A audio stream is multiple chunks following each others, with no framerate, a chunk is x ms, x depends of the bitrate, no more.
Audio from a PAL source is the same of Audio of NTSC source if this is well made.
The only thing I can imagine is that technician has accelerated the audio and video streams for synchronizing to 25 fps without modifying the video stream (so the audio stream is accelarated by 1/24) for a PAL source, but the audio stream is alterated BEFORE the encoding. It is not possible to know what the technician has done before an encoding!
If a PAL source is well done (3:2:2:2:2:2:2:2:2:2:2 pulldown) and NTSC source is well done (3:2 pulldown, with framedrop for converting 30 fps to 29.970 fps, NTSCis not 23.976...), the film duration is exactly same between NTSC and PAL), and audio part is compatible with both, because there is no framerate information in an audio stream, only a duration....
You speak of alteration of the original sequence, before encoding. Nobody can know what is done before the encoding. PAL and NTSC encoding must be done from the same source if you want to have a good synchro with audio, but this is rarely the case...
vlada
5th August 2008, 20:22
A little OT: I think that speeding up video for PAL is done on almost all PAL DVDs. And I think it is the correct solution. Playing the movie a little faster is better then duplicating a frame (which isn't fluent). Of course this is not a good solution for musical movies because of the audio speed-up.
hvda
13th August 2008, 14:14
(1) I used the GUI version of MediaInfo for about a year to catalogue my video collection, and I thought I understood the information I got. Example: I thought that "General" information (such as "Complete Name", "File size" "Overall bitrate") are attributes attributes at the top level, related to the container, and that by consequence their could not be multiple occurences of General attributes for one single container (as opposed to eg Audio or Menu attributes, which can have multiple occurences).
This seemed at that time to be confirmed by the layout of csv exports: the Heading line in the .csv file goes like this (simplified) : "General ... Video 0...Audio 0 ....Audio 1 ....Audio 3 ...." (ie : NO occurence number for General).
(2) Now I started exploring/testing the DLL version (0.7.7.4) of this wonderful tool with VBE 2005.
-> Here comes my problem : I found that for StreamKind 0 = "General" one of the "General" parameters is "GeneralCount" (comment: number of General Streams).
If my interpretation is correct, this would mean that their can be multiple "General" streams in a container ? And each General stream having its own occurence with different values for the General parameters ?
Could someone please explain this, because I really do not understand the concept of multiple General streams in a container: I tought (cfr para 1) there is only one.
(what is even more confusing : if I do MediaInfo_Get's with the parameter "GeneralCount", the result is always [empty] (ie 0); I expected at least the result to be 1).
Thanks for giving some explanations (and perhaps an example based on say a matroska container).
Zenitram
13th August 2008, 14:50
Could someone please explain this, because I really do not understand the concept of multiple General streams in a container: I tought (cfr para 1) there is only one.
Currently, there is no files with more than one "General" stream.
But:
- The interface is for all kinds of streams, General and Video and Audio and so on. All of this streams ("General" included) are in an unique internal database, with a number for each stream of each kind of stream. This number is unuseful for the "General" stream, but it is easier to have only one programming interface for all streams, so the "General" stream need a number too. Removing this number for General stream would create a more complex interface for requesting info (even more in C than in C++, because I can overload methods in C!)
- Maybe later, I will add a support for more than one "General" stream, but I don't know currently what ;-)
- For Matroska with multiple videos in it, it would be maybe better to add a "menu" stream, as I do for MPEG-TS with multiple programs. But I don't like this possiblility in MKV, this is strange to have multiple independant and not in synchro videos in one file... So a copy of what I do in MPEG-Ts is maybe not a good solution. I am thinking about a way to implement this in MediaInfo, this and the problem of multiple .mp3 in a ZIP file too... If someone has an idea of how to show this kind of files, I am interested ;-)
(what is even more confusing : if I do MediaInfo_Get's with the parameter "GeneralCount", the result is always [empty] (ie 0); I expected at least the result to be 1).
This is a bug, I don't currently fill this field.
I will try to think to add it.
A workaround is to use MediaInfo::Get(Stream_General, 0, "StreamCount")
hvda
13th August 2008, 15:18
Thank you so much for your immediate and extensive reply.
Currently, there is no files with more than one "General" stream
I hope to live long enough to see one; I suppose that will also create the need for another/new streamkind, say "Root" or something like that...
..., but it is easier to have only one programming interface for all streams, so the "General" stream need a number too.
That I can understand perfectly well.
This is a bug....A workaround is to use MediaInfo::Get(Stream_General, 0, "StreamCount")
Thank you, this will put me on track again.
STaRGaZeR
16th August 2008, 14:43
Zenitram, I have a question, sorry if this has been answared before. Using Vista x64 and MediaInfo GUI for Win32. If the files are associated with WMP or BSplayer for example, MediaInfo is shown directly when you right-click the file. But if the files are associated with MPC-HC then it doesn't, you have to do 'Open with...' and then select MediaInfo. Is this a bug or something else?
Also, can we have a x64 GUI?
Thanks for this great tool, a must have :)
Zenitram
16th August 2008, 14:45
Zenitram, Ihave a question, sorry if this has been answared before. Using Vista x64 and MediaInfo GUI for Win32. If the files are associated with WMP or BSplayer for example, MediaInfo is show directly when you right-click the file. But if the files are associated with MPC-HC then it doesn't, you have to do 'Open with...' and then select MediaInfo. Is this a bug or something else?
Extension association on Windows is quite difficult to manage
I didn't understand well yet all the "functionnalities" of the registry for this.
I will install mpc-hc to see what it erase about what I did in the registry.
STaRGaZeR
16th August 2008, 17:35
Extension association on Windows is quite difficult to manage
I didn't understand well yet all the "functionnalities" of the registry for this.
I will install mpc-hc to see what it erase about what I did in the registry.
Thanks, installed and standalone versions are the same for me.
vlada
16th August 2008, 22:11
Hi Zenitram,
I have a (hopefully) small feature request. I'm now using MediaInfo library to read tags from audio files. It works perfectly for me, except one thing - I can't get some tag fields. It is ReplayGain. I think it is because foobar2000 (and other players probably too) store 2 values - track gain and album gain. The other information I can't read is playback statistics, foobar2000 uses these fields: %first_played%, %last_played%, %played_per_day%, %play_count%, %added%. The last information I'm missing is rating.
Could you please implement reading of these tag values at least for MP3 and Ogg Vorbis? Thank you very much.
Zenitram
17th August 2008, 11:07
I can't get some tag fields.
Please provide me examples files with theses tags (at least one of each format), and I will integrate this quickly.
I can provide a FTP access for uploading if requested.
clsid
17th August 2008, 11:52
Found a typo: "warpoints" should be "warppoints"
Zenitram
17th August 2008, 11:57
Found a typo: "warpoints" should be "warppoints"
Should be already corrected in official version 0.7.7.4 (at least).
If not, warn me.
vlada
17th August 2008, 13:09
Please provide me examples files with theses tags (at least one of each format), and I will integrate this quickly.
Here are the samples: http://www.sendspace.com/file/1ow76f (only 120 kB). There are 3 files - MP3, Ogg Vorbis and flac.
I'm not sure if there is a standard on how to tag Matroska files. There should be apparently one album gain tag for the whole file, but one track gain for every chapter (track). Also the play counter should be independent for every track. I will probably discuss this with Matroska developers later.
Zenitram
17th August 2008, 18:08
The other information I can't read is playback statistics, foobar2000 uses these fields: %first_played%, %last_played%, %played_per_day%, %play_count%, %added%. The last information I'm missing is rating.
This info was already available in MediaInfo ;-)
See with the GUI, example for the .mp3:
(...)
last_played_timestamp : 128634480972656250
play_count : 3
first_played_timestamp : 128634480552187500
added_timestamp : 128634479293750000
replaygain_album_gain : -1.79 dB
replaygain_album_peak : 0.953469
replaygain_track_gain : -1.79 dB
replaygain_track_peak : 0.953469
(...)
You just have to use theses "words" to retrieve info (they are the raw names from the custom Id3v2 tags) when MediaInfo soes not support specific tags.
Anyway, I added support for theses items in the last development snapshot, at least version 20080817:
http://downloads.sourceforge.net/mediainfo/MediaInfo_20080817_GUI_Win32_WithoutInstaller.7z
Example for the .mp3:
General
Complete name : F:\Programmation\MediaInfoLib_CrashTest\Nominal\Tags\Id3v2\ReplayGain\sample.mp3
Format : MPEG Audio
File size : 49.9 KiB
Duration : 3s 49ms
Overall bit rate : 128 Kbps
Album replay gain : -1.79 dB
Album replay gain peak : 0.953469
Album : Samples
Track name : mp3
Performer : Me
Writing library : LAME3.94 (alpha)
Added date : UTC 2002-07-05 17:05:01.750
First playing : UTC 2002-07-05 17:26:00.187
Last playing : UTC 2002-07-05 17:33:00.656
Count of playings : 3
Audio
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Duration : 3s 49ms
Bit rate mode : Constant
Bit rate : 128 Kbps
Channel(s) : 1 channel
Sampling rate : 44.1 KHz
Resolution : 16 bits
Replay gain : -1.79 dB
Replay gain peak : 0.953469
Writing library : LAME3.94 (alpha)
Some notes:
- I am not sure of the "english words" to use, if you have a better proposition, don't hesitate.
- I didn't succeed to use Foobar2000+Playback Statistics for writting stats in a file, so I can't verify if the date is good, please confirm. I am not sure about the signification of the raw value for the date, I think this is the count of nanoseconds since 1st January, 1601 (this kind of value is already used elsewehre...), if not I need a better proposition.
- %played_per_day% is not in your files. (maybe it is the play_count/(last_played_timestamp-first_played_timestamp) )
Schrade
17th August 2008, 19:01
English suggestions:
First playing -> First played
Last playing -> Last played
Count of playings -> Times played
vlada
17th August 2008, 19:05
Thanks a lot for your incredibly fast reply and implementation.
1) My English is quite poor, so I can't help. :-(
2) The timestamp was a mystery to me. So I searched through the Internet and your information is correct except of the fact that those are 100 nanoseconds (divide by 10 000 000 to get seconds). The date 01/01/1601 is correct too, but your result is six years off. It should point to today around noon. I have no idea what could be the problem, I tried to calculate it myself and it came out correctly: 128634472997656250/(365.24*24*3600*10000000) = 407. 1601+407 = 2008.
3) Yes, I noticed that his tag is not in the files. It's listed at http://foobar2000.org/components/, maybe it's not implemented yet, I really don't know. Personally I have no use for this tag.
pjo
18th August 2008, 01:48
Hi! I am having a difficulty to read an .m2ts file. It has AAC5.1 audio.
In the dialogue to specify the file, .m2ts is not displayed.
Does MediaInfo support m2ts file ?
pjo
Zenitram
18th August 2008, 04:03
About ReplayGain:
Oh, yes, I forgot tha this is the count of 100-nanoseconds!
So, thanks to Schrade, the output in the next development snapshot will be:
General
Complete name : F:\Programmation\MediaInfoLib_CrashTest\Nominal\Tags\Id3v2\ReplayGain\sample.mp3
Format : MPEG Audio
File size : 49.9 KiB
Duration : 3s 49ms
Overall bit rate : 128 Kbps
Album replay gain : -1.79 dB
Album replay gain peak : 0.953469
Album : Samples
Track name : mp3
Performer : Me
Writing library : LAME3.94 (alpha)
Added date : UTC 2008-08-17 11:58:49.375
First played : UTC 2008-08-17 12:00:55.218
Last played : UTC 2008-08-17 12:01:37.265
Times played : 3
Audio
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Duration : 3s 49ms
Bit rate mode : Constant
Bit rate : 128 Kbps
Channel(s) : 1 channel
Sampling rate : 44.1 KHz
Resolution : 16 bits
Replay gain : -1.79 dB
Replay gain peak : 0.953469
Writing library : LAME3.94 (alpha)
Zenitram
18th August 2008, 04:56
Does MediaInfo support m2ts file ?
BDAV (Blu-ray) or normal TS files are both supported.
If one stream is not detected, please provide an example (some megabytes).
I can provide a FTP access if requested.
pjo
18th August 2008, 05:17
BDAV (Blu-ray) or normal TS files are both supported.
If one stream is not detected, please provide an example (some megabytes).
I can provide a FTP access if requested.
Merci, Please provide the ftp info.
With what tool shall I cut the first several megabytes ?
pjo
pjo
18th August 2008, 07:02
BDAV (Blu-ray) or normal TS files are both supported.
If one stream is not detected, please provide an example (some megabytes).
I can provide a FTP access if requested.
Yes. Here is the link to the first 16877KB of the .m2ts.
http://rapidshare.de/files/40262409/00001cutted.m2ts.html
The first few seconds portion is an ending of a news show with mono AAC (probably), then the main show starts with AAC5.1.
After cutting the news portion with tsMuxeR, the main show is really AAC5.1 when played with MPC without using ffdshow.
Zenitram
18th August 2008, 07:28
After cutting the news portion with tsMuxeR, the main show is really AAC5.1 when played with MPC without using ffdshow.
MediaInfo analyzes only the beginning of a file, and shows info about what it finds at the beginning. MediaInfo can't analyze quickly the complete file (imagine reading the whole 20 GB file from the HDD before showing something ;-) ), and it is not intented for detecting changes in a real time stream (when you provide a real time IP stream to MediaInfo, it shows what it detect at the date and time you provide, not later).
When MediaInfo analyzes your file, it shows what it had found at the beginning (it shows "1 channel").
When MediaInfo analyzes an extraction of your file at the end (cut by myself), it shows the right value for the current stream (it shows "6 channels", there is no info in AAC for saying if a channel is LFE or not)
MediaInfo is not designed for showing different formats in the timeline.
It could with some programming, but I don't have enough time for this, I will not do it.
pjo
18th August 2008, 07:56
Thanks, Zenitram.
I fully understand that the changing stream is not supported in MediaInfo.
Please advise how to load the .m2ts into MediaInfo. I still cannot specify the file in the file selecting dialogue. Running Vista.
pjo
Zenitram
18th August 2008, 12:15
Please advise how to load the .m2ts into MediaInfo. I still cannot specify the file in the file selecting dialogue. Running Vista.
I don't understand well this part.
Since some versions (I don't remeber well, this is more a bug rather than a feature), there is no more filters in the file selecting dialog box.
Anyway, you can:
- Select "All files (*.*)" in the file selection box
- Drag and drop the file to MediaInfo
- Open with... "MediaInfo".
I will add m2ts to the list of the extensions with a context menu, I forgot it.
pjo
18th August 2008, 12:52
I don't understand well this part.
Since some versions (I don't remeber well, this is more a bug rather than a feature), there is no more filters in the file selecting dialog box.
Anyway, you can:
- Select "All files (*.*)" in the file selection box
- Drag and drop the file to MediaInfo
- Open with... "MediaInfo".
I will add m2ts to the list of the extensions with a context menu, I forgot it.
Thanks Zenitram, Drag and drop worked this time. I just restarted MediaInfo.
Will the version with the new context menu be available in the MediaInfo web site ?
Zenitram
18th August 2008, 12:54
Will the version with the new context menu be available in the MediaInfo web site ?
No. Next official version (next Friday).
Zenitram
18th August 2008, 17:21
Will the version with the new context menu be available in the MediaInfo web site ?
A development snapshot (so... Not officialy supported version) is aavailable here:
http://downloads.sourceforge.net/mediainfo/MediaInfo_20080818_GUI_Win32_WithoutInstaller.7z
pjo
19th August 2008, 05:25
A development snapshot (so... Not officialy supported version) is aavailable here:
http://downloads.sourceforge.net/mediainfo/MediaInfo_20080818_GUI_Win32_WithoutInstaller.7z
Thanks !
DanielCardenas
17th September 2008, 00:46
Is your python script available? I'm thinking of writing one and could use the sample code. I'm thinking of creating a script that will enter media info into a database.
Thanks for clearing this up. It really makes sense.
Maybe you could get the information about the number of consecutive B-frames also by scanning the first 10 seconds. It should be enough to judge for 99,9% of files.
I have a serious problem with the latest version and reading Duration (PlayTime) of a video. In my application I use MI.Get("Stream_Video", 0, "Duration", "Info_Text", "Info_Name"). At this line my program exits without any errors. I have no problems with older versions and "PlayTime". If you couldn't find what causes the problem, I could create a sample Python script which demonstrates it.
vlada
5th October 2008, 15:28
DanielCardenas> I'm sorry for my very late reply. After some moth I finally got back to develop my application. Within a month I should be able to make a first release. It will be available under GPL license. I'm afraid it wouldn't be much helpful to you in the current state.
Anyway if you plan to use MediaInfo from Python, there is a wrapper and an example program included with the DLL version of MediaInfo. If you have any problems using it, I should be able to help you, just PM me.
Atak_Snajpera
25th November 2008, 17:18
Zenitram
MediaInfo does not see chapters in .IFO file
http://www.mediafire.com/?zwfigmmqtnz
Zenitram
25th November 2008, 19:38
MediaInfo does not see chapters in .IFO file
IFO support is currently basic, IFO chapters are unfortunatly not well supported (this is planned, but no ETA)
hiper56
30th November 2008, 23:39
Why does the installer tries to connect to internet?
Why does MediaInfo associate itself with *.dat files without asking and why doesn't it have any option in the program settings to change that?
Atak_Snajpera
30th November 2008, 23:48
Why does the installer try to connect to internet?
Why does MediaInfo associate itself with *.dat files without asking and why doesn't it have any option in the program settings to change that?
If you are not happy with official gui try my extremally simple alternative GUI. Link in signature.
Zenitram
1st December 2008, 08:14
Why does the installer tries to connect to internet?
Why does MediaInfo associate itself with *.dat files without asking and why doesn't it have any option in the program settings to change that?
It does.
Uncheck options "check for newest versions" and "Shell extensions" if you don't want this.
vlada
2nd January 2009, 23:20
Hi Zenitram,
I'm getting close to release first version of my transcodig application. There are some things in MediaInfo which I need to workaround or wait for you to implement them.
1) Some files (usually VOBs and VFR FLVs) don't show duration and/or number of frames. I can't correctly transcode such files, because I can't set correct size if I don't know their length.
2) When opening VOBs I would like to see audio/subtitles language and chapters, as Atak_Snajpera already suggested. I know I can read the language from associated .IFO file. What about reading it automatically in MediaInfo?
Do you plan to implement these features in near future or should I find a workaround for them? Honestly I don't know how to get round the first issue. I know you might need to scan the whole file in some cases, but I wouldn't mind. You could make it as an option.
Kurtnoise
2nd January 2009, 23:26
2) When opening VOBs I would like to see audio/subtitles language and chapters, as Atak_Snajpera already suggested.
there are no such infos in vob files afaik...
Zenitram
3rd January 2009, 13:28
1) Some files (usually VOBs and VFR FLVs) don't show duration and/or number of frames. I can't correctly transcode such files, because I can't set correct size if I don't know their length.
This is bug, please contact me at zen@mediaarea.net for providing me the (complete, unfortunatly) files.
I can provide a FTP server if requested.
2) When opening VOBs I would like to see audio/subtitles language and chapters, as Atak_Snajpera already suggested. I know I can read the language from associated .IFO file. What about reading it automatically in MediaInfo?
Do you plan to implement these features in near future or should I find a workaround for them?
For 1) as soon as you send me the file
For 2) When I have time (unfortunatly for you, associating .VOB and .IFO is not currently my priority)
Honestly I don't know how to get round the first issue. I know you might need to scan the whole file in some cases, but I wouldn't mind. You could make it as an option.
In theory, I would not need to scan the complete file.
But if I must, I must adapt a little MediaInfo, but this is time (my time) consuming. Not sure I will do it soon if it is needed. Depends of a lot of things, I can't promise an ETA for this.
there are no such infos in vob files afaik...
No, but in IFO associated with the .VOBs ;-)
.VOBs concatanation and IFO link option is unfortunatly not planed in a near release.
If I am motivated, I try to impement something quickly next week, because this is requested by some users (your feedback as users is a part of the priority I give to feature requests ;-) )
vlada
3rd January 2009, 19:10
Thanks a lot for your answers. I sent you an e-mail regarding the sample files.
I have one more question if anyone could help. I tried to port the python bindings to Python but it doesn't work and I can't find out why.
This is a shorted version of what I did:
# -*- coding: utf-8 -*-
import os
from ctypes import *
if os.name == "posix":
MI = CDLL("libmediainfo.so.0")
else:
MI = windll.MediaInfo
NULL = c_void_p(0)
MediaInfo_New = MI.MediaInfo_New
MediaInfo_New.argtypes = []
MediaInfo_New.restype = c_void_p
MediaInfo_Delete = MI.MediaInfo_Delete
MediaInfo_Delete.argtypes = [c_void_p]
MediaInfo_Open = MI.MediaInfo_Open
MediaInfo_Open.argtype = [c_void_p, c_wchar_p]
MediaInfo_Open.restype = c_uint
MediaInfo_Get = MI.MediaInfo_Get
MediaInfo_Get.argtype = [c_void_p, c_int, c_uint, c_wchar_p, c_int, c_int]
MediaInfo_Get.restype = c_wchar_p
class Stream:
General, Video, Audio, Text, Chapters, Image, Menu, Max = range(8)
class Info:
Name, Text, Measure, Options, Name_Text, Measure_Text, Info, HowTo, Max = range(9)
class InfoOption:
ShowInInform, Reserved, ShowInSupported, TypeOfValue, Max = range(5)
class FileOptions:
Nothing, Recursive, CloseAll, xxNULLxx_3, Max = range(5)
class MediaInfo:
Handle = c_void_p(0)
def __init__(self):
self.Handle=MediaInfo_New()
def __del__(self):
MediaInfo_Delete(self.Handle)
def Open(self, File):
return MediaInfo_Open(self.Handle, File);
def Open_Buffer(self, Begin, Begin_Size, End=NULL, End_Size=0):
return MediaInfo_Open_Buffer(self.Handle, Begin, Begin_Size, End, End_Size)
def Save(self):
return MediaInfo_Save(self.Handle)
def Close(self):
return MediaInfo_Close(self.Handle)
def Inform(self):
return MediaInfo_Inform(self.Handle, 0)
def Get(self, StreamKind, StreamNumber, Parameter, InfoKind=Info.Text, SearchKind=Info.Name):
return MediaInfo_Get(self.Handle, StreamKind, StreamNumber, Parameter, InfoKind, SearchKind)
def GetI(self, StreamKind, StreamNumber, Parameter, InfoKind=Info.Text):
return MediaInfo_GetI(self.Handle, StreamKind, StreamNumber, Parameter, InfoKind)
def Set(self, ToSet, StreamKind, StreamNumber, Parameter, OldParameter=u""):
return MediaInfo_Set(self.Handle, ToSet, StreamKind, StreamNumber, Parameter, OldParameter)
def SetI(self, ToSet, StreamKind, StreamNumber, Parameter, OldValue):
return MediaInfo_SetI(self.Handle, ToSet, StreamKind, StreamNumber, Parameter, OldValue)
def Option(self, Option, Value=u""):
return MediaInfo_Option(self.Handle, Option, Value)
def Option_Static(self, Option, Value=u""):
return MediaInfo_Option(NULL, Option, Value)
def State_Get(self):
return MediaInfo_State_Get(self, Handle)
def Count_Get(self, StreamKind, StreamNumber=-1):
return MediaInfo_Count_Get(self.Handle, StreamKind, StreamNumber)
info = MediaInfo()
info.Open(u"video.avi")
print info.Get(Stream.General, 0, u"Format", Info.Text, Info.Name)
On Windows this works (except of an error when calling the delete constructor). On Linux I get a "Segmentation Fault" when running the "Open" function. Do you have any idea what did I wrong?
Zenitram
16th January 2009, 14:37
I have one more question if anyone could help. I tried to port the python bindings to Python but it doesn't work and I can't find out why.
(...)
On Windows this works (except of an error when calling the delete constructor).
I changed the Python binding in order to avoid this problem (Python is a bit stupid, it deletes the C function pointer before the MediaInfo python class, so when the Python class is destroyed, the call to the C function fails... No comment)
You can have the new binding here:
http://mediainfo.svn.sourceforge.net/viewvc/mediainfo/MediaInfoLib/trunk/Source/MediaInfoDLL/MediaInfoDLL.py?view=markup
The example is updated too:
http://mediainfo.svn.sourceforge.net/viewvc/mediainfo/MediaInfoLib/trunk/Source/Example/HowToUse_Dll.py?view=markup
(if you know how to import the MediaInfoDLL.py instead of pasting and copying it, I am interested in, when I do "import MediaInfoDLL" in the example, I have some error message I don't understand)
On Linux I get a "Segmentation Fault" when running the "Open" function. Do you have any idea what did I wrong?
I imagine you speak about a 64-bit version of Linux, because I succeed to have it working on 32-bit Linux, but not on 64-bit Linux.
I wrote to the Python ctypes guy about this, here is a link to the mailinglist with the details about my tests:
http://thread.gmane.org/gmane.comp.python.ctypes.user/4191
Zenitram
22nd January 2009, 20:29
I have one more question if anyone could help. I tried to port the python bindings to Python but it doesn't work and I can't find out why.
I have adapted my code to avoid the bug in Python/ctypes, so you can find a working copy here:
http://mediainfo.svn.sourceforge.net/viewvc/mediainfo/MediaInfoLib/trunk/Source/Example/HowToUse_Dll.py?view=markup
Note: I use now the "Ansi" version of the binding, and I didn't succeed yet to have this method working with files with non-american caracters (é, ü, chinesich characters), so it works with "classic" files, but not with all the filenames. libmediainfo has strange reactions when it is called by Python, I will try to find the problem later.
vlada
25th January 2009, 11:09
Thanks a lot for your work on improving the Python bindings. I'm sorry for my late feedback, unfortunately I didn't have time to look at it before weekend. I have 2 computers with Linux. On my desktop PC with Kubuntu 8.10 x64 the latest version (0.7.9) works perfectly. Unfortunately on a notebook with Kubuntu x86 I still get segmentation fault. I installed the library from your .deb packages for Ubuntu 8.04. Do you have any idea what might be wrong?
Btw. what problems do you have with import in Python? There are 2 possibilities:
1)
import MediaInfo_Dll
MI = MediaInfo_Dll.MediaInfo()
2)
from MediaInfo_Dll import *
MI = MediaInfo()
Both methods work for me. What problems do you have?
Also in your example you use "import platform" but you don't use any function from the platform library. Maybe you used it for testing and forgot about it?
Zenitram
25th January 2009, 21:01
Unfortunately on a notebook with Kubuntu x86 I still get segmentation fault. I installed the library from your .deb packages for Ubuntu 8.04. Do you have any idea what might be wrong?
I can reproduce the bug on Ubuntu 8.10.
But this works well on CentOS 32 bits and Debian 32 bits! (64 bits not tested)
In waiting I find the origin of the problem, you can force the script to use the same interface as for the x64 build:
Change
MediaInfoDLL_Handler = CDLL("libmediainfo.so.0")
if sizeof(c_wchar_p) == 4:
MustUseAnsi = 0
-->
MediaInfoDLL_Handler = CDLL("libmediainfo.so.0")
if sizeof(c_wchar_p) == 4:
MustUseAnsi = 1
Btw. what problems do you have with import in Python? There are 2 possibilities:
Yes, this works. Forget it, I may have done something wrong before!
Also in your example you use "import platform" but you don't use any function from the platform library. Maybe you used it for testing and forgot about it?
Yes, for tests. Removed.
But I will surely re-add it soon, because I think I will add a check on Ubuntu with the help of "platform" string! (test if this is Ubuntu then use workaround...)
NiGHTsC
14th February 2009, 01:27
Zeni
Is there any way to display the video/audio sizes separately instead of total size?
Thank you.
Zenitram
14th February 2009, 09:33
Is there any way to display the video/audio sizes separately instead of total size?
When this info is available (when the container has an index: AVI, MP4...), you have:
General
(...)
File size : 228 MiB
(...)
Video
(...)
Stream size : 179 MiB (79%)
(...)
Audio
(...)
Stream size : 47.8 MiB (21%)
(...)
Atak_Snajpera
20th March 2009, 22:55
Zenitram will you add support for wav64?
General
Complete name : F:\Temp\audio.wav
Format : Wave
File size : 6.68 GiB
Duration : 2h 18mn
Overall bit rate : 6 912 Kbps
Audio
Format : FFFE
Codec ID : FFFE
Codec ID/Info : Extensible wave format
Codec ID/Hint : Extensible
Duration : 55mn 33s
Bit rate : 6 912 Kbps
Channel(s) : 6 channels
Sampling rate : 48.0 KHz
Resolution : 24 bits
Stream size : 2.68 GiB (40%)
Zenitram
20th March 2009, 23:01
Zenitram will you add support for wav64?
As soon as you provide me an example file.
I can provide a FTP server for uploading if you need it, contact me by private message for providing me the file.
Atak_Snajpera
21st March 2009, 23:30
sample
http://www.mediafire.com/?hj1nynjzm2n
Zenitram
27th March 2009, 21:39
Zenitram will you add support for wav64?
wav64 (as I understand: "Sony Pictures Digital Wave 64") is not the format of your file.
Your file is a bit illegal: it does NOT conform to specs.
eac3to simply has a 32 bits problems, check your file size, check the streamsize, it is... a difference of 2^32 bytes! (minus RIFF header size).
eac3to tries to write a 64-bit value (6.68 GiB) to a 32-bit fields (Max 4 GiB), so the most signifiant bytes are truncated, which is not conform to specs.
wav64 is completely another format.
Anyway, I modified MediaInfo to handle this kind of "bug", it tests now if the size of the PCM block is a remainder of the division of the file size by 2^32 and if yes, use the size of the file instead of the size of the PCM block from the RIFF info.
In the latest development snapshot:
https://sourceforge.net/project/showfiles.php?group_id=86862&package_id=197932
qyot27
3rd April 2009, 21:42
Is there some way to declare the UTC offset so that the File Created/Modified Times display according to my timezone (or possibly be able to autodetect the offset from the system time)? I can't seem to find any reference to this possibility on Google or on here.
Reason being, one of the programs I use for manipulating timestamps (WinTouch (http://www.codeproject.com/KB/files/wintouch.aspx)) can take 24-hour values but not UTC, and therefore giving it the time exactly as MediaInfo outputs makes the dates skewed by 4 or 5 hours because UTC-5 & UTC-4 are the relevant offsets for my timezone. I'd just prefer not having to remember how much to subtract everytime I want to change something.
Zenitram
4th April 2009, 22:32
Is there some way to declare the UTC offset so that the File Created/Modified Times display according to my timezone (or possibly be able to autodetect the offset from the system time)? I can't seem to find any reference to this possibility on Google or on here.
This is not yet done, File Created/Modified Times are relatively new, and I didn't implement Time handling.
Please add a feature request on the tracker:
https://sourceforge.net/tracker/?group_id=86862&atid=581184
But no idea about when I will implement it.
Edit: added in the latest development snapshot:
https://sourceforge.net/project/showfiles.php?group_id=86862&package_id=197932
Atak_Snajpera
23rd April 2009, 12:05
Zenitram will you add support for wav64?
Here is correct wave64 sample
http://www.mediafire.com/?jnzge3nzjti
Audioboxer
25th April 2009, 18:38
Hey guys, now that Windows 7 has hit RC is there any plans for support of context menus?
The program works fine, but the context menus don't.
Thanks :)
Zenitram
25th April 2009, 18:39
The program works fine, but the context menus don't.
I wonder what Microsoft has changed about context menu...
I will check this.
MediaInfo can't detect LAME subversions, it only show library version "LAME3.98r" when MP3 file is signatured as 3.98.2
Zenitram
25th April 2009, 20:46
MediaInfo can't detect LAME subversions, it only show library version "LAME3.98r" when MP3 file is signatured as 3.98.2
What do you call "signatured"? Please provide a sample.
For Lame, I display the string in the MP3 file, without modification.
If the Lame developper has decided to write "3.98r", there may be a reason, maybe because he does want it to be called 3.98.2...
Without "official" name scheme, I display the string inside the MP3 file.
Do you hava a mapping between strings in the MP3 file and LAME encoder versions?
FYI, I have files with "LAME3.96.1", "LAME3.97"... directly written in the MP3 file and displayed by MediaInfo.
Zenitram
30th April 2009, 17:13
Here is correct wave64 sample
0.7.15 version (released today!) can handle it.
Brazil2
30th April 2009, 20:12
There is an annoyance with MediaInfo and WMV files: it always displays VC-1 as the format even though the video is purely WMV3/9.
Video
ID : 2
Format : VC-1
Format profile : MP@ML
Codec ID : WMV3
Codec ID/Info : Windows Media Video 9
Codec ID/Hint : WMV3
Duration : 51mn 44s
Bit rate mode : Constant
Bit rate : 800 Kbps
Video
ID : 2
Format : VC-1
Format profile : MP@ML
Codec ID : WMV3
Codec ID/Info : Windows Media Video 9
Codec ID/Hint : WMV3
Duration : 13s 880ms
Bit rate mode : Variable
Bit rate : 2 954 Kbps
Width : 640 pixels
Height : 480 pixels
Display aspect ratio : 4/3
Zenitram
30th April 2009, 20:17
There is an annoyance with MediaInfo and WMV files: it always displays VC-1 as the format even though the video is purely WMV3/9.
From wikipedia:
http://en.wikipedia.org/wiki/VC-1
Simple and Main Profiles of VC-1 remained completely faithful to the existing WMV3 implementation, making WMV3 bitstreams fully VC-1 compliant.
--> Why is it an annoyance? from my point of view, WMV3 4CC is for VC-1 streams (limited to Simple and Main Profile), as DIVX/DX50/a lot of 4CC are MPEG-4 Visual... And the 4CC is displayed.
Brazil2
30th April 2009, 20:30
Why is it an annoyance? from my point of view, WMV3 4CC is for VC-1 streams (limited to Simple and Main Profile)
But WMV3 is not WVC1. It's not the same codec and it's not even handled by the same DLL. So the format is Windows Media 3/9 and not VC-1. In the examples psoted above it's not even the Pro version of WMV3.
I think Wikipedia is refering to the old WMV3-AP (wmvadvd.dll) now obsolete, but WMV3/9 has existed far before WVC1.
Zenitram
30th April 2009, 22:46
But WMV3 is not WVC1.
I understand this part.
If I understand well:
- WMV3 4CC is used for VC-1 Simple or Main Profile.
- WVC1 4CC is used for VC-1 Advanced Profile.
The free profiles (Simple, Main, Advanced) are in the SMPTE 421M specifications.
It's not the same codec and it's not even handled by the same DLL.
I try to not care about which codec (which is not a format, only a reader/writer) is used on which platform, but about the standardized specifications.
So the format is Windows Media 3/9 and not VC-1. In the examples psoted above it's not even the Pro version of WMV3.
Please provide me an sample which can not be decoded with the VC-1 specifications. Until now, all WMV3 files I have are decodable from the VC-1 specifications.
I think Wikipedia is refering to the old WMV3-AP (wmvadvd.dll) now obsolete, but WMV3/9 has existed far before WVC1.
Yes, WMV3 existed before WVC1, but the question is: what is VC-1? I read in the specifications that there are 3 profiles, and 2 of them are 100% the content of a WMV3 stream, so WMV3 4CC is from my point of view for VC-1 stream (SP or MP).
MediaInfo displays the name of the format, not the "codec" so for :
* WMV3:
Format : VC-1
Format profile : MP
Codec ID : WMV3
* WVC1:
Format : VC-1
Format profile : AP@L3
Codec ID : WVC1
--> This seems logic, this is what I see when I use my internal VC-1 decoder from the SMPTE 421M specifications, and what is on Wikipedia.
If Microsoft decides to use different DLL for different profiles or different 4CC, this is not a different format (as Microsoft filters can have a codec for DIVX 4CC, and another codec for XVID 4CC, but both are MPEG-4 Visual format, with different encoding parameters. I speak about DIVX and XVID because a lot of people think they are different too, but the 4CC can be inverted without problem ;-) ).
If you think that WMV3 is not VC-1, please provide me a sample I can't decode with a VC-1 decoder (a complete VC-1 decoder must decode the 3 profiles). Maybe your DLL can decode only some profiles of VC-1. I needed, I can provide the debug output from MediaInfo with all the fields names from the SMPTE 421 specs.
Octo-puss
2nd May 2009, 22:25
I got a video that I can't get to play correctly - the audio track only plays in WMP, but not in MPC. I do have FFDshow installed.
MediaInfo gives me this:
Audio
Format : AC-3
Format/Info : Audio Coding 3
Codec ID : 2000
Duration : 2h 52mn
Bit rate mode : Constant
Bit rate : 384 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Surround: L R, LFE
Sampling rate : 48.0 KHz
Resolution : 16 bits
Stream size : 474 MiB (28%)
Alignment : Split accross interleaves
Interleave, duration : 500 ms (12.50 video frames)
Interleave, preload duration : 500 ms
Does anyone know what I need to play it? :) Thanks!
Inspector.Gadget
3rd May 2009, 01:22
Octo-puss, try enabling the AC3 Source Filter in MPC.
Zenitram
8th May 2009, 12:19
Hey guys, now that Windows 7 has hit RC is there any plans for support of context menus?
The program works fine, but the context menus don't.
Tested on Windows 7 build 7077 x64, all works fine: right click on a file displays "MediaInfo", and mouse over a files displays the InfoTip.
See attachements for examples.
Audioboxer
8th May 2009, 13:05
Tested on Windows 7 build 7077 x64, all works fine: right click on a file displays "MediaInfo", and mouse over a files displays the InfoTip.
See attachements for examples.
It must only be broken in certain builds?
I'm using the RC candidate here, 7100, mediainfo version 0.7.15.
On this forum I visit someone else confirmed shell extensions weren't working for them - http://www.neowin.net/forum/index.php?showtopic=763562&hl=
Strange one :confused:
Zenitram
8th May 2009, 13:08
It must only be broken in certain builds?
I'm using the RC candidate here, 7100, mediainfo version 0.7.15.
On this forum I visit someone else confirmed shell extensions weren't working for them - http://www.neowin.net/forum/index.php?showtopic=763562&hl=
Strange one :confused:
One guy said it does not work with build 7077 x64, but mine test is OK!
So... Let wait for the official release...
rack04
14th May 2009, 22:17
Does anyone have a list of possible values of the Parameter Audio;%%Format%%? Here are the possible values list in the CLI_Help:
"MPEG Audio"
"AC-3"
"DTS"
"AAC"
"E-AC-3"
"Vorbis"
"WMA2"
I'm interested in the possible values for the HD audio formats, i.e. TrueHD+AC3, TrueHD, DTS-HD MA, DTS-HD HR, and LPCM. Thanks.
Keiyakusha
15th May 2009, 01:06
InfoTip works for me on Win7 x86 RC build 7100. Even here: :)
http://www.petaimg.com/u121/853123.png
But I have WMP and WMC uninstalled. Some time ago even on XP I remember that InfoTip may not working if you install new WMP first and then MediaInfo.
Zenitram
15th May 2009, 09:25
Does anyone have a list of possible values of the Parameter Audio;%%Format%%?
There is no "official" list, because the format may be in the container itself.
A list from my samples:
AAC
AC-3
ACELP
ADPCM
ALAC
ALS (MPEG-4 Audio Lossless Coding)
AMR
Cooker
DTS
DV Audio
E-AC-3
EVRC
FLAC
MIDI
MLP
Monkey's Audio
MPEG Audio
MusePack SV7
MusePack SV8
Nellymoser
PCM (LPCM, HD included)
QCELP
Qdesign 2
RealAudio Lossless
RT29
Shorten
Speex
TAK
TrueHD
TTA
TwinVQ
Vorbis
VP6
VP7
WavPack
WMA Lossless
WMA Pro
WMA2
WMA3
WMSpeech
ZWF
I'm interested in the possible values for the HD audio formats, i.e. TrueHD+AC3, TrueHD, DTS-HD MA, DTS-HD HR, and LPCM. Thanks.
For HD, some stuff is in the "Format_Profile" field because the base format is the same.
"Format_Profile" For DTS:
MA (Master Audio)
96/24 (96 KHz / 24 bits)
HRA (High Resolution Audio)
"Format" field for HD content I have is mainly PCM / E-AC-3 / TrueHD / DTS MA / DTS HRA / DTS 96/24.
But... Nearly every audio format may have "HD" content, "HD" is only more channels, better bitrate and so on...
Brazil2
20th May 2009, 20:03
Depending on the length of the files there are some missing informations about duration.
Examples:
With a very short file we have the ms:
Video
ID : 224 (0xE0)
Format : MPEG Video
Format version : Version 2
Format profile : Main@Main
Format settings, Matrix : Default
Duration : 44s 844ms
Audio
ID : 128 (0x80)
Format : AC-3
Format/Info : Audio Coding 3
Duration : 44s 768ms
A file over a minute of duration is missing the ms:
Video
ID : 224 (0xE0)
Format : MPEG Video
Format version : Version 2
Format profile : Main@Main
Format settings, Matrix : Default
Duration : 3mn 13s
Audio
ID : 128 (0x80)
Format : AC-3
Format/Info : Audio Coding 3
Duration : 3mn 13s
A full movie is missing both seconds and ms:
Video
ID : 224 (0xE0)
Format : MPEG Video
Format version : Version 2
Format profile : Main@Main
Format settings, Matrix : Default
Duration : 1h 37mn
Audio
ID : 128 (0x80)
Format : AC-3
Format/Info : Audio Coding 3
Duration : 1h 37mn
I'm quite sure these informations were present in older builds of MediaInfo. It would be nice to have them back.
Something else now: I've just installed the latest version 0.7.16 and despite of what is said in the changelog:
- VC-1 and MPEG-Video: displaying the original framerate for streams with 2:3 pulldown
it seems not to work:
General
Complete name : I:\Test\Pulldown.mpg
Format : MPEG-PS
File size : 20.0 MiB
Duration : 1mn 1s
Overall bit rate : 2 717 Kbps
Video
ID : 224 (0xE0)
Format : MPEG Video
Format version : Version 2
Format profile : Main@Main
Format settings, Matrix : Default
Duration : 1mn 1s
Bit rate mode : Variable
Bit rate : 2 161 Kbps
Nominal bit rate : 5 000 Kbps
Width : 720 pixels
Height : 480 pixels
Display aspect ratio : 16/9
Frame rate : 29.970 fps
Standard : NTSC
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.209
Stream size : 15.9 MiB (80%)
Audio
ID : 128 (0x80)
Format : AC-3
Format/Info : Audio Coding 3
Duration : 1mn 1s
Bit rate mode : Constant
Bit rate : 448 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Surround: L R, LFE
Sampling rate : 48.0 KHz
Stream size : 3.30 MiB (16%)
Menu
Format : DVD-Video
While GSpot is showing it right:
http://img35.imageshack.us/img35/7240/pulldowngspot.th.png (http://img35.imageshack.us/img35/7240/pulldowngspot.png)
Zenitram
20th May 2009, 20:50
Depending on the length of the files there are some missing informations about duration.
This is wanted.
You can have all the available fields, strings you want included, with menu Debug, "advanced mode".
You can create your own custom template if you want to have HH:MM:SS.MMM format or another format.
This is no more (for a long time) by default, users usually don't want to have a too much precise info (if a video is 120 minutes long, is it needed to have the seconds?).
Something else now: I've just installed the latest version 0.7.16 and despite of what is said in the changelog:
- VC-1 and MPEG-Video: displaying the original framerate for streams with 2:3 pulldown
2:3 Pulldown is not detected in your file, please provide me some seconds of your file, I will look at it.
Brazil2
20th May 2009, 21:41
You can create your own custom template if you want to have HH:MM:SS.MMM format or another format.
Please could you tell me which parameters line to use so I can see the seconds and ms in any case ?
I admit I'm a bit lost about how and which file to edit. I'm using the tree view as my default view.
2:3 Pulldown is not detected in your file, please provide me some seconds of your file, I will look at it.
Here you go:
http://www.zshare.net/download/6029356612a3bfcd
Zenitram
22nd May 2009, 14:46
Please could you tell me which parameters line to use so I can see the seconds and ms in any case ?
I admit I'm a bit lost about how and which file to edit. I'm using the tree view as my default view.
Unfortunatly, you can't yet choose fields for the Tree view (this is planed, but not the priority).
You can only choose it in the text view.
Menu options, "custom", and you edit the examples.
Your field is "Duration/String2"
Example of duration fields available:
Duration : 61760
Duration/String1 : 1mn 1s
Duration/String2 : 1mn 1s 760ms
Duration/String3 : 1mn 1s
Duration/String4 : 00:01:01.760
Here you go:
http://www.zshare.net/download/6029356612a3bfcd
OK, I corrected my code, 2:3 pulldown is now detected, development snapshaot is available:
https://sourceforge.net/project/showfiles.php?group_id=86862&package_id=197932
Brazil2
23rd May 2009, 17:52
Menu options, "custom", and you edit the examples.
Your field is "Duration/String2"
I've replaced the original "Duration/String1" string with "Duration/String2" but it seems to have an effect on the General tab only and not on the Video and Audio tabs.
Seconds might be important for a full movie because I had playback troubles after demuxing / converting / remuxing and there was a 5 seconds difference between audio and video in the final file and it took me a while to notice that.
Oh well, I think I just have to use the Advanced mode when needed, that's easier and faster :)
OK, I corrected my code, 2:3 pulldown is now detected, development snapshaot is available:
https://sourceforge.net/project/showfiles.php?group_id=86862&package_id=197932
It's working fine now with this build, thanks :)
Zenitram
24th May 2009, 20:41
I've replaced the original "Duration/String1" string with "Duration/String2" but it seems to have an effect on the General tab only and not on the Video and Audio tabs.
You have several parts, you have only modified the "General" part, modify the other parts too (upper left corner of the editing screen).
Atak_Snajpera
17th June 2009, 16:15
@Zenitram
Could you check this sample because mediainfo sees only one audio channel
http://www.mediafire.com/file/mixznz0jm1h/00000.m2ts
eneral
ID : 1
Complete name : C:\Users\Dawidos\Desktop\00000.m2ts
Format : BDAV
Format/Info : BluRay Video
File size : 50.0 MiB
Duration : 1mn 8s
Overall bit rate : 6 084 Kbps
Maximum Overall bit rate : 35.5 Mbps
Video
ID : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.0
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Duration : 1mn 8s
Bit rate : 5 066 Kbps
Nominal bit rate : 4 813 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16/9
Frame rate : 23.976 fps
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.229
Stream size : 41.6 MiB (83%)
Writing library : x264 core 67 r1165M 6841c5e
Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=7 / psy_rd=1.0:0.0 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-2 / threads=6 / nr=0 / decimate=1 / mbaff=0 / bframes=3 / b_pyramid=0 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / keyint=250 / keyint_min=25 / scenecut=40 / rc=2pass / bitrate=4813 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=25000 / vbv_bufsize=25000 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00
Audio
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : PCM
Format settings, Endianness : Big
Format settings, Sign : Signed
Duration : 1mn 8s
Bit rate mode : Constant
Bit rate : 768 Kbps
Channel(s) : 1 channel
Channel positions : Front: C
Sampling rate : 48.0 KHz
Stream size : 6.31 MiB (13%)
Zenitram
17th June 2009, 21:30
@Zenitram
Could you check this sample because mediainfo sees only one audio channel
For PCM in Blu-ray, this is an empiracal test, because I don't have the specs (if someone has them... ;-) ).
Please check the latest developemnt snapshot:
https://sourceforge.net/project/showfiles.php?group_id=86862&package_id=197932
(at least 20090617)
SeeMoreDigital
8th July 2009, 16:26
Hi Zenitram,
Would it possible to provide information regarding the PAR/SAR value and the output resolution of a video stream?
Something like this: -
http://i29.tinypic.com/34hf08x.png
Cheers
Zenitram
8th July 2009, 16:41
Hi Zenitram,
Would it possible to provide information regarding the PAR/SAR value and the output resolution of a video stream?
Cheers
?
If I understand well, this is already done.
Example with PAL DVD:
Width : 720 pixels
Height : 576 pixels
Display aspect ratio : 4/3
With Debug->"advanced mode":
Width : 720
Width : 720 pixels
Height : 576
Height : 576 pixels
Pixel aspect ratio : 1.066
Display aspect ratio : 1.333
Display aspect ratio : 4/3
--> Pixel aspect ratio is available, but not in the default view. You must create your own template with %PixelAspectRatio% field.
Note: this is an integer value, a "string" value (as "47/25" instead of "1.88") is doable, but I don't know the know all the know PAR strings.
microchip8
8th July 2009, 16:45
Hi Zenitram
a suggestion. On Linux it works perfectly fine. However I would like to see the runtime of the video file to be displayed as 1:42:12 instead of as 1h42m, for example
Zenitram
8th July 2009, 16:52
a suggestion. On Linux it works perfectly fine. However I would like to see the runtime of the video file to be displayed as 1:42:12 instead of as 1h42m, for example
Same thing, in advanced mode.
Duration : 356723
Duration : 5mn 56s
Duration : 5mn 56s 723ms
Duration : 5mn 56s
Duration : 00:05:56.723
On Linux GUI, custom view is not yet available, with the CLI ./mediainfo "--Inform=General;%Duration/String4"
Not by default because this is not the most requested view.
microchip8
8th July 2009, 17:05
Ah didn't know that. Still it'll be easier for my lazy butt to have it in the GUI as well so I won't have to type in terminal each time when I'm lazy ;)
Zenitram
8th July 2009, 17:14
Ah didn't know that. Still it'll be easier for my lazy butt to have it in the GUI as well so I won't have to type in terminal each time when I'm lazy ;)
This is planned, but not currently a priority, and my priority list is very long, so do not expect non-priorited stuff before a long time...
microchip8
8th July 2009, 18:11
This is planned, but not currently a priority, and my priority list is very long, so do not expect non-priorited stuff before a long time...
It's OK, it's not a priority for me either. Just that it would be nice to see it in the GUI as well :)
if I have mp4 file (or mkv) with x264 video stream, and I have PAR signaling specified in the video stream, and I have PAR signaling specified in the container as well - which one MediaInfo shows?
I know I --should-- have the same PAr in both places - but if I do not, which one it shows? Is there a way to see both, with indication which PAR comes from where?
Zenitram
8th July 2009, 21:11
if I have mp4 file (or mkv) with x264 video stream, and I have PAR signaling specified in the video stream, and I have PAR signaling specified in the container as well - which one MediaInfo shows?
In the "basic" view: final DAR, so from the container (mp4/mkv/avi)
In others views:
Width : 720 pixels
Height : 576 pixels
Display aspect ratio : 16/9
Original display aspect ratio : 5/4
--> Both are available.
I know I --should-- have the same PAr in both places - but if I do not, which one it shows? Is there a way to see both, with indication which PAR comes from where?
Yes, you should, but you are not alone. And you can try to cheat MediaInfo, but it will answer that you do it ;-).
Display aspect ratio = the one from the container
Original display aspect ratio = the one from the raw stream if it is demuxed, if different.
In the "basic" view: final DAR, so from the container (mp4/mkv/avi)
In others views:
Width : 720 pixels
Height : 576 pixels
Display aspect ratio : 16/9
Original display aspect ratio : 5/4
--> Both are available.
Yes, you should, but you are not alone. And you can try to cheat MediaInfo, but it will answer that you do it ;-).
Display aspect ratio = the one from the container
Original display aspect ratio = the one from the raw stream if it is demuxed, if different.
just to clarify, because maybe I have not explained myself properly.
Let's say I encoded NTSC DVD to x246. Assume it is a made fot TV show which most likely will be 720x480 and encoded anamorphically. So the x264 stream will have 720x480 encoded and flagged as 32:27 (which would give me proper 853x480 output, exactly 16:9).
Now I mux it into mkv container and specify container level signaling 1:1. So now I have an x264 stream, with encoded resolution 720x480, with stream level PAR 32:27, and with container level PAR 1:1. So following your example I would have:
Width: 720
Height: 480
Display Aspect Ratio: ? (is it 16/9 which it would be if observing stream level signaling, or 1.5 which it would be if observing container level signaling?). That is what I'm asking about. Ideally I should see both values, and indication what came from where.
Original Display Aspect Ratio: 1.5 (I'm assuming this is supposed to show the ratio of what is actually encoded, --not-- taking into account any signaling flags)
Zenitram
8th July 2009, 22:08
Let's say I encoded NTSC DVD to x246. Assume it is a made fot TV show which most likely will be 720x480 and encoded anamorphically. So the x264 stream will have 720x480 encoded and flagged as 32:27 (which would give me proper 853x480 output, exactly 16:9).
Original Display Aspect Ratio: 16/9, because you AVC/H264 stream (x264 is an encoder, no more!) flag it as 16/9, so if you demux it, you will have a 16/9 raw stream (720/480*32/27)
Now I mux it into mkv container and specify container level signaling 1:1.
Display Aspect Ratio: 1.5, because this is the DAR you specified in the container (720/480*1)
taking into account any signaling flags
No. Because AR from the AVC stream is part of the stream.
not taking into account any signaling is nothing, only the ratio between the count of width pixels / count of height pixels, because AVC AR is part of the stream (you can "demux" it!)
To summarize:
- raw stream AR is displayed ("Original DAR"), the one if you have this stream alone (demuxed)
- container AR is displayed ("DAR"), the one wanted as the "final AR" by the container.
a player always use one of theses 2 values depending of its capacities, providing width/height is non-sense, no decoder decodes as this.
Original Display Aspect Ratio: 16/9, because you AVC/H264 stream (x264 is an encoder, no more!) flag it as 16/9, so if you demux it, you will have a 16/9 raw stream (720/480*32/27)
Display Aspect Ratio: 1.5, because this is the DAR you specified in the container (720/480*1)
No. Because AR from the AVC stream is part of the stream.
not taking into account any signaling is nothing, only the ratio between the count of width pixels / count of height pixels, because AVC AR is part of the stream (you can "demux" it!)
To summarize:
- raw stream AR is displayed ("Original DAR"), the one if you have this stream alone (demuxed)
- container AR is displayed ("DAR"), the one wanted as the "final AR" by the container.
a player always use one of theses 2 values depending of its capacities, providing width/height is non-sense, no decoder decodes as this.
@Zenitram: thanks a lot, it all makes sense. Let me try couple of tests to confirm.
About 'a player always use one of theses 2' - are you saying there's no standard on which flag a player should use? It appears so, although one would think that such not-so-uncommon case would be standardized somewhere.
Zenitram
8th July 2009, 22:28
About 'a player always use one of theses 2' - are you saying there's no standard on which flag a player should use? It appears so, although one would think that such not-so-uncommon case would be standardized somewhere.
A player should respect the AR data from the container, if none from the raw stream, if none square pixels.
But this is theory.
AR data in container is optional (not mandatory), so all decoders may not handle it.
I plan later to have a database of each hardware/software player with their capacities for these reason.
ok, so for the life of me I never see the the 'Original Display Aspect Ratio' displayed in any view. Any ideas on what I'm doing wrong?
Also, if
(quoting Zenitram):
"Display aspect ratio = the one from the container
Original display aspect ratio = the one from the raw stream if it is demuxed, if different."
than if I'm analyzing raw x264 stream than I should never see Display Aspect Ratio because, well, there's no container. But I always see that, and never see 'Original display aspect ratio'.
Zenitram
9th July 2009, 07:31
ok, so for the life of me I never see the the 'Original Display Aspect Ratio' displayed in any view.
This kind of files are not so common...
Any ideas on what I'm doing wrong?
Are you sure you have different aspect ratio?
If yes, provide a sample.
This kind of files are not so common...
Are you sure you have different aspect ratio?
If yes, provide a sample.
I can't now, later today. Perhaps the muxers are messing things up. Essentially I encoded a short x264 into raw stream, with set sar flag in megui. SAR was like 32:27. the original video was 720x358. Than I took that x264 stream and muxed it into mkv using mkvtoolnix, and specified Display Aspect Ratio like 3.00 (purpousely too stretched) so it is definitely different that what stream signaling is. As per mkvtoolnix manual it is now supposed to preserve stream signaling. So I would expect to see:
Width : 720 pixels
Height : 358 pixels
Display aspect ratio : 3.00
Original display aspect ratio : 16/9
but I definitely did not see 'Original display aspect ratio' anywhere. Maybe mkvtoolnix did remove the stream signaling? Do you know of any tool that for sure --does not-- remove signaling when muxing?
Zenitram
9th July 2009, 18:03
So I would expect to see:
Width : 720 pixels
Height : 358 pixels
Display aspect ratio : 3.00
Original display aspect ratio : 16/9
Correct.
but I definitely did not see 'Original display aspect ratio' anywhere. Maybe mkvtoolnix did remove the stream signaling? Do you know of any tool that for sure --does not-- remove signaling when muxing?
No idea! I give info, but do not create it.
Wehn you send a file, I say if the signaling is present and if there is a problem in MediaInfo.
jmnk
10th July 2009, 07:06
Correct.
No idea! I give info, but do not create it.
Wehn you send a file, I say if the signaling is present and if there is a problem in MediaInfo.
@Zenitram
I've uploaded two short video clips.
First is a x264 stream with no container. I've encoded 720X358 resolution, with Megui calculated flag 1969:1620. This results in Display Aspect Ratio of 2.44, which is correctly reported as such by mediainfo. Although I would expect mediainfo to say that 'original display aspect ratio' as you indicated that this is how stream level ratio is identified.
here's the link: http://uploading.com/files/JRHMFOVZ/test.264.html
The other file is the very same stream muxed into mkv file, where I specified mkvtoolnix display aspect ratio of 3.00. mediainfo does say that Display Aspect Ratio is 3.00 - so that is good. But it does not say anything about Original Display Aspect Ratio.
that file is here:http://uploading.com/files/KE5OZL7V/test_3.00.mkv.html
SeeMoreDigital
10th July 2009, 09:25
I'e encoded 720X358 resolution, with Megui calculated flag 1969:1620. This results in Display Aspect Ratio of 2.44, which is correctly reported as such by mediainfo. Although I would expect mediainfo to say that 'original display aspect ratio' as you indicated that this is how stream level ratio is identified. Just so as you know. Creating 4 digit values is pretty much pointless. There's no greater accuracy to be obtained over a 3 digit value.
Cheers
Zenitram
10th July 2009, 10:07
First is a x264 stream with no container. I've encoded 720X358 resolution, with Megui calculated flag 1969:1620. This results in Display Aspect Ratio of 2.44, which is correctly reported as such by mediainfo. Although I would expect mediainfo to say that 'original display aspect ratio' as you indicated that this is how stream level ratio is identified.
1/ Orignal DAR is displayed only if it is different from DAR.
2/ What is the Original DAR? None. there is only a DAR (from the raw stream). Orignal DAR is only set when 2 values are possible. You can NOT extract a raw stream from a raw stream, there is not original DAR...
The other file is the very same stream muxed into mkv file, where I specified mkvtoolnix display aspect ratio of 3.00. mediainfo does say that Display Aspect Ratio is 3.00 - so that is good. But it does not say anything about Original Display Aspect Ratio.
OK, problem in my code for MKV.
Corrected: development snapshot is available at:
http://sourceforge.net/projects/mediainfo/files/
(development snapshot part, at least 20090710 version)
Width : 720 pixels
Height : 358 pixels
Display aspect ratio : 3.000
Original display aspect ratio : 2.444
Just so as you know. Creating 4 digit values is pretty much pointless. There's no greater accuracy to be obtained over a 3 digit value
You're right for MPEG-4 Visual (par_width/par_height are coded with 8 bits, precision is ~0.004, between 2 and 3 digits)
You're wrong for AVC (sar_width/sar_height are coded with 16 bits, precision is ~0.00002, between 5 and 6 digits)
And here, this is AVC, the file really contains sar_width=1969 and sar_height=1620.
Not very useful, but if you want to be precise, you can.
jmnk
10th July 2009, 17:11
Just so as you know. Creating 4 digit values is pretty much pointless. There's no greater accuracy to be obtained over a 3 digit value.
Cheers
thanks for the comment. I agree 4 digit is pointless. I did not put it in myself. MeGUI did. In fact, see this question http://forum.doom9.org/showthread.php?p=1303776#post1303776 where I ask why MeGUI does that. Nobody with knowledge addressed that question yet.
jmnk
10th July 2009, 17:13
1/ Orignal DAR is displayed only if it is different from DAR.
2/ What is the Original DAR? None. there is only a DAR (from the raw stream). Orignal DAR is only set when 2 values are possible. You can NOT extract a raw stream from a raw stream, there is not original DAR... I see. Makes sense once you explain it. All good here.
OK, problem in my code for MKV.
Corrected: development snapshot is available at:
http://sourceforge.net/projects/mediainfo/files/
(development snapshot part, at least 20090710 version)
Width : 720 pixels
Height : 358 pixels
Display aspect ratio : 3.000
Original display aspect ratio : 2.444
Thanks for the fix. I'll try later today. Since you mentioned 'problem in my code for MKV' - I'm pretty sure 'Original display aspect ratio' was not displayed for mp4 files either, have you looked into that too?
Zenitram
10th July 2009, 17:29
Thanks for the fix. I'll try later today. Since you mentioned 'problem in my code for MKV' - I'm pretty sure 'Original display aspect ratio' was not displayed for mp4 files either, have you looked into that too?
I have some mp4 files with Original DAR.
Same method as before: a sample.
jmnk
10th July 2009, 18:58
I have some mp4 files with Original DAR.
Same method as before: a sample.
can have sample later today. If you want it right now, and have YAMB, you can take the x264 sample I posted earlier and mux it with YAMB to mp4 file while specifying Pixel Aspect Ratio in YAMB (and set it to something different that x264 SAR stream is). That's what my sample would be. Although for the life of me I can't figure out what YAMB Pixel Aspect Ratio is supposed to do, and my question on YAMB thread remains unanswered. But I'm assuming it does 'something' so there should be container level and stream level signaling in the resulting file.
Your mp4 samples with Original DAR - what do you use to get mp4 file? YAMB? mp4box command line? MeGUI muxer? Else? Maybe my YAMB does not behave as expected (I use the latest version as posted on YAMB thread).
jmnk
11th July 2009, 06:13
I have some mp4 files with Original DAR.
Same method as before: a sample.
Here's an mp4 file that does not show 'Original display aspect ratio' (even with the latest 07102009 version of mediainfo)
http://uploading.com/files/BL0AE4SG/test-yamb4by3NTSC.mp4.html
SeeMoreDigital
11th July 2009, 11:02
Here's an mp4 file that does not show 'Original display aspect ratio' (even with the latest 07102009 version of mediainfo)
http://uploading.com/files/BL0AE4SG/test-yamb4by3NTSC.mp4.htmlI don't undertand... What is the "original display aspect ratio"?
Zenitram
11th July 2009, 11:40
If you want it right now, and have YAMB, you can take the x264 sample I posted earlier and mux it with YAMB to mp4 file while specifying Pixel Aspect Ratio in YAMB
I always prefer to have real sample from user, to have the same base of discussion
what do you use to get mp4 file? YAMB? mp4box command line? MeGUI muxer? Else?
None.
I analyse, I don't create.
Maybe my YAMB does not behave as expected (I use the latest version as posted on YAMB thread).
This is the reason I prefer to have your file.
Here's an mp4 file that does not show 'Original display aspect ratio' (even with the latest 07102009 version of mediainfo)
Deleted before I can get it :( (stupid!)
jmnk
11th July 2009, 17:03
I always prefer to have real sample from user, to have the same base of discussion
None.
I analyse, I don't create.
This is the reason I prefer to have your file.
Deleted before I can get it :( (stupid!)
@Zenitram: try again on mediafire
http://www.mediafire.com/file/hdgwu0mxwen/test-yamb4by3NTSC.mp4
Zenitram
11th July 2009, 17:13
@Zenitram: try again on mediafire
http://www.mediafire.com/file/hdgwu0mxwen/test-yamb4by3NTSC.mp4
Pixel Aspect Ratio box from MP4 (pasp box in the stsd box, hSpacing and vSpacing parts) is set to 10/11.
Pixel Aspect Ratio indice from AVC (aspect_ratio_idc in the VUI in the SQS) is set to 3 (--> set to 10/11)
--> DAR is 1.828 for both container and raw stream (rounded to 16/9)
This is normal, there is no Original DAR displayed because it is exactly the same as container DAR.
jmnk
11th July 2009, 19:15
Pixel Aspect Ratio box from MP4 (pasp box in the stsd box, hSpacing and vSpacing parts) is set to 10/11.
Pixel Aspect Ratio indice from AVC (aspect_ratio_idc in the VUI in the SQS) is set to 3 (--> set to 10/11)
--> DAR is 1.828 for both container and raw stream (rounded to 16/9)
This is normal, there is no Original DAR displayed because it is exactly the same as container DAR.
thanks for looking into it. I'm even more intrigued now.
To remove any possibility of getting wrong results because of non mod16 resolution I did one more test. I use MPC player to see how file plays.
I take NTSC sample, flagged as 16/9 DAR, no cropping, no resizing of any kind. So I'm encoding 720x480 stream. I encode using MeGUI to raw x264 stream. In MeGUI I select 'clever anamorphic..', but no resize, no cropping.
MeGUI calculates SAR = 96:79 (I do not know exactly why, but that is another story. To me it should be 32:27). Anyway, the resulting file plays at around 16:9 DAR, and mediainfo reports it as such (for all three x264 stream. mp4, mkv): 'Display aspect ratio : 16/9' There's no 'Original Display Aspect Ratio'. So far so good.
So now I take x264 and mux it into another mp4 using YAMB. I specify Pixel Aspect Ratio in YAMB as 4:3 NTSC (which is wrong, purpously). It appears that this results in YAMB passing PAR=10:11 to mp4box - which is correct. The resulting file plays at 720:528, which is almost 4:3 ratio, which is correct (I think the reason it is not exactly correct starts with MeGUI using ITU aspect ratios, but not suggesting that I should crop 720 to 704 - but that is not really related to mediainfo). Mediainfo shows only 'Display aspect ratio : 4/3' - which could be correct. That means that YAMB either:
- removed stream level signaling from x264 stream (but can you do that? Shouldn't mediainfo say 'Original Display Aspect Ratio: unspecified', or assume the signaling is 1:1 and than say 'Original Display Aspect Ratio: 1/1', or
- replace stream level signaling to match container level signaling.
fair enough.
So now I unmux that mp4 file with YAMB to get the raw x264 stream back. That unmuxed file plays at 720x480 resolution - which would indicate that stream level signaling is now set to 1:1 (which would indicate that during original muxing YAMB removes stream level signaling). But mediainfo says 'Display aspect ratio : 4/3' - which would indicate that there's stream level signaling present. So why does it play at 720x480 as if no signaling was present?
the files are here (there are three in zipped zrchived: x264, muxed mp4, and unmuxed mp4 back to raw stream).
http://www.mediafire.com/file/gz0mdmknqtm/test.zip
Keiyakusha
11th July 2009, 19:26
So now I take x264 and mux it into another mp4 using YAMB. I specify Pixel Aspect Ratio in YAMB as 4:3 NTSC (which is wrong, purpously).
Why you need to override aspect ratio? Afaik you should leave it blank. Also if you will mux to mp4 using Megui - then you will see that it doesn't put any PAR overrides to commandline.
jmnk
11th July 2009, 19:31
Why you need to override aspect ratio? Afaik you should leave it blank. Also if you will mux to mp4 using Megui - then you will see that it doesn't put any PAR overrides to commandline.
@Keiyakusha - thanks for comments. We are having theoretical discussion here with Zenitram, so please do not ask what is the practical reason. We just want to figure out what is going on.
Zenitram
11th July 2009, 20:09
- replace stream level signaling to match container level signaling.
This is this method.
Trace from my debug tool (not yet released, but I plan to release it ;-) ):
test720by480_MeGUIsar96by79.264
(...)
00000014 vui_parameters_present_flag (18 bytes)
00000014 vui_parameters_present_flag: Yes
00000014 aspect_ratio_info_present_flag (6 bytes)
00000014 aspect_ratio_info_present_flag: Yes
00000014 aspect_ratio_idc: FF (255)
00000015 sar_width: 60 (96)
00000017 sar_height: 4F (79)
00000019 overscan_info_present_flag: No
(...)
test720by480_MeGUIsar96by79_yambPAR4by3NTSC_unmuxedBack.h264 (exactly the same as in the mp4 file) :
(...)
0000000E vui_parameters_present_flag (14 bytes)
0000000E vui_parameters_present_flag: Yes
0000000E aspect_ratio_info_present_flag (2 bytes)
0000000E aspect_ratio_info_present_flag: Yes
0000000E aspect_ratio_idc: 3 (3) - 0.909
0000000F overscan_info_present_flag: No
(...)
Note: this is the only thing modified in the SQS.
Complete traces are attached.
But mediainfo says 'Display aspect ratio : 4/3' - which would indicate that there's stream level signaling present. So why does it play at 720x480 as if no signaling was present?
No idea. With VLC, it plays as 4/3 file (720*540 squaree pixels equivalent), normal the signaling is present wiht 0.909 SAR.
Your player is wrong if it does not play as 4/3.
Conlcusion : raw stream SAR is modified (not removed. Modified) during the muxing to comply with the container SAR, and is kept during the demux (the original SAR is not registred in the container and/or the raw stream).
Shouldn't mediainfo say 'Original Display Aspect Ratio: unspecified',
Currently, nothing is displayed (as if AR are same).
This was never requested by users.
What would be the need of such an indication for user? Same SAR or no SAR in the raw stream, the result is the same with all player I know.
Why you need to override aspect ratio? Afaik you should leave it blank. Also if you will mux to mp4 using Megui - then you will see that it doesn't put any PAR overrides to commandline.
This kind of files exist on the web.
There is this option in the muxers.
Why? No idea. This is not the (my) problem.
The problem is to detect such files (at least for me, developer of a tools with users wanting to detect this problem), so we need to create them in order to have samples, and to be sure about the origin of theses samples.
And as jmnk said, this is theoretical discussion (but about a real life problem)
Atak_Snajpera
21st July 2009, 16:42
General
Complete name : C:\Users\Dawidos\Desktop\Test split 4.mkv
Format : Matroska
File size : 33.9 MiB
Duration : 56s 724ms
Overall bit rate : 5 019 Kbps
Movie name : Test split 4
Encoded date : UTC 2009-07-21 15:38:26
Writing application : mkvmerge v2.9.0 ('Moanin'') built on May 22 2009 17:46:31
Writing library : libebml v0.7.7 + libmatroska v0.8.1
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.0
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Muxing mode : Container profile=Unknown@4.0
Codec ID : V_MPEG4/ISO/AVC
Duration : 56s 666ms
Bit rate : 3 409 Kbps
Width : 1 280 pixels
Height : 534 pixels
Display aspect ratio : 2.35
Frame rate : 23.976 fps
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.208
Stream size : 23.0 MiB (68%)
Shouldn't be 2.40 ? (1280/534 =~2.397...)
Zenitram
21st July 2009, 20:00
Shouldn't be 2.40 ? (1280/534 =~2.397...)
This field uses well known values.
Exact value is available with "advanced mode", the displayed field is what is the more coherent for the user.
2.35 is typical for movies.
Edit: oups, maybe a problem, Wikipedia says:
2.35: 35 mm anamorphic prior to 1970
2.39: 35 mm anamorphic from 1970 onwards
and "The anamorphic standard has subtly changed so that modern anamorphic productions are actually 2.39, but often referred to as 2.35 anyway, due to old convention."
--> I will add a "2.39" well known value.
Atak_Snajpera
21st July 2009, 20:14
-> I will add a "2.39" well known value.
This field uses well known values.
I would prefer real aspect ratio rounded to 2 digits (2.40). Blu-Ray movies use 2.40:1 instead of 2.39:1.
smok3
21st July 2009, 20:24
test720by480_MeGUIsar96by79.264
(...)
00000014 vui_parameters_present_flag (18 bytes)
00000014 vui_parameters_present_flag: Yes
00000014 aspect_ratio_info_present_flag (6 bytes)
00000014 aspect_ratio_info_present_flag: Yes
00000014 aspect_ratio_idc: FF (255)
00000015 sar_width: 60 (96)
00000017 sar_height: 4F (79)
00000019 overscan_info_present_flag: No
(...)
test720by480_MeGUIsar96by79_yambPAR4by3NTSC_unmuxedBack.h264 (exactly the same as in the mp4 file) :
(...)
0000000E vui_parameters_present_flag (14 bytes)
0000000E vui_parameters_present_flag: Yes
0000000E aspect_ratio_info_present_flag (2 bytes)
0000000E aspect_ratio_info_present_flag: Yes
0000000E aspect_ratio_idc: 3 (3) - 0.909
0000000F overscan_info_present_flag: No
(...)
ok, so eSAR turned into SAR, nothing really unexpected, only slight confusion about not being told from yamb that there is indeed an eSAR value allready present... (aspect_ratio_idc = 255)
Zenitram: why exactly do you think there is a need to print DAR values? (and even worse: known ones), imho it would be better to get the exact SAR/PAR and be done with it (maybe with DAR as a second display filed, like so: DAR : exactly 2.38773, approx known/wikipedia value 2.40)
p.s. probably i should start with: Zenitram, great tool mediainfo is, i use it daily! (the cli version)
Zenitram
21st July 2009, 20:28
I would prefer real aspect ratio rounded to 2 digits. Blu-Ray movies use 2.40:1 instead of 2.39:1.
From Wikipedia:
The 2.39:1 ratio is commonly labeled 2.40:1, e.g., in the American Society of Cinematographers' American Cinematographer Manual,
but in the discussion page:
The exact frame from a scope element is 2.34 and change, rounded to 2.35:1. The SMPTE projection aperture is 2.39 and change, rounded to 2.40:1
I try to conform to the reality, not what the biggest say (for example, I refuse too to call DivX all MPEG-4 Visual ASP streams, DivX is only an encoder...)
So... what is the real DAR? 2.39 or 2.40? Difficult to say.
I googled a bit, I foud this text "In the seventies, the 2.35:1 aspect ratio was projected a little narrower to hide the splice marks visible on the reels. So it became 2.39:1 (actually closer to 2.40:1)"
--> OK, 2.40 seems to be a good display.
Zenitram
21st July 2009, 20:34
Zentram: why exactly do you think there is a need to print DAR values? (and even worse: known ones), imho it would be better to get the exact SAR or PAR and be done with it (maybe with DAR as a second display filed, like so: DAR : exactly 2.38773, approx known value 2.39)
"classic" formats were limited to 16*16 blocks, so AR was never precise (this is a bit less true with AVC, cropping in the stream is possible) + I try to display what is the industry standard.
--> Well known values are are more useful for people (is it interessant to see 1.81 badly encoded instead of 16/9. I don't think so), I display it. real aspect ratio is still available (custom template)
smok3
21st July 2009, 20:38
what i actually do sometimes (but thats just me) is to crop to closest mod16 resolution and use appropriate SAR with encoding (that will preserve the correct shapes, round will be round, but will indeed kill the original DAR, which is not really that interesting anyway (again thats only my opinion)).
edit: i need to learn how to do those custom templates.
SeeMoreDigital
21st July 2009, 20:45
Here's my 2 cents...
I'm of the opinion that the DAR should be calculated from the encodes resolution. And rounded to the closest two point (ie: x.xx) value.
The movie aspect ratio very rarely complies exactly to 2.35, 2.39, 2.40 etc, etc...
Zenitram
21st July 2009, 20:55
It is calculated from encodes resolution (this is the only one I have ;-) ).
but my "classic" users are more interested in what is the "industry" DAR (ie: is it 4/3? 16/9? 2.40? as with the original blu-ray support), not the precise DAR (they don't car of 1.81 DAR, this is not very sexy to read) if a DAR is near from a known value (if this is 1.95, I display 1.95 ;-) ).
I try to make most people happy, but I can't make everyone happy when they have opposite wishes.
For making everyone happy, exact DAR is provided but not displayed by default, and I provide a template system, not currently sexy enough (laking of customization for tree view for example), but I work on it.
I thought about something like "1.81 (16/9)" as default display, but this provides a lot of information, too much numbers, screen may have too much data (there is already too much data in theses screens...), too confusing for "classic" users (don't forget: I don't have only experts as in Doom9 forums, I have a lot of newbees too).
SeeMoreDigital
21st July 2009, 21:12
One thing that puzzles me is why you offer so many "view" options (ie: Basic, Sheet, Tree, Text, HTML and Custom). Do you really need to offer all these options?
Zenitram
21st July 2009, 21:29
One thing that puzzles me is why you offer so many "view" options (ie: Basic, Sheet, Tree, Text, HTML and Custom). Do you really need to offer all these options?
Which view do you like? whatever is your reply, your neighbour would reply another view.
If I remove a view (I already tried!), I have complains from users who were using this view.
Historicly, there were only one view: Tree view.
some times after, users were wanting copy/paste option --> Text view
some times after, users were wanting a "better" display, copy/paste option for website --> HTML view
some times after, user were wanting their cutom view, with templates --> Custom view
some times after, AVIcodec was abandonned, and a link to MediaInfo was made, users from AVIcodec requested the same view "as before" --> Sheet view
some times after, users were complaing about too complex views, too much data whatever is the selected view --> Easy view (default, I have a lot of newbees).
No, they were not the same users... So each view is for each user. Each user can select its best view and remove all menus (top and left menu), so a MediaInfo lite (not made by me) is a bit strange for me: it may be done by setting Text view as default, unchecking menu and toolbar display option ;-).
I have a lot of requests for other kind of view, but I don't create them, this is too much... The current count of view is for me the best count between a simple interface and users requests.
My goal is to be good for all users, and users are not the same.
I have the same problem with fields: If I listen everybody, 10x the count of displayed fields would be displayed, never the same, awful! I try to select the more interessant, and let the others available for templates, I don't remove them.
SeeMoreDigital
21st July 2009, 22:09
How about offering two selectivity options. Say, "Basic" and "Expert"?
With the "Basic" version offering all the "view" options. And the "Expert" version offering only the "Text" option...
SeeMoreDigital
21st August 2009, 12:24
Hi Jerome,
I've been experimenting with creating chapters in MKA files and have noticed that although MediaPlayer Classic HC is able to display the chapter information correctly: -
http://i27.tinypic.com/2w34brm.png
The chapter information MediaInfo provides is very different: -
http://i25.tinypic.com/25usdbo.png
Is it a bug or something I'm doing wrong?
Cheers
Zenitram
21st August 2009, 16:31
Is it a bug or something I'm doing wrong?
This is undoubtly a bug (duration of 59 hours!), please provide a sample (only the "header", menu debug from the GUI, is enough if you don't want to send the whole file)
SeeMoreDigital
21st August 2009, 16:57
Thanks... Here you go: -
http://www.one.seemoredigital.net/Downloads/Header_Debug.zip
EDIT: Just so as you know, the chapter data for .MP4 files looks okay: -
http://i32.tinypic.com/2ey9gzc.png
Cheers
Mangix
21st August 2009, 20:48
small OT: what's the difference between creating an mka album with chapters instead of creating an aac file with an embedded cuesheet?
SeeMoreDigital
21st August 2009, 20:52
small OT: what's the difference between creating an mka album with chapters instead of creating an aac file with an embedded cuesheet?Please confirm. What container is the AAC stream and embedded cue sheet in?
Mangix
21st August 2009, 22:03
my apologies. the regular mp4
SeeMoreDigital
21st August 2009, 22:06
my apologies. the regular mp4As far as I'm aware the .MP4 container does not support "embedded" cue sheets!
Mangix
22nd August 2009, 20:35
my bad again. it seems mp4 doesn't support cuesheets like you said. But it does at least support chapters. should be good enough in most cases.
vlada
1st September 2009, 08:50
Hi,
I have a VOB file which MediaInfo 0.7.20 reports as 16:9. I have an old version 0.7.7 which reports it as 4:3. The correct AR is 4:3 (according to picture) and also MPC-HC plays it as 4:3. On the other side VLC plays it as 16:9. The file comes from a Panasonic DVD recorder. Do you have any idea what might be wrong with this file?
Zenitram
1st September 2009, 08:52
I have a VOB file which MediaInfo 0.7.20 reports as 16:9. I have an old version 0.7.7 which reports it as 4:3. The correct AR is 4:3 (according to picture) and also MPC-HC plays it as 4:3. On the other side VLC plays it as 16:9. The file comes from a Panasonic DVD recorder. Do you have any idea what might be wrong with this file?
I need a small part (few seconds) of the file in order to say which software is right.
vlada
1st September 2009, 09:59
Here is a 1MB sample: http://www.sendspace.com/file/2obf4b
SeeMoreDigital
1st September 2009, 10:30
The MPEG-2 streams "Sequence Display Extension" horizontal size (Display Size in DGIndex) is set to 540 pixels, not 720 :scared:
Zenitram
1st September 2009, 11:06
The MPEG-2 streams "Sequence Display Extension" horizontal size (Display Size in DGIndex) is set to 540 pixels, not 720 :scared:
Yes, problem is from this ;-)
If sequence_display_extension() is present (it is in this sample), PAR is based on it: 4:3 AR for 540*576 pixel.
The real file is 720*576, do AR is streched to 4:3 * 720 / 540 = 16:9.
DAR displayed depends of the decoder, specification say it can do what it wants:
- cut the movie and display 4:3 with 540 pixels
- not cut and display 16:9 with 720 pixels
If your movie is complete (720 pixels wide) and displayed 4:3 by your decoder, your decoder is wrong.
If your movie is 4:3 with 720 pixel in reality, your encoder is wrong (it should not put 540 as displayed width).
In the latests releases, MediaInfo handles sequence_display_extension() (it wasn't before), this is the reason your files is analyzed differently now. In reality, I think the encoder is wrong if you say the real DAr is 4:3 with 720 pixels wide...
Two many options in MPEG-2 Video, DAR calculation is difficult...
Note: MPC (normal) plays it as 16:9 too. PowerDVD plays is as 4:3. Crazy.
vlada
1st September 2009, 12:22
Thanks a lot guys for your analysis. It is really wired. The movie is full 720x576 and should be 4:3.
Btw. how do you get the value of sequence_display_extension? I would like to check if other files from the recorder have the same problem.
Zenitram
1st September 2009, 12:26
Btw. how do you get the value of sequence_display_extension? I would like to check if other files from the recorder have the same problem.
Not available in MediaInfo (too many values if I display all for all formats...).
SeeMoreDigital gave the solution with DGIndex
Zenitram
4th September 2009, 17:00
I've been experimenting with creating chapters in MKA files and have noticed that although MediaPlayer Classic HC is able to display the chapter information correctly
MediaInfo 0.7.21 is released, and your bug is corrected.
SeeMoreDigital
4th September 2009, 17:13
MediaInfo 0.7.21 is released, and your bug is corrected.I'll give it a go right now... Thanks mate :)
vlada
8th September 2009, 08:41
Hi,
I have another video with strange (inconsistent) AR information. This time it is DV AVI. MediaInfo reports this:
Display aspect ratio : 5:4
Original display aspect ratio : 16:9
What does this mean? The video should be 16:9 (according to picture). Do you have any explanation for this? I'm asking just out of curiosity.
Zenitram
8th September 2009, 08:51
Display aspect ratio : 5:4
Original display aspect ratio : 16:9
What does this mean?
"Display aspect ratio" is the DAR from the container (AVI in your case, but surprising, see below)
"Original display aspect ratio" is the DAR from the raw stream (DV in your case).
This makes more sense in MKV or MP4, container may adapt the raw stream, but not classic in AVI.
The video should be 16:9 (according to picture). Do you have any explanation for this? I'm asking just out of curiosity.
I am interested in having at least the "header" of the file (GUI: menu "debug", "create a header file", because there is usualy no DAR in an AVI, so the DAR from DV should be the normal DAR.
vlada
8th September 2009, 11:42
The header is here (http://www.mediafire.com/?ldzzysmypm8).
Zenitram
8th September 2009, 13:44
I have another video with strange (inconsistent) AR information. This time it is DV AVI.
So... This is a bug from me, DV in AVI is a bit difficult to handle.
AR is 16:9, always.
You can check the latest development snapshot:
http://sourceforge.net/projects/mediainfo/files/zzz_Development%20snapshots/
(at least version 20090908)
SeeMoreDigital
8th September 2009, 14:25
"Display aspect ratio" is the DAR from the container (AVI in your case, but surprising, see below)
"Original display aspect ratio" is the DAR from the raw stream (DV in your case).
This makes more sense in MKV or MP4, container may adapt the raw stream, but not classic in AVI.This is too confusing...
If the input source has a frame size (or resolution) of say, 720x576 pixels then yes, the lowest denomination of 720/576 is 5/4. However, this should not be referred to as DAR. It should be referred to as FAR, ie: Frame Aspect Ratio.
DAR should only refer to the shape of the output displayed image... and nothing else.
Cheers all
Zenitram
8th September 2009, 14:37
DAR should only refer to the shape of the output displayed image... and nothing else.
It does. Only the output displayed image. "5/4" in the vlada file was an error, I corrected it.
2 DAR values are requested by users, to be more precise:
"Display aspect ratio" is the DAR from the container if the player knows how to read the DAR from the container (all players don't support this optional feature).
"Original display aspect ratio" is the DAR from the raw stream, if you demux it or if the container DAR setting is removed, AND if it is different than the container DAR.
Both values are useful for some users. When there is a difference between theses 2 values, the file may be considered "Somebody has played with DAR, there may be a problem with DAR, be careful".
And some people play with DAR settings in the container...
vlada
8th September 2009, 14:56
Zenitram> Many thanks for the very quick fix!
SeeMoreDigital
8th September 2009, 15:01
"Original display aspect ratio" is the DAR from the raw stream, if you demux it or if the container DAR setting is removed, AND if it is different than the container DAR.And it is this "terminology" that should be changed to FAR, ie: Frame Aspect Ratio!
Zenitram
8th September 2009, 15:58
And it is this "terminology" that should be changed to FAR, ie: Frame Aspect Ratio!
Googling gives
http://help.adobe.com/en_US/AfterEffects/9.0/WS3878526689cb91655866c1103906c6dea-7f3aa.html
"Frame aspect ratio (sometimes called image aspect ratio or IAR) is the ratio of width to height of the image frame."
--> No indications about if it is from raw stream or container.
I saw avinaptic speaking of Frame Aspect Ratio.
--> is there somewhere some documentation about FAR? Other tools?
I am not against changing terminology, but I have another problem: how would you call Original PAR (if Original DAR is different, Original PAR is different too...)
I have an example:
Width : 720 pixels
Height : 576 pixels
Pixel aspect ratio : 1.422
Original pixel aspect ratio : 1.000
Display aspect ratio : 16:9
Original display aspect ratio : 5:4
How would you name "Original pixel aspect ratio" field?
I may change:
Pixel aspect ratio : 1.422
??? : 1.000
Display aspect ratio : 16:9
Frame aspect ratio : 5:4
SeeMoreDigital
8th September 2009, 19:59
Googling gives
http://help.adobe.com/en_US/AfterEffects/9.0/WS3878526689cb91655866c1103906c6dea-7f3aa.html
"Frame aspect ratio (sometimes called image aspect ratio or IAR) is the ratio of width to height of the image frame."
--> No indications about if it is from raw stream or container.
I saw avinaptic speaking of Frame Aspect Ratio.
--> is there somewhere some documentation about FAR? Other tools? The logic behind using the term "Frame Aspect Ratio" comes from the understanding that just as with film, video consistently uses the word "frames". Such as: frame rate, frame frequency, frame speed, frames per second, interlaced frame, progressive frame. Along with other expressions such as: frame grab, frame store, frame capture, frame serve, frame editor, etc, etc. Sufficed to say, everybody knows what a "frame" is.
Given this to be the case it "follows" that people should also understand what is meant by: frame height, frame width, frame dimensions and/or frame size. So when you know a video frames height and width you can work out the video frames aspect ratio (FAR).
http://i26.tinypic.com/nynug.png
http://i28.tinypic.com/2ce2nhj.png
Cheers
EDITED: To hopefully satisfy jmnk's linguistic requirements...
Zenitram
8th September 2009, 20:00
you can work out the video frames aspect ratio (FAR).
OK, I will change terminology for next version.
Thanks for your advice.
jmnk
9th September 2009, 00:37
OK, I will change terminology for next version.
Thanks for your advice.
Not that one's opinion is more valuable than others but I would suggest at least a tiny bit of research and/or poll before changing the label. In particular the argument "[...] it is safe to assume people should also understand what is meant by" is just flawed. You know what happens when you assume.....
Brazil2
9th September 2009, 12:13
Some multichannel sound samples can be found in this post:
http://forum.doom9.org/showthread.php?p=1322796#post1322796
For the TrueHD sample MediaInfo (0.7.21) detects only 6 channels:
Audio
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : AC-3
Format/Info : Audio Coding 3
Format profile : TrueHD
Duration : 1mn 34s
Bit rate mode : Variable
Bit rate : 640 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Surround: L R, LFE
Sampling rate : 48.0 KHz
Stream size : 7.21 MiB (4%)
For the E-AC-3 sample MediaInfo detects only 5 channels:
Audio
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : E-AC-3
Format/Info : Audio Coding 3
Duration : 1mn 34s
Bit rate mode : Constant
Bit rate : 1 024 Kbps
Channel(s) : 5 channels
Sampling rate : 48.0 KHz
Stream size : 11.5 MiB (9%)
But eac3to detects all of the channels and extracts/converts them correctly to WAVs. Example with the TrueHD sample:
M2TS, 1 video track, 1 audio track, 0:01:34
1: h264/AVC, 1080i60 /1.001 (16:9)
2: TrueHD/AC3, 7.1 channels, 48khz
[a02] Extracting audio track number 2...
[a02] Extracting TrueHD stream...
However the detection of channels is correct for the DTS-HD HR sample.
I haven't downloaded the 241 MB LPCM 7.1 sample so maybe it's worth to check this one as well.
And also it seems that MediaInfo is parsing the whole M2TS file before displaying the results which can take a while in case of large files. I think it was not like that in older versions.
Zenitram
9th September 2009, 14:22
For the TrueHD sample MediaInfo (0.7.21) detects only 6 channels:
Unfortunatly, I don't know the format (the bitstream details) of HD part from AC-3, if someone has specifications...
VLC now supports more AC3 stuff, I will try to look on its source code.
For the E-AC-3 sample MediaInfo detects only 5 channels:
This one is more in the "bug" section. it should be easier to correct.
However the detection of channels is correct for the DTS-HD HR sample.
Thanks to eac3to developper, he helped me on this part!
If I don't succeed to find some useful code in VLC, I will try to contact him again for AC3 stuff.
And also it seems that MediaInfo is parsing the whole M2TS file before displaying the results which can take a while in case of large files. I think it was not like that in older versions.
It was a bug in versions <=0.7.20, but no more since 0.7.21.
(or my hard drive is very fast, 20 GB M2TS in 2 seconds ;-) ).
If you continue to have this problem with 0.7.21, I will need at least 200MB of the file in order to see why it doesn't seek.
ipanema
18th September 2009, 11:31
I'm a bit confused about "Video delay". When I point Mediainfo at a VOB I might see a Video delay of -62ms in the AC3 audio properties. I presume this is the same as the audio delay that is displayed by DVDLab though I can't check right now.
Also if I point Mediainfo at a MTS file from an AVCHD camcorder it might display a Video delay of -33ms for the AC3 audio stream.
As Mediainfo calls this VIDEO delay and it is negative then I assume it means the video leads (happens before) the audio by 62 or 33ms in the above examples.
But how is this delay value stored? Is it a value in the VOB or MTS structure, or a value in the AC3 structure, or is it calculated from the position of packets of video and audio having the same PTS ..... or something else?
Zenitram
18th September 2009, 11:44
But how is this delay value stored? Is it a value in the VOB or MTS structure, or a value in the AC3 structure, or is it calculated from the position of packets of video and audio having the same PTS ..... or something else?
For MPEG-TS (AVCHD, blu-ray included) or MPEG-PS (EVO included):
* "Delay" field: hidden by default (menu Debug --> "Advanced mode") will display the PTS (presentation timestamp) of the first detected packet with keyframe (for video or audio). P or B-frames before the first I-frame may be present in the file, but they will be discarded (without the I-frame before, they are not decodable)
* "Video delay" for audio is "Audio" timestamp minus "Video" timestamp.
There are often delays in MPEG-TS/PS because theses containers are "real time containers", you can cut the file when you want, the player synchronizes with PTS.
For the camrecorder, begin timestamps should be same when the file is not cut (the begin of the file is the start of the camrecorder), but I never had this kind of material, if you think there is an error send me the begin of file, I will show you the timestamps.
ipanema
18th September 2009, 13:16
So for an MTS file I just looked at,
Audio -> Delay: 1s 915ms
Audio -> Video Delay: 33ms
Video -> Delay: 1s 948ms
If I understand rightly, the first I frame in the file has a PTS of 1.948 secs, and the first audio packet has PTS of 1.915 secs.
So the "Video delay" is just the difference between these - that is -0.033 secs.
I had thought that the "video delay" value meant that it you took a video and audio packet that had the SAME PTS value, then the "video delay" would be the amount by which you would have to shift the audio samples in time so that they would give lip-sync in playback.
It seems I'm mistaken about that. It seems that the "video delay" is just a measure of the amount of audio "missing" at the start of the file (that is, the amount of silent video at the start of the file).
So if you were to demux an MTS file, how would subsequent re-muxing work? Would you have no PTS values to work with? Would you just have to assume that the first video I frame was in sync with the first audio sample?
If that is how muxing works then I guess the "video delay" would have to be passed to the muxer somehow to tell it to add or subtract an amount from the start PTS of the audio packets - this would again tell the playback system that there was N secs of audio missing at the start of the file.
Of course in my example the video delay is NEGATIVE so there is actually LEADING audio packets in the file before the video starts.
Zenitram
18th September 2009, 13:28
I had thought that the "video delay" value meant that it you took a video and audio packet that had the SAME PTS value, then the "video delay" would be the amount by which you would have to shift the audio samples in time so that they would give lip-sync in playback.
MediaInfo is "technical", it does not provide this kind of info.
So if you were to demux an MTS file, how would subsequent re-muxing work?.
You need this value.
This is the reason on the presence of this value.
Would you have no PTS values to work with? Would you just have to assume that the first video I frame was in sync with the first audio sample?
This is related to your muxer.
But because Delay info is kept out during the demuxing (PTS is in the container), your muxer can't know the delay between streams, you must provide this information.
Of course in my example the video delay is NEGATIVE so there is actually LEADING audio packets in the file before the video starts.
It may be negative or positive.
I display info as a lot of other software display it (for example, DVD Decrypter save this value in the name of the file something like "xxx Delay -33ms.ac3")
ipanema
18th September 2009, 13:59
Right, so the muxer would have to ASSUME that the first I-frame in the video file was in-sync with the first audio sample of the audio file, and apply the SAME start PTS to both in the multiplexed file.
But if you also tell the muxer a "video delay" value then it will add or subtract that amount to the audio's start PTS.
Is it also possible to have a "video delay" in VOB or MPEG TS files which have MPEG 1 layer 2 or PCM audio? I think I've only ever seen a "video delay" value for files which have AC3 audio - but this may just be coincidence.
Zenitram
18th September 2009, 14:01
Is it also possible to have a "video delay" in VOB or MPEG TS files which have MPEG 1 layer 2 or PCM audio? I think I've only ever seen a "video delay" value for files which have AC3 audio - but this may just be coincidence.
This is possible, coincidence only.
ipanema
18th September 2009, 14:56
Thanks for the info.
However in my example file I just noticed that after the I frame there is a B frame which has a lower PTS and it is the same as the first audio PTS (1.915 sec). This B frame would appear before the I frame in presentation order.
Then I noticed you said "Delay field: will display the PTS (presentation timestamp) of the first detected packet with keyframe (for video or audio). P or B-frames before the first I-frame may be present in the file, but they will be discarded (without the I-frame before, they are not decodable)"
This isn't the case if the GOP is closed. In the example file above the decoder DOES output the B frame then the I frame, so in the case of this file shouldn't the "video delay" be 0 ?
It seems that most camcorder MTS files do have closed GOPs and decoders do output the leading B frame(s).
Zenitram
18th September 2009, 15:02
This isn't the case if the GOP is closed. In the example file above the decoder DOES output the B frame then the I frame, so in the case of this file shouldn't the "video delay" be 0 ?
It seems that most camcorder MTS files do have closed GOPs and decoders do output the leading B frame(s).
If the B-frame is displayed by the decoder, this is definitly an error from MediaInfo (I still have problem in understanding all b-frame stuff).
This would be more logic (why the camrecorder would have a delay?)
Could you provide 20-30 MB of a file, I would like to improve MediaInfo delay detection in this case (closed GOP)
Stupid question: the B-frame is based on the I-frame after, OK, and which other frame?
ipanema
18th September 2009, 15:24
The B frame must be based only on the I frame that is presentationally AFTER it (i.e. the I frame appears BEFORE it in the file/encoding order). The B frame is not based on any earlier frames (there are none) - that's what a closed GOP means. If they were based on earlier frames which were not present then the GOP is open. Note that this applies to MPEG-2 also so you may need to look at how the video delay for MPEG-2 is calculated aswell.
Of course there may be 1 or 2 B frames (or more?) presentaionally before the I frame. I suggest something like .... look forward from the start of file for the first I frame, then continue searching forward for the next video frame whose PTS is greater than the I-frame's PTS - during the search count the number of frames you find whose PTS is less than the I-frame's PTS.
That will give you the number of B frames that are presentationally before the I frame, but it won't tell you whether the decoder WILL output the preceeding B frames. For that you need to look for the closed-gop flag in MPEG-2. Unfortunately for H.264 (MTS) I don't know where the corresponding flag is (I would love to know).
ipanema
18th September 2009, 15:51
I've PM-ed you but my Sent folder is still empty so I don't know if you have received the message - let me know if not.
Shark007
5th October 2009, 20:52
For your consideration; This 7.1 TrueHD audio (http://www.mediafire.com/download.php?jjytugeo5tm) sample is detected as only having 6 channels. Current FFDshow (rev3094) releases detect all 8 channels.
SeeMoreDigital
5th October 2009, 21:46
For your consideration; This 7.1 TrueHD audio (http://www.mediafire.com/download.php?jjytugeo5tm) sample is detected as only having 6 channels. Current FFDshow (rev3094) releases detect all 8 channels.If MediaInfo could identify the properties of the "core" and "HD" parts separately, yes this would be very useful.
Cheers
Brazil2
13th October 2009, 16:44
I'm getting strange results with a MTS file recorded with a Panasonic TZ7:
General
ID : 0
Complete name : F:\Test\TZ7.MTS
Format : BDAV
Format/Info : Blu-ray Video
File size : 8.46 MiB
Duration : 4s 672ms
Overall bit rate : 15.2 Mbps
Maximum Overall bit rate : 18.0 Mbps
Video
ID : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.0
Format settings, CABAC : No
Format settings, ReFrames : 1 frame
Duration : 4s 640ms
Bit rate : 14.4 Mbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate : 25.000 fps
Standard : NTSC
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.624
Stream size : 7.95 MiB (94%)
Audio
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : AC-3
Format/Info : Audio Coding 3
Duration : 4s 672ms
Bit rate mode : Constant
Bit rate : 192 Kbps
Channel(s) : 2 channels
Channel positions : L R
Sampling rate : 48.0 KHz
Stream size : 110 KiB (1%)
How can it be NTSC with 25 FPS ?
And also MPC-HC, TsMuxer and MP4Box are all saying that the file is 50 FPS.
Example from MPC-HC:
Video: MPEG4 Video (H264) 1280x720 50.00fps [Video]
Audio: Dolby AC3 48000Hz stereo 192Kbps [Audio]
Sample:
http://www.megaupload.com/?d=4PFDDYK4
LoRd_MuldeR
13th October 2009, 17:27
How can it be NTSC with 25 FPS ?
It can't. The definition of NTSC in the "digital world" is 720x480@29.97fps. The video size of 1280x720 also isn't NTSC.
SeeMoreDigital
13th October 2009, 17:34
Hi Brazil2,
In order for these Panasonic 1280x720 video streams to comply with the Blu-ray specification they contain an implementation called "frame repeats". This raises the frame speed from 25fps to 50fps but not the number of "actual" progressive frames.
I guess it can be further described as a form of pull-down.
EDIT: After re-muxing the elementary stream into the .MP4 container, here's what AVInaptic reports. Is there any data listed here that could explain why MediaInfo thinks it's an NTSC stream: -
[ Relevant data ]
Resolution: 1280 x 720
Width: multiple of 32
Height: multiple of 16
Average DRF: 21.931623
Standard deviation: 1.875284
Std. dev. weighted mean: 1.746235
[ Video track ]
Codec: avc1
Resolution: 1280 x 720
Frame aspect ratio: 16:9 = 1.777777
Pixel aspect ratio: 1:1 = 1
Display aspect ratio: 16:9 = 1.777777
Framerate: 50 fps
Number of frames: 117
Bitrate: 28402.984615 kbps
[ About H.264 encoding ]
SPS id: 0
Profile: High@L4
Num ref frames: 1
Aspect ratio: Square pixels
Chroma format idc: YUV 4:2:0
PPS id: 0 (SPS: 0)
Entropy coding type: CAVLC
Weighted prediction: No
Weighted bipred idc: No
8x8dct: No
Custom intra4X4 luma:
5 7 10 12
7 10 12 16
10 12 16 20
12 16 20 20
Custom intra4X4 chromau:
5 8 12 16
8 12 16 16
12 16 20 24
16 20 24 24
Custom intra4x4 chromav:
5 8 12 16
8 12 16 16
12 16 20 24
16 20 24 24
Custom inter4X4 luma:
10 15 24 30
15 24 30 36
24 30 36 36
30 36 36 36
Custom inter4X4 chromau:
9 13 20 25
13 20 25 30
20 25 30 30
25 30 30 30
Custom inter4x4 chromav:
9 13 20 25 13 20 25 30
20 25 30 30 25 30 30 30
135 110 211 247 129 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
Number of frames: 117
Drop/delay frames: 0
Corrupted frames: 0
P-slices: 108 ( 92.308 %) #######################
B-slices: 0 ( 0.000 %)
I-slices: 9 ( 7.692 %) ##
SP-slices: 0 ( 0.000 %)
SI-slices: 0 ( 0.000 %)
[ DRF analysis ]
Average DRF: 21.931623
Standard deviation: 1.875284
Max DRF: 33
DRF<18: 0 ( 0.000 %)
DRF=18: 1 ( 0.855 %)
DRF=19: 0 ( 0.000 %)
DRF=20: 27 ( 23.077 %) ######
DRF=21: 18 ( 15.385 %) ####
DRF=22: 42 ( 35.897 %) #########
DRF=23: 12 ( 10.256 %) ###
DRF=24: 7 ( 5.983 %) #
DRF=25: 5 ( 4.274 %) #
DRF=26: 4 ( 3.419 %) #
DRF=27: 0 ( 0.000 %)
DRF=28: 0 ( 0.000 %)
DRF=29: 0 ( 0.000 %)
DRF=30: 0 ( 0.000 %)
DRF=31: 0 ( 0.000 %)
DRF=32: 0 ( 0.000 %)
DRF=33: 1 ( 0.855 %)
DRF>33: 0 ( 0.000 %)
P-slices average DRF: 21.888888
P-slices std. deviation: 1.553570
P-slices max DRF: 26
I-slices average DRF: 22.444444
I-slices std. deviation: 4.058218
I-slices max DRF: 33Cheers
smok3
14th October 2009, 12:57
unexpected behaviour/bug: unable to drop media file to icon in stack (osx snow leopard), with gui version of course.
Zenitram
15th October 2009, 12:28
For your consideration; This 7.1 TrueHD audio (http://www.mediafire.com/download.php?jjytugeo5tm) sample is detected as only having 6 channels. Current FFDshow (rev3094) releases detect all 8 channels.
Thanks for the file.
I currently don't parse the "HD" part, because I don't have any specifcations, so only the "Core" part is analyzed.
I look at ffmpeg code in order to see how they parse this HD part, and I hope to be able to display the "HD" part.
If MediaInfo could identify the properties of the "core" and "HD" parts separately, yes this would be very useful.
Good idea.
MediaInfo was not designed to handle multiple Channel count or sampling rate values for 1 stream, I try to see how I can handle this (for both AC-3 and DTS)
Zenitram
15th October 2009, 12:52
I'm getting strange results with a MTS file recorded with a Panasonic TZ7.
How can it be NTSC with 25 FPS ?
I only report data from the stream.
After demuxing:
00000001 access_unit_delimiter (5 bytes)
(...)
00000007 seq_parameter_set (46 bytes)
00000007 Header (4 bytes)
00000007 sync: 1 (1)
0000000A nal_ref_idc: 3 (3)
0000000A nal_unit_type: 7 (7)
0000000B profile_idc: 64 (100)
(...)
00000013 vui_parameters_present_flag (34 bytes)
00000013 vui_parameters_present_flag: Yes
(...)
00000015 video_signal_type_present_flag (2 bytes)
00000015 video_signal_type_present_flag: Yes
00000015 video_format: 2 (2) - NTSC
00000015 video_full_range_flag: No
00000016 colour_description_present_flag: No
(...)
--> video_format should be:
* not present
* or egal to 5 (no format)
But Panasonic decided to put this item in the stream, and to set it as NTSC. I report this.
It can't. The definition of NTSC in the "digital world" is 720x480@29.97fps. The video size of 1280x720 also isn't NTSC.
Panasonic has maybe decided to change the definition ;-)
And also MPC-HC, TsMuxer and MP4Box are all saying that the file is 50 FPS.
Example from MPC-HC:
Video: MPEG4 Video (H264) 1280x720 50.00fps [Video]
Audio: Dolby AC3 48000Hz stereo 192Kbps [Audio]
Yes, wrong detection from me, this is a 50 fps stream.
Hi Brazil2,
In order for these Panasonic 1280x720 video streams to comply with the Blu-ray specification they contain an implementation called "frame repeats". This raises the frame speed from 25fps to 50fps but not the number of "actual" progressive frames.
I guess it can be further described as a form of pull-down
You are nearly right:
* There is "frame doubling", I indicate it in the "Easy view": "(Frame doubling / 1 Ref Frames)", but I noticed this is not in the other views, I will modify other views.
* Time clock is set to 100 fps. So with Frame doubling AND progressive sequence, this is 50 fps (25 fps if frame doubling AND interlaced sequence)
Zenitram
15th October 2009, 12:53
unexpected behaviour/bug: unable to drop media file to icon in stack (osx snow leopard), with gui version of course.
I am limitated by drag n drop capacities of WxWidgets toolkit.
I am moving to Qt, which is a lot better for this kind of stuff, but it is unfortunatly not yet ready.
Brazil2
17th October 2009, 15:45
Sample: http://rapidshare.com/files/293457824/no-audio-in-mpc.mp2.html
MediaInfo reports the DAR as 2.35:1 :
General
Complete name : F:\Test\no-audio-in-mpc.mp2
Format : MPEG-PS
File size : 2.63 MiB
Duration : 3s 168ms
Overall bit rate : 6 966 Kbps
Video
ID : 224 (0xE0)
Format : MPEG Video
Format version : Version 2
Format profile : Main@Main
Format settings, Matrix : Default
Duration : 3s 120ms
Bit rate mode : Constant
Bit rate : 6 500 Kbps
Width : 720 pixels
Height : 576 pixels
Display aspect ratio : 2.35:1
Frame rate : 25.000 fps
Standard : PAL
Colorimetry : 4:2:0
Scan type : Interlaced
Scan order : Top Field First
Bits/(Pixel*Frame) : 0.627
Stream size : 2.42 MiB (92%)
Audio
ID : 128 (0x80)
Format : AC-3
Format/Info : Audio Coding 3
Duration : 3s 168ms
Bit rate mode : Constant
Bit rate : 448 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Surround: L R, LFE
Sampling rate : 48.0 KHz
Video delay : -48ms
Stream size : 173 KiB (6%)
But every other tool (e.g. Gspot, DGindex, ProjectX) and player (e.g. MPC-HC) reports the DAR as being 16:9. And players are playing it at 16:9.
Video: MPEG2 Video 720x576 (16:9) 25.00fps 6500Kbps [Video]
Audio: Dolby AC3 48000Hz 6ch 448Kbps [Audio]
So I wonder where this info comes from, the container or the video stream ? If the DAR information is different between the container and the video stream then why not showing both informations like this:
Format : MPEG-PS
File size : 2.63 MiB
Container DAR : 2.35:1
Duration : 3s 168ms
Overall bit rate : 6 966 Kbps
Video
ID : 224 (0xE0)
Format : MPEG Video
Format version : Version 2
Format profile : Main@Main
Format settings, Matrix : Default
Duration : 3s 120ms
Bit rate mode : Constant
Bit rate : 6 500 Kbps
Width : 720 pixels
Height : 576 pixels
Display aspect ratio : 16:9
Zenitram
17th October 2009, 16:18
Sample: http://rapidshare.com/files/293457824/no-audio-in-mpc.mp2.html
(...)
But every other tool (e.g. Gspot, DGindex, ProjectX) and player (e.g. MPC-HC) reports the DAR as being 16:9. And players are playing it at 16:9.
So I wonder where this info comes from, the container or the video stream ?
For your file:
00000821 sequence_header (12 bytes)
00000828 aspect_ratio_information: 3 (3) - 1.778
0000082D extension_start - Sequence (10 bytes)
00000832 horizontal_size_extension: 0 (0)
00000833 vertical_size_extension: 0 (0)
00000837 extension_start - Sequence Display (12 bytes)
0000083F display_horizontal_size: 21C (540)
00000840 display_vertical_size: 240 (576)
"Sequence Display" description in specifications is not very precise, my formula is (if there is a "Sequence Display" extension):
(0x1000*horizontal_size_extension+horizontal_size_value)/(0x1000*vertical_size_extension+vertical_size_value)*Mpegv_aspect_ratio2[aspect_ratio_information]/(display_horizontal_size/display_vertical_size)
FYI, specifications say "display_horizontal_size and display_vertical_size do not affect the decoding process but may be used by the display process that is not standardised in this specification." (funny, isn't it?)
I think this formula is right or at least the more common (I trust a lot VLC), because both VLC and MPC (not HC) display it as 2.35 (picture is streched, because picture is actually recorded in 16:9 in your case). If I don't handle "Sequence Display" extension, some other files are not well detected.
If "Sequence Display" extension is not handled, DAR is "16:9", but there is a "Sequence Display" extension...
If I remember well, there already was here a discussion about "Sequence Display" extension and the problems with it.
If the DAR information is different between the container and the video stream then why not showing both informations
It already does.
* "Display Aspect Ratio" is the displayed DAR.
* "Original Display Aspect Ratio" is the DAR from the stream if different.
But this file has only one DAR value (the raw video DAR).
Edit:
If the DAR information is different between the container and the video stream then why not showing both informations like this
Your solution is not possible: how do you display data for multiple video stream in one container? "General" container can't have video information, because there are only 1 general item (data about the container) even if there are 30 video streams (this is possible, e.g. MPEG-TS from satellites)
Shark007
17th October 2009, 18:20
Sample: http://rapidshare.com/files/293457824/no-audio-in-mpc.mp2.html
But every other tool (e.g. Gspot, DGindex, ProjectX) and player (e.g. MPC-HC) reports the DAR as being 16:9. And players are playing it at 16:9.
PowerDVD 9's mpeg2 decoder will play this sample at the correct aspect ratio.
Brazil2
17th October 2009, 18:26
PowerDVD 9's mpeg2 decoder will play this sample at the correct aspect ratio.
Yes, every player I've tried is playing it at 16:9, even the 'old' MPC (not HC) with internal splitters and decoders and even with external ones despite of what Zenitram said. Only VLC is playing it at 2.35:1.
Zenitram
18th October 2009, 00:40
Yes, every player I've tried is playing it at 16:9, even the 'old' MPC (not HC) with internal splitters and decoders and even with external ones despite of what Zenitram said. Only VLC is playing it at 2.35:1.
yes, for MPC, this was due of my configuration of MPC, it was using external ffmpeg (ffdshow), as VLC does.
VLC is not a tiny software in a garage, they are not newbees... This is VLC/ffmpeg team vs Cyberlink/MPC!
Anyway, I am interested in your vision about how to interpret "Sequence Display" bytes. Theses bytes exist, I handle them, I need a formula or the signification of theses bytes. For what reason your encoder put theses bytes in the stream?
Ignoring completely "Sequence Display" is not so easy, some other files have wrong DAR if I do this, decision creates a winner and a looser.
So I propose something: I am not as expert as the VLC/ffmpeg team, send this bug report to VLC/ffmpeg team, if you succeed VLC/ffmpeg team to accept that VLC has a bug with your file, I change directly my code and ignore "Sequence Display" without discussion. Another possibility is to have a reply from your encoder creator about the signification of theses bytes in the stream and have an argument about how the creator of the stream imagine theses bytes. Else I don't see what is the purpose of theses bytes if I don't handle them as I currently do, so I prefer to handle them, as VLC/ffmpeg does: if theses bytes are in the stream, there is a reason, ignoring them is not a good solution.
Brazil2
18th October 2009, 13:52
I haven't encoded the file myself, it's only a sample that I've found on some forums. Here is another one showing the same issue:
http://rapidshare.com/files/289368716/Classic_Rock_Guitar_Solos_Vol_1.Title2.vob.html
I'm not sure it's a ffmpeg issue since the files are playing with the correct aspect ratio in Mplayer so it looks more like a splitter issue.
But is it an issue or a feature ? I don't know.
I'm not saying MediaInfo is wrong, in fact without MediaInfo I wouldn't be able to see this 2.35:1 DAR but since other tools and players are ignoring this Sequence Display it might be a good idea to show both aspect ratios in MediaInfo, the Sequence Display and the Aspect Ratio Information. So it will be easier to spot such conflicts.
Zenitram
18th October 2009, 14:02
but since other tools and players are ignoring this Sequence Display it might be a good idea to show both aspect ratios in MediaInfo, the Sequence Display and the Aspect Ratio Information. So it will be easier to spot such conflicts.
Yes, there is actually an issue for players, displaying both values may be a good reply because my goal is to propose the best tool for debugging players problems, I didn't reacted this is useful to have both values.
I will try to add this feature when I implement "multiple values" support with AC-3 / TrueHD (Core / HD values) proposed by SeeMoreDigital.
LoRd_MuldeR
18th October 2009, 14:12
Zenitram, a quick question: What exactly do the following pre-processor defines do?
NDEBUG; MEDIAINFO_MINIMIZESIZE; MEDIAINFO_LIBCURL_NO; MEDIAINFO_LIBMMS_NO
:thanks:
Zenitram
18th October 2009, 14:20
Zenitram, a quick question: What exactly do the following pre-processor defines do?
NDEBUG: identic for all software (No debug --> Release mode)
MEDIAINFO_MINIMIZESIZE: reduce binary size because it removes the trace feature (this feature is not yet completely ready, work in progress, this is the trace I display sometimes here in order to display what is the bytestream of files, no public GUI)
MEDIAINFO_LIBCURL_NO: don't use libcurl (for read from HTTP/FTP instead of HDD files) (works well on Linux but is not currently the default, "all in one" package is not yet ready on Windows, work in progress, but if you compile yourself libcurl you can remove this define)
MEDIAINFO_LIBMMS_NO: don't use libmms (for read from MMS/MMSH instead of HDD files) (this feature will not be available on Windows because libmms is not Windows-compatible, works well on Linux but is not currently the default)
LoRd_MuldeR
18th October 2009, 14:32
I see. So I should keep all those defines for my Win32 builds. Thanks for info :)
BTW: I wonder why we need both, NDEBUG and _DEBUG. Shouldn't the absence of _DEBUG already indicate that we are in "release mode" or vice versa :confused:
Doesn't #ifdef NDEBUG have the same meaning as #ifndef _DEBUG in practice? Or are there "historical" reasons?
SeeMoreDigital
18th October 2009, 15:48
It already does.
* "Display Aspect Ratio" is the displayed DAR.
* "Original Display Aspect Ratio" is the DAR from the stream if different.
But this file has only one DAR value (the raw video DAR).I still reckon the expression "Original Display Aspect Ratio" is wrong and should be replaced with "Frame Aspect Ratio". For the reasons I outlined here. (http://forum.doom9.org/showpost.php?p=1323332&postcount=508)
Your solution is not possible: how do you display data for multiple video stream in one container? "General" container can't have video information, because there are only 1 general item (data about the container) even if there are 30 video streams (this is possible, e.g. MPEG-TS from satellites)If the "General" heading was renamed to "Container". Then perhaps this area could be expanded to include information about the "container level signalling" used by .MKV and .MOV
For transport multiplexes with multiple video streams. Is it not possible to list the video streams information separately, like you do now with audio and subtitle streams?
LoRd_MuldeR
18th October 2009, 16:01
Oh, please don't rename things. There are people who have existing code to parse the output :p
Just had to adjust my code, because the "Format" of all WMA files is just "WMA" now, instead of "WMA1", "WMA2" and "WMA3" ;)
Zenitram
18th October 2009, 16:44
I still reckon the expression "Original Display Aspect Ratio" is wrong and should be replaced with "Frame Aspect Ratio".
I don't forget.
But as LoRd_MuldeR said, some users don't like I change too much. Legacy is important for other people.
I still plan to estimate the change when I do a bigger API update.
If the "General" heading was renamed to "Container".
Not a bad idea.
I don't promise to modify it, I will estimate the pro and cons when I change the API ("Container" is maybe not common enough, there is sometime tags or technical info like sattelitte positions and so on... Your point of view is maybe not the point of view from other users)
Then perhaps this area could be expanded to include information about the "container level signalling" used by .MKV and .MOV
About what expanding do you think?
If you think about video related stuff (new DAR...), I don't think this is a good idea (see below)
For transport multiplexes with multiple video streams. Is it not possible to list the video streams information separately, like you do now with audio and subtitle streams?
1/ User are interested in the DAR of his video first, they do not care about if it is at container level or stream level. Outputed video has a DAR, whatever is the origin of this DAR. Optionaly, they care about it, and they don't imagine to look in video part for one DAR and general/container part for another DAR.
2/ For multiple video streams, this adds a complexity of the interface (another level). This complexity is too much compared to gains (gains would be for 0.01% of videos, complexity for 100% of videos)
Again, I must manage different kind of users, from beginners to expert, from basic AVI file to very complex MPEG-TS with multiple programs files, from people who parse the CLI output to people using th DLL interface, and creating an understable output for all of them is not so easy as taking your advice directly.
smok3
21st October 2009, 21:33
I am limitated by drag n drop capacities of WxWidgets toolkit.
I am moving to Qt, which is a lot better for this kind of stuff, but it is unfortunatly not yet ready.
i was brave enough to do a little workaround, until this gets fixed (comes with this cool name: MediaInfoDroplet)
keywords: osx, mac, droplet, mediainfo
whatis:
drop some media files on the icon and it will return some mediainfo values.
download:
http://forum.doom9.org/showthread.php?p=1528488
(now part of the ffdrop collection)
install example:
click to unpack that zip, drag the app to Applications folder and from there to dock, finder window, desktop. The new version will also accept new files to be droped to the allready opened window.
(tested on Lion only)
bugs reported:
spaces in file names are not handled (can't reproduce)
--------------------------
source:
#!/bin/sh
cmd=$1/Contents/Resources/mediainfo
shift
for argument in "$@" ;do
echo $argument
$cmd "$argument"
echo "----------------------------------"
done
echo "droped files:"
for argument in "$@" ;do
echo $argument
done
"compiled" with platypus 4.4.
video, usage
http://youtu.be/qu2-mygpN5A
Zenitram
22nd October 2009, 09:00
i was brave enough to do a little workaround
Thanks for this feature.
Do you see any problem if I include it in my official package?
Brazil2
22nd October 2009, 10:59
Sample: http://www.megaupload.com/?d=B7YJAWF0
General
Complete name : F:\Test\Button.flv
Format : Flash Video
File size : 3.58 MiB
Duration : 18s 0ms
Overall bit rate : 1 670 Kbps
Video
Format : H.263
Duration : 18s 0ms
Bit rate : 62.5 Kbps
Width : 704 pixels
Height : 400 pixels
Display aspect ratio : 16:9
Frame rate : 25.000 fps
Bits/(Pixel*Frame) : 0.009
Stream size : 137 KiB (4%)
Audio
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Duration : 18s 0ms
Bit rate mode : Constant
Bit rate : 96.0 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Resolution : 16 bits
Stream size : 211 KiB (6%)
The average bitrate of the video stream is about 1500 Kbps not 62.5 Kbps.
The total file size is 3.58 MB but the reported size of the streams is 137 KiB (4%) for the video and 211 KiB (6%) for the audio so there is something wrong.
Suggestion: for MP3 audio it would be nice if MediaInfo could report if the audio stream is Stereo or Joint Stereo.
smok3
22nd October 2009, 11:06
Thanks for this feature.
Do you see any problem if I include it in my official package?
i can't see any problems.
Zenitram
22nd October 2009, 14:51
The average bitrate of the video stream is about 1500 Kbps not 62.5 Kbps.
FLV has no index, I rely on Meta tags.
videodatarate value is 62500 bps.
00000009 Meta - onMetaData - 12 elements (283 bytes)
00000009 Header (15 bytes)
00000009 PreviousTagSize: 0 (0)
0000000D Type: 12 (18)
0000000E BodyLength: 10C (268)
00000011 Timestamp_Base: 0 (0)
00000014 Timestamp_Extended: 0 (0)
00000015 StreamID: 0 (0)
00000018 Type: 2 (2) - SCRIPTDATASTRING
00000019 Value_Size: A (10)
0000001B Value: onMetaData
00000025 Type: 8 (8) - SCRIPTDATAVARIABLE[ECMAArrayLength]
00000026 ECMAArrayLength: C (12)
(...)
0000005E videodatarate - 62500 (24 bytes)
0000005E StringLength: D (13)
00000060 StringData: videodatarate
0000006D Type: 0 (0) - DOUBLE
0000006E Value: 62.500
(...)
Currently, MediaInfo displays the result of a broken file (at least in the header): the file is broken, so result is broken.
I added an integrity check on bitrates (bitrates must be coherent, or metatag info is trashed), next version will have:
Video
Format : H.263
Duration : 18s 0ms
Bit rate : 1 499 Kbps
Width : 704 pixels
Height : 400 pixels
Display aspect ratio : 16:9
Frame rate : 25.000 fps
Bits/(Pixel*Frame) : 0.213
Stream size : 3.22 MiB (90%)
Suggestion: for MP3 audio it would be nice if MediaInfo could report if the audio stream is Stereo or Joint Stereo.
New version will have:
Audio
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Format settings, Mode : Joint stereo / MS Stereo
Duration : 18s 0ms
Bit rate mode : Constant
Bit rate : 96.0 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Resolution : 16 bits
Stream size : 211 KiB (6%)
(both mode and mode_extension settings)
Thanks for feedback.
Brazil2
22nd October 2009, 18:14
FLV has no index, I rely on Meta tags.
I didn't notice that because the file was playing fine in many different players I've tried.
Remuxing it with Mencoder fixed it for good.
Currently, MediaInfo displays the result of a broken file (at least in the header): the file is broken, so result is broken.
I added an integrity check on bitrates (bitrates must be coherent, or metatag info is trashed), next version will have
And/or add a warning maybe ? Saying that the file is somehow broken.
Might be very usefull.
New version will have:
Audio
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Format settings, Mode : Joint stereo / MS Stereo
Nice, thanks :)
Zenitram
22nd October 2009, 18:20
I didn't notice that because the file was playing fine in many different players I've tried.
This is because players don't rely of this kind of information.
This is only an "hint" for players.
And/or add a warning maybe ? Saying that the file is somehow broken.
Might be very usefull.
Integrity information for user is possible, but this is not the current goal of MediaInfo, and I have already a lot of things to handle (and some are paid)
This is possible, implementation may be done later if I find a sponsor (--> $) for this. Currently, I implement in priority what can be called a bug or quick feature requests (as Joint Stereo request).
Nice, thanks :)
You're welcome.
Keiyakusha
25th October 2009, 02:52
Hi!
Lets say I have an mkv file with h264 stream in it. This stream has coded frame size 848x480, there is no SAR information on stream level. On container level display dimensions are 853x480. Mediainfo shows DAR -> 16x9; Original DAR -> 16x9. As I understand Original DAR is a stream level information so shouldn't it print something like "unspecified" instead? Otherwise this can be a bit of misleading...
EDIT: Ah, one more thing. Why mediainfo always shows "Resolution: 24 bits" for h264 streams produced by x264? I believe x264 can do only YV12, which is no way 24 bit...
EDIT2: Also how about printing Container level and Stream level FPS info about h264 video in MKV (and maybe other containers) in cases when FPS is constant? (not sure how things works with non-constant fps, I'm not doing such files)
Zenitram
25th October 2009, 16:33
Lets say I have an mkv file with h264 stream in it. This stream has coded frame size 848x480, there is no SAR information on stream level. On container level display dimensions are 853x480. Mediainfo shows DAR -> 16x9; Original DAR -> 16x9. As I understand Original DAR is a stream level information so shouldn't it print something like "unspecified" instead? Otherwise this can be a bit of misleading...
There is always a default value for SAR (1.000). Try to demux your file, the raw stream is displayed even if there is no SAR explicitly defined... So an Original DAR of 16x9 is normal (848 divided by 480 and SAR=1.000).
EDIT: Ah, one more thing. Why mediainfo always shows "Resolution: 24 bits" for h264 streams produced by x264? I believe x264 can do only YV12, which is no way 24 bit...
24 bit is the resolution of the output video when decompressed and displayed by the monitor. But exact, this is not a resolution of the encoded stream, and I should display only details from the encoded stream.
There is already a discussion about colorspace here:
http://sourceforge.net/projects/mediainfo/forums/forum/297610/topic/3413408
I will add a "Color space" field in all cases (currently, it is displayed only if this is not YUV 4:2:0 for AVC), like this:
- Color space = YUV 4:2:0
- Color space = YUV 4:4:4
- Color space = RGB
- Color space = RGBA
- ...
For "resolution" field, I hesitate: I currently put "24 bits" for RGB for example, this seems right, this is 8 bit per color component (R, G, B...)
But this is not right for YUV stuff.
Which value should I put in this field from your point of view? 'bit depth'? I have no precise idea about this, because 'bit depth' should be maybe by YUV component (8 or 10 bit), but in this case I should maybe change the RGB handling and put "8 bit" too.
So... how would you handle the "Resolution" field with for example normal AVC, "High 10" AVC profile, RGB codecs, RGBA codecs?
EDIT2: Also how about printing Container level and Stream level FPS info about h264 video in MKV (and maybe other containers) in cases when FPS is constant? (not sure how things works with non-constant fps, I'm not doing such files)
This is already the case:
General
Format : Matroska
(...)
Video
Format : AVC
Codec ID : V_MPEG4/ISO/AVC
Frame rate : 25.000 fps
Original frame rate : 12.500 fps
(...)
If you have a sample not displaying original FPS, please provide it.
Keiyakusha
25th October 2009, 17:38
There is always a default value for SAR (1.000). Try to demux your file, the raw stream is displayed even if there is no SAR explicitly defined... So an Original DAR of 16x9 is normal (848 divided by 480 and SAR=1.000).
Here I'm rely on Info, reported by great indexers from Donald Graft. If I don't set SAR during encoding, I see "unspecified" in information dialog. But If i will set SAR 1:1, I will see exactly 1:1 SAR reported.
Anyway it will be good to have SAR value separated from frame size, because 848x480 SAR 1:1 and 848x480 SAR 160:159 is two different things. I think only in second case Original DAR 16:9 should be reported by mediainfo.
If you have a sample not displaying original FPS, please provide it.
Sorry, It looks like some tools (or some versions of these tools) for muxing just overrides stream level info. Or something like that. I need to check this again...
If the file muxed with latest mkvtoolnix I difinitely can see Frame rate and original frame rate.
So... how would you handle the "Resolution" field with for example normal AVC, "High 10" AVC profile, RGB codecs, RGBA codecs?
Thanks for explanation but I'm afraid I can't answer to this question.
Zenitram
25th October 2009, 17:59
Here I'm rely on Info, reported by great indexers from Donald Graft. If I don't set SAR during encoding, I see "unspecified" in information dialog. But If i will set SAR 1:1, I will see exactly 1:1 SAR reported.
Its behaviour is wanted, mine is wanted too.
My goal with this field is to display how a decoder would handle a "non-value". And all decoders I know handle non-value as 1.000 SAR, so I don't see any reason to display "unspecified" for my goal. This is a conscious decision.
Anyway it will be good to have SAR value separated from frame size, because 848x480 SAR 1:1 and 848x480 SAR 160:159 is two different things. I think only in second case Original DAR 16:9 should be reported by mediainfo.
SAR is saved, but not displayed by default. Toggle Debug --> Advanced mode and you will see precise SAR and DAR values.
But for the "normal" view, I display "16:9" for DAR between 1.700 and 1.850 (so a DAR of 848/480=1.767 is displayed as 16:9. If you want the precise value, you need to create your own custom view(if you create your own custom view you can display 1.767 instead of a rounded to known value)
Sorry, It looks like some tools (or some versions of these tools) for muxing just overrides stream level info. Or something like that. I need to check this again...
I already saw some tools removing SAR/DAR from raw stream during the muxing.
SeeMoreDigital
25th October 2009, 18:47
Thankfully the issue about where aspect ratio signalling should be placed, ie: within the stream (stream level signalling) or within the container (container level signalling), has been made a lot easier now that Mosu's MKVmergeGUI no longer removes the aspect ratio signalling from the stream by default :)
qyot27
25th October 2009, 20:56
EDIT2: Also how about printing Container level and Stream level FPS info about h264 video in MKV (and maybe other containers) in cases when FPS is constant? (not sure how things works with non-constant fps, I'm not doing such files)
This reminds me, on MP4 files the %FrameRate_Mode/String% option works and displays either Constant or Variable. MKV and FLV files, on the other hand, don't display this field - MKV certainly can be VFR, and I thought FLV could too. Are there plans to add support for those, or is it something that can only be easily done with MP4?
Zenitram
25th October 2009, 21:47
This reminds me, on MP4 files the %FrameRate_Mode/String% option works and displays either Constant or Variable. MKV and FLV files, on the other hand, don't display this field - MKV certainly can be VFR, and I thought FLV could too. Are there plans to add support for those, or is it something that can only be easily done with MP4?
MP4 has an index, with duration of each frame in this index, I can quickly (whithout parsing the wohole file) know if this is VBR or CBR.
MKV has no index, and has a FrameRate field defined as "Number of frames per second. Informational only" --> I am not sure this field would not be filled with average FPS if the film is VFR. I don't have such a kind of file, I can not see what is the implementation of muxers. I need to parse the whole file to be sure (this would be an option later, not currently implemented). So I prefer not to indicate CFR/VFR value.
FLV has no index, and has an optional only framerate metatag, not precise too (what is the content of this value if this is a VFR file? I have no official info about it). So I prefer not to indicate CFR/VFR value (for FLV, I have a better detection implementation, I parse the 30 first frames, if theses frames are VFR, I display "VFR" because I am sure this is VFR, but having the first 30 frames in CFR does not mean all file is CFR, so I don't display it)
DrNein
26th October 2009, 03:29
For XP, I have six instances of MediaInfo.dll to support the following and wonder if it is okay just to have one instance in System32 (so far it seems fine)?
MediaInfo
MediaCoder\tools
megui
Movie Catalog
MPC
Yamb
Zenitram
26th October 2009, 08:33
For XP, I have six instances of MediaInfo.dll to support the following and wonder if it is okay just to have one instance in System32 (so far it seems fine)?
Currently the API has not changed for a while, so no problem from my point of view. But each software has its own rules, I have no power on other software.
kypec
28th October 2009, 13:35
Hi Zenitram,
could you please add to supported file extensions (which get associated with MediaInfo upon installation) also .264 besides .h264?
I ask for this because 264 is the default extension used by x264 encoder when desired output should be raw H264 stream.
Thank you very much.
Zenitram
28th October 2009, 13:41
could you please add to supported file extensions (which get associated with MediaInfo upon installation) also .264 besides .h264?.
Done. For next version (Friday)
kypec
28th October 2009, 13:49
Wow :eek: Feature implemented 6 minutes after request was made, that's what I call a support! :p
b66pak
28th October 2009, 19:33
hi, can you add support for apple subtitles (sbtl) in .mp4, .m4v and .mov? here is a sample:
http://www.megaupload.com/?d=3Y3T1YQH
General
Complete name : sample.mov
Format : MPEG-4
Format profile : QuickTime
Codec ID : qt
File size : 13.2 MiB
Duration : 3mn 40s
Overall bit rate : 502 Kbps
Encoded date : UTC 2009-09-01 19:02:14
Tagged date : UTC 2009-09-01 19:02:16
com.apple.quicktime.player.movie : (Binary)
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Baseline@L3.0
Format settings, CABAC : No
Format settings, ReFrames : 5 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 3mn 40s
Bit rate mode : Variable
Bit rate : 300 Kbps
Maximum bit rate : 751 Kbps
Width : 480 pixels
Height : 368 pixels
Display aspect ratio : 4:3
Frame rate mode : Constant
Frame rate : 25.000 fps
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.068
Stream size : 7.87 MiB (60%)
Writing library : x264 core 58 svn-735
Encoding settings : cabac=0 / ref=5 / deblock=1:-2:-1 / analyse=0x1:0x111 / me=umh / subme=7 / brdo=0 / mixed_ref=1 / me_range=12 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / chroma_qp_offset=0 / threads=3 / nr=0 / decimate=0 / mbaff=0 / bframes=0 / keyint=250 / keyint_min=25 / scenecut=40(pre) / rc=2pass / bitrate=300 / ratetol=1.0 / rceq='blurCplx^(1-qComp)' / qcomp=0.60 / qpmin=16 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40
Encoded date : UTC 2009-08-31 17:58:23
Tagged date : UTC 2009-09-01 19:02:16
Audio #1
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : LC
Format settings, SBR : No
Codec ID : 40
Duration : 3mn 40s
Bit rate mode : Variable
Bit rate : 96.0 Kbps
Maximum bit rate : 103 Kbps
Channel(s) : 2 channels
Channel positions : L R
Sampling rate : 48.0 KHz
Resolution : 16 bits
Stream size : 2.56 MiB (19%)
Encoded date : UTC 2009-08-31 17:58:24
Tagged date : UTC 2009-09-01 19:02:16
Audio #2
ID : 3
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : LC
Format settings, SBR : No
Codec ID : 40
Duration : 3mn 40s
Bit rate mode : Variable
Bit rate : 98.1 Kbps
Maximum bit rate : 102 Kbps
Channel(s) : 2 channels
Channel positions : L R
Sampling rate : 48.0 KHz
Resolution : 16 bits
Stream size : 2.57 MiB (20%)
Encoded date : UTC 2009-08-31 17:58:24
Tagged date : UTC 2009-09-01 19:02:16
Text #1
ID : 8
Format : Timed text
Codec ID : tx3g
Duration : 2mn 0s
Bit rate mode : Variable
Bit rate : 71 bps
Stream size : 1.05 KiB (0%)
Encoded date : UTC 2009-08-31 17:58:24
Tagged date : UTC 2009-09-01 19:02:16
Text #2
ID : 9
Format : Timed text
Codec ID : tx3g
Duration : 2mn 0s
Bit rate mode : Variable
Bit rate : 71 bps
Stream size : 1.05 KiB (0%)
Encoded date : UTC 2009-08-31 17:58:24
Tagged date : UTC 2009-09-01 19:02:16
Text #3
ID : 10
Format : Timed text
Codec ID : tx3g
Duration : 2mn 0s
Bit rate mode : Variable
Bit rate : 63 bps
Stream size : 944 Bytes (0%)
Encoded date : UTC 2009-08-31 17:58:24
Tagged date : UTC 2009-09-01 19:02:16
Text #4
ID : 11
Format : Timed text
Codec ID : tx3g
Duration : 2mn 0s
Bit rate mode : Variable
Bit rate : 63 bps
Stream size : 944 Bytes (0%)
Encoded date : UTC 2009-08-31 17:58:24
Tagged date : UTC 2009-09-01 19:02:16
Text #5
ID : 12
Format : Apple text
Codec ID : text
Duration : 3mn 40s
Bit rate mode : Variable
Bit rate : 10 bps
Stream size : 262 Bytes (0%)
Encoded date : UTC 2009-09-01 19:00:46
Tagged date : UTC 2009-09-01 19:02:16
Text #6
ID : 13
Format : Apple text
Codec ID : text
Duration : 3mn 40s
Bit rate mode : Variable
Bit rate : 10 bps
Stream size : 262 Bytes (0%)
Encoded date : UTC 2009-09-01 19:01:03
Tagged date : UTC 2009-09-01 19:02:16
notice that track ID 4 to 7 are missing...the difference between a "tx3g" subtitle track and an "apple" subtitle track is "text" in first one and "sbtl" in second one in "moov\trak\mdia\hdls\componet subtype" atom...
_
Zenitram
28th October 2009, 22:54
hi, can you add support for apple subtitles (sbtl) in .mp4, .m4v and .mov?
(...)
notice that track ID 4 to 7 are missing...the difference between a "tx3g" subtitle track and an "apple" subtitle track is "text" in first one and "sbtl" in second one in "moov\trak\mdia\hdls\componet subtype" atom...
I added detection of "sbtl" subtype.
Note: subtype is for defining the kind of stream (Video, Audio, Text...), but what I saw is "tx3g" format in both cases ("text" or "sbtl" subtype). What I understood is that "text" in stsd is for "Apple Text" (the last 2 text tracks). In the case of "sbtl" subtype, I fill the "Muxing Mode" field with "sbtl", so you can detect if this is tx3g with "text" subtype (no Muxing mode info, this is the "default" muxing mode), tx3g with "sbtl" subtype (Muxing Mode info, this is not the "default" muxing mode), and text (Apple Text?) in "text" subtype.
Too much identifiers in MPEG-4!!! :(
Note about languages: I added language support for this kind of index ("old" Apple method, was implemented but deactivated because I had no file for it, now I have a file :) )
Note about text streams: VLC displays only 9 text streams, 1 less than me; Text #9 (Track #12) is not handled, this is the same format definition as Text #10 (Track #13), if you have an idea of the reason...
Below the output from the next version of MediaInfo:
General
Complete name : D:\Download\sample.mov
Format : MPEG-4
Format profile : QuickTime
Codec ID : qt
File size : 13.2 MiB
Duration : 3mn 40s
Overall bit rate : 502 Kbps
Encoded date : UTC 2009-09-01 19:02:14
Tagged date : UTC 2009-09-01 19:02:16
com.apple.quicktime.player.movie : (Binary)
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Baseline@L3.0
Format settings, CABAC : No
Format settings, ReFrames : 5 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 3mn 40s
Bit rate mode : Variable
Bit rate : 300 Kbps
Maximum bit rate : 751 Kbps
Width : 480 pixels
Height : 368 pixels
Display aspect ratio : 4:3
Frame rate mode : Constant
Frame rate : 25.000 fps
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.068
Stream size : 7.87 MiB (60%)
Writing library : x264 core 58 svn-735
Encoding settings : (...)
Language : English
Encoded date : UTC 2009-08-31 17:58:23
Tagged date : UTC 2009-09-01 19:02:16
Audio #1
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : LC
Format settings, SBR : No
Codec ID : 40
Duration : 3mn 40s
Bit rate mode : Variable
Bit rate : 96.0 Kbps
Maximum bit rate : 103 Kbps
Channel(s) : 2 channels
Channel positions : L R
Sampling rate : 48.0 KHz
Resolution : 16 bits
Stream size : 2.56 MiB (19%)
Language : English
Encoded date : UTC 2009-08-31 17:58:24
Tagged date : UTC 2009-09-01 19:02:16
Audio #2
ID : 3
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : LC
Format settings, SBR : No
Codec ID : 40
Duration : 3mn 40s
Bit rate mode : Variable
Bit rate : 98.1 Kbps
Maximum bit rate : 102 Kbps
Channel(s) : 2 channels
Channel positions : L R
Sampling rate : 48.0 KHz
Resolution : 16 bits
Stream size : 2.57 MiB (20%)
Language : Spanish
Encoded date : UTC 2009-08-31 17:58:24
Tagged date : UTC 2009-09-01 19:02:16
Text #1
ID : 4
Format : Timed text
Muxing mode : sbtl
Codec ID : tx3g
Duration : 2mn 0s
Bit rate mode : Variable
Bit rate : 71 bps
Stream size : 1.05 KiB (0%)
Language : English
Encoded date : UTC 2009-08-31 17:58:24
Tagged date : UTC 2009-09-01 19:02:16
Text #2
ID : 5
Format : Timed text
Muxing mode : sbtl
Codec ID : tx3g
Duration : 2mn 0s
Bit rate mode : Variable
Bit rate : 71 bps
Stream size : 1.05 KiB (0%)
Language : Spanish
Encoded date : UTC 2009-08-31 17:58:24
Tagged date : UTC 2009-09-01 19:02:16
Text #3
ID : 6
Format : Timed text
Muxing mode : sbtl
Codec ID : tx3g
Duration : 2mn 0s
Bit rate mode : Variable
Bit rate : 63 bps
Stream size : 944 Bytes (0%)
Language : French
Encoded date : UTC 2009-08-31 17:58:24
Tagged date : UTC 2009-09-01 19:02:16
Text #4
ID : 7
Format : Timed text
Muxing mode : sbtl
Codec ID : tx3g
Duration : 2mn 0s
Bit rate mode : Variable
Bit rate : 63 bps
Stream size : 944 Bytes (0%)
Language : German
Encoded date : UTC 2009-08-31 17:58:24
Tagged date : UTC 2009-09-01 19:02:16
Text #5
ID : 8
Format : Timed text
Codec ID : tx3g
Duration : 2mn 0s
Bit rate mode : Variable
Bit rate : 71 bps
Stream size : 1.05 KiB (0%)
Language : English
Encoded date : UTC 2009-08-31 17:58:24
Tagged date : UTC 2009-09-01 19:02:16
Text #6
ID : 9
Format : Timed text
Codec ID : tx3g
Duration : 2mn 0s
Bit rate mode : Variable
Bit rate : 71 bps
Stream size : 1.05 KiB (0%)
Language : Spanish
Encoded date : UTC 2009-08-31 17:58:24
Tagged date : UTC 2009-09-01 19:02:16
Text #7
ID : 10
Format : Timed text
Codec ID : tx3g
Duration : 2mn 0s
Bit rate mode : Variable
Bit rate : 63 bps
Stream size : 944 Bytes (0%)
Language : French
Encoded date : UTC 2009-08-31 17:58:24
Tagged date : UTC 2009-09-01 19:02:16
Text #8
ID : 11
Format : Timed text
Codec ID : tx3g
Duration : 2mn 0s
Bit rate mode : Variable
Bit rate : 63 bps
Stream size : 944 Bytes (0%)
Language : German
Encoded date : UTC 2009-08-31 17:58:24
Tagged date : UTC 2009-09-01 19:02:16
Text #9
ID : 12
Format : Apple text
Codec ID : text
Duration : 3mn 40s
Bit rate mode : Variable
Bit rate : 10 bps
Stream size : 262 Bytes (0%)
Language : English
Encoded date : UTC 2009-09-01 19:00:46
Tagged date : UTC 2009-09-01 19:02:16
Text #10
ID : 13
Format : Apple text
Codec ID : text
Duration : 3mn 40s
Bit rate mode : Variable
Bit rate : 10 bps
Stream size : 262 Bytes (0%)
Language : Spanish
Encoded date : UTC 2009-09-01 19:01:03
Tagged date : UTC 2009-09-01 19:02:16
Zenitram
29th October 2009, 10:04
Brazil2,
I'm getting strange results with a MTS file recorded with a Panasonic TZ7:
(...)
And also MPC-HC, TsMuxer and MP4Box are all saying that the file is 50 FPS.
Example from MPC-HC:
Video: MPEG4 Video (H264) 1280x720 50.00fps [Video]
Audio: Dolby AC3 48000Hz stereo 192Kbps [Audio]
Theses tools are actually wrong.
After the release of the version with the patch for your file, I had feedback with fps problem.
I investigated a bit more, and I see my error now: raw stream (AVC) indication and timestamp are at 50 fps, container (PES level) timestamp is at 25 fps (crazy, but real)
Someone else sent me Panasonic SZ3 and HMC150 (like the TZ7, but from USA) records with the same problem (and the NTSC flag is present too, but this normal for them, so I iamgine Panasonic didn't remove the flag for Europe)
So I display both values:
Frame rate : 25.000 fps
Original frame rate : 50.000 fps
(yes, SeeMoreDigital will not like it, I still use "original" word, I know :-D )
You can test the latest development snapshot (at least version 200910229):
http://sourceforge.net/projects/mediainfo/files/zzz_Development%20snapshots/
SeeMoreDigital
29th October 2009, 19:22
So I display both values:
Frame rate : 25.000 fps
Original frame rate : 50.000 fps
(yes, SeeMoreDigital will not like it, I still use "original" word, I know :-D ) LOL.... You're right I don't.
Given that these "AVC-Lite" compatible cameras are generating AVC video streams with "repeat frames", I'd much prefer something like: -Encoded Frame Rate : 25.000 fps
Flagged Frame Rate : 50.000 fpsCheers
b66pak
29th October 2009, 20:38
Note about text streams: VLC displays only 9 text streams, 1 less than me; Text #9 (Track #12) is not handled, this is the same format definition as Text #10 (Track #13), if you have an idea of the reason...
the last two text tracks are chapter tracks...the english one (text #9) contains chapters in english and is assigned to the english audio track...the spanish one (text #10) contains chapters in spanish and is assigned to the spanish audio track...play the file with Apple QuickTime and when you change the audio track the chapter language is changed accordingly...
Text #9
ID : 12
Format : Apple text
Codec ID : text
Duration : 3mn 40s
Bit rate mode : Variable
Bit rate : 10 bps
Stream size : 262 Bytes (0%)
Language : English
Encoded date : UTC 2009-09-01 19:00:46
Tagged date : UTC 2009-09-01 19:02:16
Text #10
ID : 13
Format : Apple text
Codec ID : text
Duration : 3mn 40s
Bit rate mode : Variable
Bit rate : 10 bps
Stream size : 262 Bytes (0%)
Language : Spanish
Encoded date : UTC 2009-09-01 19:01:03
Tagged date : UTC 2009-09-01 19:02:16
_
Toddler Naruto
1st November 2009, 12:07
Thanks alot for releasing & maintaining MediaInfo, I think it's a very awesome tool :)!
Zenitram
1st November 2009, 12:13
Thanks alot for releasing & maintaining MediaInfo, I think it's a very awesome tool :)!
Spread the word ;-)
Keiyakusha
9th November 2009, 17:28
Hi. Mediainfo shows that wavpack stream has 2 channels when actually its 5.1
Sample (http://www.mediafire.com/file/z2ybzvbhzzt/sample.mkv)
vlada
9th November 2009, 21:03
Hi,
I have a problem with ffmpeg and I'm wondering if MediaInfo can help me. I always thought that for ffmpeg the first stream is video and next streams are audio. Now I have a MP4 file, which according to ffmpeg has stream #0 audio and stream #1 video. Can MediaInfo help me to detect such video files? How is the order of streams that ffmpeg uses defined?
Zenitram
9th November 2009, 21:14
I always thought that for ffmpeg the first stream is video and next streams are audio.
First stream can be video, audio, text, timecode... There are no order policy in specifications, in MP4 or AVI or any format I know.
Now I have a MP4 file, which according to ffmpeg has stream #0 audio and stream #1 video. Can MediaInfo help me to detect such video files? How is the order of streams that ffmpeg uses defined?
MediaInfo does not provide the order (why would it useful?), but provides the ID of a stream (in all views except "Easy View").
And usualy, first stream has ID 1, second stream has ID 2 and so on... I have many samples with Video ID = 2 and Audio ID = 1...
vlada
9th November 2009, 21:46
Thank you for the quick reply. I checked the ID of audio stream and it was "1". So I thought the video stream will be 0 and didn't check it. Now I double checked and the IDs are exactly as you said. So I can use ID-1 as stream number for ffmpeg, that's perfect! Sorry for such a stupid question, I should have checked the IDs better.
Zenitram
10th November 2009, 11:49
Mediainfo shows that wavpack stream has 2 channels when actually its 5.1
Thanks for the sample, corrected, will be available in the next official release.
martinfrombern
13th November 2009, 03:16
how to get writing library information (e.g. encoder and version of it) in CLI version?
Tried things like --Inform=Video;%Writing_Library% and similar, but no success
Zenitram
13th November 2009, 09:01
how to get writing library information (e.g. encoder and version of it) in CLI version?
Tried things like --Inform=Video;%Writing_Library% and similar, but no success
MediaInfo --Help for some help.
MediaInfo --Info-Parameters for the list of parameters
-->
Encoded_Application : Software. Identifies the name of the software package used to create the file, such as Microsoft WaveEdit.
Encoded_Application/Url : Software. Identifies the name of the software package used to create the file, such as Microsoft WaveEdit.
Encoded_Library : Software used to create the file
Encoded_Library/String : Software used to create the file
Encoded_Library/Name : Info from the software
Encoded_Library/Version : Version of software
Encoded_Library/Date : Release date of software
Encoded_Library_Settings : Parameters used by the software
MediaInfo --Inform=Video;%Encoded_Library% or others depends of what is the precise field you want.
For having the "Inform" fields directly displayed, so you can see which field is interessant:
MediaInfo --Language=raw -f
vlada
14th November 2009, 22:54
Thank you for the quick reply. I checked the ID of audio stream and it was "1". So I thought the video stream will be 0 and didn't check it. Now I double checked and the IDs are exactly as you said. So I can use ID-1 as stream number for ffmpeg, that's perfect! Sorry for such a stupid question, I should have checked the IDs better.
I thought it can't be that easy. :confused: Now I have a sample video with IDs 101 and 102 and ffmpeg refers the streams as 0 and 1. Another example is a DVD-Video I have. This is what MediaInfo tells me about the file:
Video
ID : 224 (0xE0)
Format : MPEG Video
Format version : Version 2
Audio #1
ID : 128 (0x80)
Format : AC-3
Format/Info : Audio Coding 3
Audio #2
ID : 129 (0x81)
Format : AC-3
Format/Info : Audio Coding 3
Audio #3
ID : 130 (0x82)
Format : AC-3
Format/Info : Audio Coding 3
Audio #4
ID : 131 (0x83)
Format : AC-3
Format/Info : Audio Coding 3
Text #1
ID : 32 (0x20)
Format : RLE
Format/Info : Run-length encoding
Text #2
ID : 33 (0x21)
Format : RLE
Format/Info : Run-length encoding
And now how ffmpeg sees the file:
http://a.imagehost.org/0795/ffmpeg.png
I know this is more an ffmpeg issue, but maybe you know how to get the stream numbers that ffmpeg uses....
Zenitram
14th November 2009, 23:49
I thought it can't be that easy. :confused: Now I have a sample video with IDs 101 and 102 and ffmpeg refers the streams as 0 and 1.
Your image is not available.
So I don't understand the problem.
MediaInfo provides the ID of each stream, in the order of theses IDs, I have no idea about how FFMpeg works.
Kurtnoise
15th November 2009, 10:47
I think that vlada is confused by tracks numbers and tracks IDs...Here is a typical FFmpeg output from VOB file :
Duration: 00:06:37.28, start: 0.208056, bitrate: 7435 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x576 [PAR 64:45 DAR 16:9]
, 9800 kb/s, 25 tbr, 90k tbn, 50 tbc
Stream #0.1[0x85]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
Stream #0.2[0x84]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
Stream #0.3[0x83]: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s
Stream #0.4[0x82]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
Stream #0.5[0x81]: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s
Stream #0.6[0x80]: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s
Stream #0.7[0x2f]: Subtitle: dvdsub
Stream #0.8[0x31]: Subtitle: dvdsub
Stream #0.9[0x30]: Subtitle: dvdsub
Stream #0.10[0x2e]: Subtitle: dvdsub
Stream #0.11[0x2d]: Subtitle: dvdsub
Stream #0.12[0x2c]: Subtitle: dvdsub
Stream #0.13[0x2a]: Subtitle: dvdsub
Stream #0.14[0x29]: Subtitle: dvdsub
Stream #0.15[0x28]: Subtitle: dvdsub
Stream #0.16[0x25]: Subtitle: dvdsub
Stream #0.17[0x27]: Subtitle: dvdsub
Stream #0.18[0x26]: Subtitle: dvdsub
Stream #0.19[0x24]: Subtitle: dvdsub
In blue you have tracks IDs and in red tracks numbers...check out the FFmpeg documentation why you have 0.xx
About default's MediaInfo output : you have the track ID [ex: 0x80 (hexa) = 129 (integer)] & the track number corresponding [#1], etc...
vlada
15th November 2009, 13:15
Zenitram> I fixed the image, but Kurtnoise already perfectly explained, what I meant.
Kurtnoise> How do I get the track number from MediaInfo? I can only see StreamKindID and StreamKindPos. This helps me to identify order of tracks of certain type (usually audio tracks) but I still don't know, which track is first (audio or video). In the VOB (DVD-Video) example I posted the video track has ID higher the all audio tracks but still ffmpeg sees it as first track (#0.0). I tried to search the ffmpeg documentation but I couldn't find anything that would help me to understand it.
Zenitram
15th November 2009, 13:19
Kurtnoise> How do I get the track number from MediaInfo? I can only see StreamKindID and StreamKindPos.
?
As you can see in the MediaInfo output, there is an ID field too. ID is the number in brackets in FFMpeg (in blue in Kurtnoise example).
vlada
15th November 2009, 14:23
?
As you can see in the MediaInfo output, there is an ID field too. ID is the number in brackets in FFMpeg (in blue in Kurtnoise example).
I know this. But to demux or transcode certain audio track using ffmpeg, I have to use -map switch (http://howto-pages.org/ffmpeg/#map). This switch accepts the red number. So I'm wondering if there is any possibility to get this number from MediaInfo.
Zenitram
15th November 2009, 14:27
This switch accepts the red number. So I'm wondering if there is any possibility to get this number from MediaInfo.
The red number seems to be the order of appearence.
There is no such field in MediaInfo.
I don't plan to integrate such a field myself, this is possible, but I don't want to spend time on it, not my priority.
vlada
15th November 2009, 14:58
Zenitram> OK, understand. I will code a workaround for this, it shouldn't be that difficult.
Btw. some time ago we talked about IFO parsing. Has this moved a little higher on your to-do list? Basically all I need to know is correct movie length, audio/subtitle languages and chapters. Do you plan to support it?
Thanks for all your work and perfect support!
Zenitram
15th November 2009, 15:00
Btw. some time ago we talked about IFO parsing. Has this moved a little higher on your to-do list? Basically all I need to know is correct movie length, audio/subtitle languages and chapters. Do you plan to support it?
No, I currently have more "professional" and paid feature requests, I focus on it (I try to live from MediaInfo), so IFO, not very professional ;-), is even lower in my to-do list.
LoRd_MuldeR
15th November 2009, 23:08
I understand why you focus on paid feature requests, sure. But how is IFO parsing not professional? IFO files are part of the official Video DVD specs, as used on millions of DVD discs.
Zenitram
15th November 2009, 23:21
But how is IFO parsing not professional? IFO files are part of the official Video DVD specs, as used on millions of DVD releases.
IFO is created by professionals, but the usage of MediaInfo for IFO (or Blu-ray) is not very professional, I know a bit where is used MediaInfo for theses formats ;-).
Professionals using my software are currently interested more in digital preservation --> DV, MPEG-TS (Satellitte), and now MXF , I currently focus on them, but I try to not forget my base, and I will try to have a good parser for all formats... But days are only 24 hour long and bug tracker is not empty :(.
And unfortunatly, even if MediaInfo si open-source software, nobody is currently helping me, I hope to be able next year to pay someone in order to fix all issues like your IFO problem.
(if you like formats, if you like C++, don't hesitate to contact me :-D )
LoRd_MuldeR
15th November 2009, 23:35
Sorry, but I don't have time to work on yet another project. I already work on several personal/hobby projects in addition to my "real life" job ;)
zn
16th November 2009, 04:35
Resolution : 16 bits
This is irrelevant description for MP3, MP2, OGG and AAC audio, because they use float values inside.
(decoders mpg123, faad, oggdec supports float or 16/24/32 int output)
Zenitram
17th November 2009, 10:11
This is irrelevant description for MP3, MP2, OGG and AAC audio, because they use float values inside.
(decoders mpg123, faad, oggdec supports float or 16/24/32 int output)
OK.
I removed "Resolution" field for MPEG Audio, Vorbis (OGG is not an audio format ;-) ), ADTS, ADIF and MPEG-4 AudioSpecificConfig (the last 3 are the different forms of AAC I have), they actually were "forced" in my code, this was not a good idea.
Keiyakusha
17th November 2009, 17:22
Ohh, I always forget to ask... mediainfo shows for mkv files something like this:
Container profile=Unknown@4.1
what this means? 4.1 looks like AVC level, there should be something like "High" instead of unknown then? :confused:
Also does some infotip configuring planned?
MrC
17th November 2009, 17:23
Hi Zenitram,
first of all I would like to thank you for your hard and great work on MediaInfo. I have been using it since ages in AVStoDVD and I must say it is a very reliable and useful tool.
I have a reading issue to report: this 5.1 DTS file (http://avstodvd.googlepages.com/dtspiano.dts) (4 MB) should have a bitrate of 1536 kbps and that bitrate was correctly read by MediaInfo until release 0.7.10. Latest releases read 1509 kbps, actually saying that that file is not DVD compliant, while it should be.
Thanks in advance for your reply
;)
Bye
Zenitram
17th November 2009, 17:35
mediainfo shows for mkv files something like this:
Container profile=Unknown@4.1
what this means?
This is something I didn't yet understand.
Matroska trace example:
(...)
0000115A CodecPrivate (41 bytes)
0000115A Header (3 bytes)
0000115A Name: 23A2 (9122)
0000115C Size: 26 (38)
0000115D Specific (38 bytes)
0000115D Header (0 bytes)
0000115D Profile: 1 (1)
0000115E Compatible profile: 64 (100)
0000115F Reserved: 0 (0)
00001160 Level: 29 (41)
00001161 Reserved: 3F (63)
00001161 Size of NALU length minus 1: 3 (3)
00001162 Reserved: 7 (7)
00001162 seq_parameter_set count: 1 (1)
00001163 seq_parameter_set (25 bytes)
00001163 Size: 17 (23)
00001165 nal_ref_idc: 3 (3)
00001165 nal_unit_type: 7 (7)
00001166 profile_idc: 64 (100)
(...)
The same thing in a MP4:
(...)
00000643 AVC decode (33 bytes)
00000643 Header (8 bytes)
00000643 Size: 21 (33)
00000647 Name: avcC
0000064B Version: 1 (1)
0000064C Specific (24 bytes)
0000064C Header (0 bytes)
0000064C Profile: 4D (77)
0000064D Compatible profile: 40 (64)
0000064E Level: C (12)
0000064F Reserved: 3F (63)
0000064F Size of NALU length minus 1: 3 (3)
00000650 Reserved: 7 (7)
00000650 seq_parameter_set count: 1 (1)
00000651 seq_parameter_set (12 bytes)
00000651 Size: A (10)
00000653 nal_ref_idc: 1 (1)
00000653 nal_unit_type: 7 (7)
00000654 profile_idc: 4D (77)
(...)
I see this in some MKV and in some FLV.
Theses files are reported to be NOT playable on some HW players, so users want to see if the "Profile" field is the same as in the seq_parameter_set. if they are different, I display "Container profile" (this value is not used by any player I know), and 1 is un unknown profile from specs.
I am interested if you have any explaination about this...
Zenitram
17th November 2009, 17:47
this 5.1 DTS file (http://avstodvd.googlepages.com/dtspiano.dts) (4 MB) should have a bitrate of 1536 kbps
No, see DTS specifications:
Due to the limitations of the transmission medium the actual bit rate may be slightly different from the targeted bit rate,
as listed in table 5.8 for the two types of applications
Table 5.8: Targeted and actual bit-rate for the CD and DVD-Video applications
Targeted Bit Rate --> Actual Bit Rate on DVD-Video Discs
768 --> 754.50 (DVD-Video Discs)
1 411,2 --> 1 234,8 (DTS CDs)
1536 --> 1509.75 (DVD-Video Discs)
MediaInfo tries to display the real bitrate on the medium, so from v0.7.15 I correct bitrates to mach with actual bitrate and not targeted bitrate.
MrC
19th November 2009, 12:23
Thanks for the crystal clear explanation, Zenitram.
May I ask you another question? When reading chapters position in matroska containers, the visualization is quite different from other media parameters:
Menu
00:00:00.000 : :Chapter 1
00:02:11.200 : :Chapter 2
00:05:10.240 : :Chapter 3
00:09:09.240 : :Chapter 4
00:13:44.040 : :Chapter 5
00:16:07.120 : :Chapter 6
00:21:51.480 : :Chapter 7
00:24:50.360 : :Chapter 8
00:31:43.480 : :Chapter 9
00:39:12.400 : :Chapter 10
00:41:17.520 : :Chapter 11
00:46:40.360 : :Chapter 12
00:52:08.720 : :Chapter 13
00:58:27.840 : :Chapter 14
01:02:42.600 : :Chapter 15
01:06:37.440 : :Chapter 16
01:11:50.200 : :Chapter 17
01:15:31.080 : :Chapter 18
01:20:52.400 : :Chapter 19
01:23:23.880 : :Chapter 20
It is quite difficult to read infos formatted in that way using mediainfo.dll reading function (MediaInfo_Get), because MediaInfo_Info_Text or MediaInfo_Info_Name are not univocal, like i.e. FrameRate or ScanType.
Is there any workaround I can use to automate chapters reading thru mediainfo.dll?
Thanks in advance
;)
Bye
Zenitram
19th November 2009, 12:39
It is quite difficult to read infos formatted in that way using mediainfo.dll reading function (MediaInfo_Get)
Yes.
I unfortunalely didn't find a good way to display chapters like the other fields.
Is there any workaround I can use to automate chapters reading thru mediainfo.dll?
Pseudo code:
int Chapters_Pos_Begin=MediaInfo_Get("Chapters_Pos_Begin"); //You must transform the string in int
int Chapters_Pos_End=MediaInfo_Get("Chapters_Pos_End");//You must transform the string in int
for (int Pos=Chapters_Pos_Begin; Pos<Chapters_Pos_End; Pos++)
{
string Time=MediaInfo_Get(Pos, Info_Name);
string Text=MediaInfo_Get(Pos);
}
MrC
20th November 2009, 14:18
That's just what I was looking for
Thanks!
;)
Bye
Zenitram
2nd December 2009, 18:19
Shark007 and SeeMoreDigital:
For your consideration; This 7.1 TrueHD audio (http://www.mediafire.com/download.php?jjytugeo5tm) sample is detected as only having 6 channels. Current FFDshow (rev3094) releases detect all 8 channels.
If MediaInfo could identify the properties of the "core" and "HD" parts separately, yes this would be very useful.
I am working on this issue! I tried to make a understable display about Core and HD parts, next version would have for this audio stream:
Audio
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : AC-3
Format/Info : Audio Coding 3
Format profile : TrueHD / Core
Muxing mode : Stream extension
Duration : 12s 10ms
Bit rate mode : Variable / Constant
Bit rate : Variable / 640 Kbps
Channel(s) : 8 channels / 6 channels
Channel positions : Front: L C R, Surround: L R, rs: L R, LFE / Front: L C R, Surround: L R, LFE
Sampling rate : 96.0 KHz / 48.0 KHz
I hope you like it!
Edit: I inverted TrueHD and Core data for compatibility with third-party software which uses "text to integer" values and want the highest result.
Shark007
6th December 2009, 01:58
Very nice solution Zenitram. good work.
SeeMoreDigital
6th December 2009, 11:31
Wonderful work... Thanks Zenitram :)
Zenitram
6th December 2009, 12:00
:).
I try to do the same for DTS/DTS-HD a bit later (a bit more complex with "in the core stream" or "after the core stream" extensions, and the TrueHD was a paid work, not tthe DTS-HD stuff, so DTS-HD is in lower priority).
kurt
6th December 2009, 13:19
could you plz implement duration of audio/video files like
hh:mm:ss ?
my point is, seconds are missing for files > 1h.
Zenitram
6th December 2009, 13:47
could you plz implement duration of audio/video files like
hh:mm:ss ?
my point is, seconds are missing for files > 1h.
Seconds are not useful for a lot of people when duration is > 1 hours.
Feature request is already done, with "debug" --> "Advanced Mode" (or -f for CLI):
Duration : 6636960
Duration : 1h 50mn
Duration : 1h 50mn 36s 960ms
Duration : 1h 50mn
Duration : 01:50:36.960
You can create your custom template, and use theses fields names (from "Help" --> "Known parameters":
Duration : Play time of the stream in ms
Duration/String : Play time in format : XXx YYy only, YYy omited if zero
Duration/String1 : Play time in format : HHh MMmn SSs MMMms, XX omited if zero
Duration/String2 : Play time in format : XXx YYy only, YYy omited if zero
Duration/String3 : Play time in format : HH:MM:SS.MMM
Note: maybe a "HHh MMmn SSs" additional field is interessant?
Brazil2
6th December 2009, 17:24
Seconds are not useful for a lot of people when duration is > 1 hours.
I still disagree :p
But we have already discussed about that :)
kurt
6th December 2009, 19:15
same here. why would it be useful to hide such a information? would it bloat the gui? I guess not... If you mux videofiles with audio tracks of other files it is very useful to get the exact duration.
anyway, thx for the hint with the debugging mode :)
SeeMoreDigital
6th December 2009, 19:19
Zenitram,
Would it be possible to identify MPEG-4 ASP encodes generated with multiple B-VOPs separately from those encoded with just 1B-VOP?
Cheers
Zenitram
6th December 2009, 19:19
would it bloat the gui?
If I obey to everybody, I would have all that is in the "debug" version, and I would display 4 times the duration... Some people want hour+minutes, some other the exact value (seconds are not enough, milliseconds are needed).
This depends a lot from the "profile" of users, on Doom9 people want exact value, but on some other forum (more newbee), they want "logic" value ie only a rounded value.
This is the reason I
add a custom text. LAter, whan I have time, I plan to customize the "Easy" view with you own template too, so everybody would be able to have its perfect "Easy" view :-D.
Zenitram
6th December 2009, 19:26
Would it be possible to identify MPEG-4 ASP encodes generated with multiple B-VOPs separately from those encoded with just 1B-VOP?
If I understand well, instead of:
BVOP = No
BVOP = Yes.
You would like to have:
BVOP = No
BVOP = 1 frame
BVOP = 2 frames
...
?
SeeMoreDigital
6th December 2009, 19:33
You would like to have:
BVOP = No
BVOP = 1 frame
BVOP = 2 framesYes please.
If it possible for you to identify the actual quantity of consecutive b-frames, that would be very useful for bug testing streams for use in hardware players :)
Zenitram
6th December 2009, 19:38
If it possible for you to identify the actual quantity of consecutive b-frames, that would be very useful for bug testing streams for use in hardware players :)
One of my goals is to be able to know before downloading a file if the file is compatible or not with it, so I am intersted in implementing this if there is limitations in players.
But I don't currently parse the whole file (very long), only the 30 first frames, if there is 1 bframe only between I/P frames, can I say there is 99% chance to have only 1 bframe between I/P frames for the whole file?
kurt
6th December 2009, 22:00
If I obey to everybody, I would have all that is in the "debug" version, and I would display 4 times the duration... Some people want hour+minutes, some other the exact value (seconds are not enough, milliseconds are needed).
This depends a lot from the "profile" of users, on Doom9 people want exact value, but on some other forum (more newbee), they want "logic" value ie only a rounded value.
This is the reason I
add a custom text. LAter, whan I have time, I plan to customize the "Easy" view with you own template too, so everybody would be able to have its perfect "Easy" view :-D.
ok, thx for all of your efforts :)
Brazil2
7th December 2009, 21:06
This depends a lot from the "profile" of users, on Doom9 people want exact value, but on some other forum (more newbee), they want "logic" value ie only a rounded value.
Ah come on, you don't need any special technical skills to be able to read hours minutes and seconds. Newbies or not, if they are able to fiddle with video stuff then they are able to read time.
Does it really disturb them ? I doubt it. However it would be a really helpfull information without the need to switch between tabs each time we open a file.
If I understand well, instead of:
BVOP = No
BVOP = Yes.
You would like to have:
BVOP = No
BVOP = 1 frame
BVOP = 2 frames
That would be nice indeed :)
But I don't currently parse the whole file (very long), only the 30 first frames, if there is 1 bframe only between I/P frames, can I say there is 99% chance to have only 1 bframe between I/P frames for the whole file?
Say 60 frames ? After all that's only one second of a video at ~60 FPS.
Zenitram
7th December 2009, 21:26
Ah come on, you don't need any special technical skills to be able to read hours minutes and seconds. Newbies or not, if they are able to fiddle with video stuff then they are able to read time.
This is not the problem: some other users think this is not useful, and that this is too stupid to have seconds for a 2 hour film. Look at DVDs: this is always writen, for example, "115 minutes", "normal" users don't care of seconds in this case.
And why should I accept seconds and not milliseconds too? Some other users have asked for the precise duration in milliseconds, they say that seconds are not enough (and some others, in seconds + frames, not yet implemented but planned, because milliseconds are not interessant). Every user says that his point of view is the more logic point of view and that all other users are stupid... ;-).
Again, I know I have multiple kinds of users, multiple "profile sets" are planned. And if you are in hurry, you can compile your own version of the DLL, this is only one line of code to change, this is open source :).
Say 60 frames ? After all that's only one second of a video at ~60 FPS.
I can go up to 60 fps, yes. I will do some tests in order to see if this has no big impact on performances.
laserfan
8th December 2009, 00:05
And why should I accept seconds and not milliseconds too?You shouldn't. Do milliseconds too. ;)
I will do some testes in order to see if this has no big impact on performances.You might want to edit this line. Trust me on this one. :)
SeeMoreDigital
8th December 2009, 00:15
You shouldn't. Do milliseconds too. ;) I actually require the "milli-second" bit :)
Zenitram
8th December 2009, 00:37
You might want to edit this line. Trust me on this one. :)
Oups :eek::eek::eek::eek:
One day, maybe, I will know how to speak good english...
Zenitram
8th December 2009, 00:39
I actually require the "milli-second" bit :)
eh eh... This is a lot requested feature here... I promiss I don't forget this "profiles" feature, but days are only 24 hour long!
laserfan
8th December 2009, 16:13
Oups :eek::eek::eek::eek:
One day, maybe, I will know how to speak good english...Not to worry--if you speak half as well as you write, you're doing just great!:cool:
zn
15th December 2009, 04:56
0.26 beta still show "Resolution" field for AAC inside MP4 videos or M4A podcasts, it is hiddenly only when viewing raw .aac files (adts)
no such problem with mp3 and mp3 inside avi
no such problem with ac3 and ac3 inside mkv
Zenitram
20th December 2009, 10:06
0.26 beta still show "Resolution" field for AAC inside MP4 videos or M4A podcasts, it is hiddenly only when viewing raw .aac files (adts)
no such problem with mp3 and mp3 inside avi
no such problem with ac3 and ac3 inside mkv
See http://forum.doom9.org/showthread.php?p=1344305#post1344305
So it should also be removed in MP3 now (0.7.26 released).
zn
23rd December 2009, 06:21
I know. But with different AAC formats (Codec ID) it have different results:
aac in m4a (incorrect?)
Audio
ID : 1
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : LC
Format settings, SBR : No
Codec ID : 40
Duration : 1h 25mn
Bit rate mode : Variable
Bit rate : 128 Kbps
Maximum bit rate : 136 Kbps
Channel(s) : 2 channels
Channel positions : L R
Sampling rate : 44.1 KHz
Resolution : 16 bits
Stream size : 78.5 MiB (99%)
Title : Imported with GPAC 0.4.6-DEV (build 1)
Encoded date : UTC 2009-11-04 01:41:48
Tagged date : UTC 2009-11-04 01:42:00
aac in flv (incorrect?)
Audio
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : LC
Format settings, SBR : No
Duration : 55mn 24s
Channel(s) : 2 channels
Channel positions : L R
Sampling rate : 44.1 KHz
Resolution : 16 bits
aac in mkv (correct?)
Audio
ID : 1
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : LC
Format settings, SBR : No
Codec ID : A_AAC
Duration : 22mn 5s
Channel(s) : 2 channels
Channel positions : L R
Sampling rate : 48.0 KHz
Video delay : 9ms
Language : English
I can make sameples if you need
Looks like it is correct when 'Codec ID : A_AAC', incorrect when 'Codec ID : ?" or "Codec ID : 40"
Atak_Snajpera
26th December 2009, 18:23
http://img46.imageshack.us/img46/1231/new1i.png
Why chapters are under "Menu" section instead of "Chapters". Why did you change that?
Zenitram
2nd January 2010, 19:21
I know. But with different AAC formats (Codec ID) it have different results:
I removed the "resolution" field from the AAC/MPEG Audio parsers, but not from the containers (they indicates 16 bits too!).
I added a rule in order to disable "Resolution" in the case of AAC/MPEG Audio.
Please test:
http://sourceforge.net/projects/mediainfo/files/development_snapshots/0.7.26%2B/MediaInfo_GUI_20100102_Windows_i386_WithoutInstaller.7z/download
No more AAC / MPEG audio files from my samples directory have Resolution field now, if you still have one, I need it.
Zenitram
2nd January 2010, 19:24
Why chapters are under "Menu" section instead of "Chapters". Why did you change that?
There were some misunderstandings between Chapters and Menu sections, and Chapters section was not a good idea: chapters are sometimes related to programs (e.g. in MPEG-TS), which are in the Menu section.
So I merged the Chapters section into the Menu section, output is more coherent between containers.
zn
5th January 2010, 14:50
now it is correct
LoRd_MuldeR
10th January 2010, 19:08
Hello. I'm encoding a MP3 file with the following command-line:
C:\Temp\Wurst>lame -q 2 -V 5 "[01] Fliehende Stürme - Das Chaos brütet.wav" "[01] Fliehende Stürme - Das Chaos brütet.mp3"
LAME 3.98.2 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz
Encoding [01] Fliehende St³rme - Das Chaos br³tet.wav
to [01] Fliehende St³rme - Das Chaos br³tet.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=5)
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
10996/10996 (100%)| 0:09/ 0:09| 0:09/ 0:09| 30.757x| 0:00
32 [ 106] %*
40 [ 1] %
48 [ 0]
56 [ 0]
64 [ 1] *
80 [ 1] *
96 [ 117] **
112 [ 1050] %*************
128 [ 3193] %%***************************************
160 [ 5316] %%%%***************************************************************
192 [ 881] %%**********
224 [ 199] %**
256 [ 112] %*
320 [ 19] %
-------------------------------------------------------------------------------
kbps LR MS % long switch short %
149.2 5.1 94.9 95.3 2.7 2.0
Writing LAME Tag...done
ReplayGain: -8.5dB
However Media-Info reports the following:
General
Complete name : C:\Temp\Wurst\[01] Fliehende Stürme - Das Chaos brütet.mp3
Format : MPEG Audio
File size : 5.10 MiB
Duration : 4mn 47s
Overall bit rate : 149 Kbps
Writing library : LAME3.98r
Audio
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Duration : 4mn 47s
Bit rate mode : Variable
Bit rate : 149 Kbps
Minimum bit rate : 32.0 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Resolution : 16 bits
Stream size : 5.10 MiB (100%)
Writing library : LAME3.98r
Encoding settings : -m j -V 5 -q 0 -lowpass 16.5 --vbr-new -b 32
So does MediaInfo "extract" the LAME command-line wrong or does LAME store the wrong command-line options in the file? Or what do I miss?
Note that this problem apparently only occurs with VBR mode, not with ABR mode :confused:
Placio74
10th January 2010, 20:15
BTW
Rather does not concerns Lame 3.97 and 4.0 alpha 14, so...
MatLz
10th January 2010, 22:38
Hi Zenitram!
First, thx for your great tool!
But I experience a little problem since 0.7.26: all my videos and pics appear as 8bits resolution in the report. 0.7.25 was ok.
zn
16th January 2010, 22:50
LoRd_MuldeR, lame ignores -q in flavor of -v, this key is not relevant
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=5)
LoRd_MuldeR
19th January 2010, 22:11
LoRd_MuldeR, lame ignores -q in flavor of -v, this key is not relevant
LAME ignores "-q 2", uses "q=5" instead and finally MediaInfo reports "-q 0" :confused:
Sorry, but that doesn't make much sense to me!
In fact I think the "VBR(q=5)" in LAME's console output actually refers to the "-V 5" option and not to the "-q" option.
Still that doesn't explain why I pass "-q 2", but afterwards MediaInfo detects "-q 0" :rolleyes:
Either LAME ignores my option, LAME writes the wrong info to the file -or- MediaInfo reports wrong information...
Inspector.Gadget
25th January 2010, 05:34
Any chance the Windows GUI "Donate" button can be move so it doesn't block a scrollbar, text, or any other important part of the window?
aba101280
27th January 2010, 17:40
Hi,
thank you very much for your library. In the last weeks I tried to use it for developing a small frame rate analyzer that can automatically switch the frequency of the TV/Beamer.
This works fine for all supported VideosCodes. What I’m looking for is some information about the handling of DVD and Blu-Ray Structures. Of course Mediainfo can provide the framerate of Video files on Blu-Ray but as most of them are decrypted this does not work. For DVDs the information is also in the IFO File which can be read by Mediainfo. Do you know if there’s any possibility to get out the framerate of the Blu-Ray structure? Or is there (like DVD) a file that can be read out?
Would be happy if you have some information on this?
Regards,
Alex
Zenitram
2nd February 2010, 09:02
But I experience a little problem since 0.7.26: all my videos and pics appear as 8bits resolution in the report. 0.7.25 was ok.
"24 bit" was a mistake. "Classic" usage is to speak about "bit per pixel", so 8,9,10 bits per pixel, as in video format specifications.
So if you have "8 bits" instead of "24 bit", this is normal
Zenitram
2nd February 2010, 09:03
Any chance the Windows GUI "Donate" button can be move so it doesn't block a scrollbar, text, or any other important part of the window?
I implemented it this donate button too quickly.
I will change it a bit later.
Zenitram
2nd February 2010, 09:05
Of course Mediainfo can provide the framerate of Video files on Blu-Ray but as most of them are decrypted this does not work. For DVDs the information is also in the IFO File which can be read by Mediainfo. Do you know if there’s any possibility to get out the framerate of the Blu-Ray structure? Or is there (like DVD) a file that can be read out?
MediaInfo does already not read the IFO equivalent to Blu-ray.
This is planned, but not yet done.
So if your files are encrypted, MediaInfo can't read the framerate.
I am a lot busy in the next weeks, so I will not implement blu-ray structure support soon :(.
aba101280
2nd February 2010, 09:30
Hi,
thanks a lot for your answer. BDINFO reads out the framerate even with encrypted files. I think it does it by reading the *clpi data (Thanks Madshi). I tried to find out how this is done in the source code but no way for me.
I am a lot busy in the next weeks, so I will not implement blu-ray structure support soon .
Thank you for doing it, it does not matter when. IT#s free for all and it does more you can expect :-)
Regards,
Alex
b66pak
27th February 2010, 17:01
mediainfo and +4gb wav files error...
the examples below are from the same wav file written by three tools: eac3to, wavi, wavfix.
wav file size is 4,570,841,156 bytes
eac3to:
wav header:
52 49 46 46 3C 80 71 10 57 41 56 45 66 6D 74 20
28 00 00 00 FE FF 06 00 80 BB 00 00 00 2F 0D 00
12 00 18 00 16 00 18 00 0F 06 00 00 01 00 00 00
00 00 10 00 80 00 00 AA 00 38 9B 71 64 61 74 61
00 80 71 10
mediainfo report:
General
Complete name : eac3to.wav
Format : Wave
File size : 4.26 GiB
Duration : 1h 28mn
Overall bit rate : 6 912 Kbps
Audio
Format : PCM
Format settings, Endianness : Little
Format settings, Sign : Unsigned
Codec ID : 00001000-0000-0100-8000-00AA00389B71
Codec ID/Hint : Microsoft
Duration : 1h 28mn
Bit rate mode : Constant
Bit rate : 6 912 Kbps
Channel(s) : 6 channels
Channel positions : Front: L, C, R, Middle: L, R, LFE
Sampling rate : 48.0 KHz
Resolution : 24 bits
Stream size : 4.26 GiB (100%)
wavi:
wav header:
52 49 46 46 F0 FF FF FF 57 41 56 45 66 6D 74 20
28 00 00 00 FE FF 06 00 80 BB 00 00 00 2F 0D 00
12 00 18 00 16 00 18 00 0F 06 00 00 01 00 00 00
00 00 10 00 80 00 00 AA 00 38 9B 71 64 61 74 61
B4 FF FF FF
mediainfo report:
General
Complete name : wavi.wav
Format : Wave
File size : 4.26 GiB
Duration : 1h 22mn
Overall bit rate : 7 356 Kbps
Audio
Format : PCM
Format settings, Endianness : Little
Format settings, Sign : Unsigned
Codec ID : 00001000-0000-0100-8000-00AA00389B71
Codec ID/Hint : Microsoft
Duration : 1h 22mn
Bit rate mode : Constant
Bit rate : 6 912 Kbps
Channel(s) : 6 channels
Channel positions : Front: L, C, R, Middle: L, R, LFE
Sampling rate : 48.0 KHz
Resolution : 24 bits
Stream size : 4.00 GiB (94%)
wavfix:
wav header:
52 49 46 46 0C 00 00 00 57 41 56 45 66 6D 74 20
28 00 00 00 FE FF 06 00 80 BB 00 00 00 2F 0D 00
12 00 18 00 16 00 18 00 0F 06 00 00 01 00 00 00
00 00 10 00 80 00 00 AA 00 38 9B 71 64 61 74 61
D0 FF FF FF
mediainfo report:
General
Complete name : wavfix.wav
Format : Wave
File size : 4.26 GiB
Audio
Format : 0
Codec ID : 0
Bit rate : 0
Channel(s) : channel0
Sampling rate : 0
as tebasuna51 said:
the differences are two fields, the yellow one is the filesize - 8, and the sienna one is the audio data size...both fields are invalid in a +4gb wav because with 4 bytes we can't put a value greater than 2^32...the soft that support +4gb wav files must ignore the two fields (maybe with parameters like -ignolength, -readtoeof, ...)
mediainfo report is correct only for the eac3to file...you should overcome this by reading the wav size from the disk and calculating the duration like this:
duration (in ms) = (wav_size_from_disk - wav_header)/(nr_of_channels * (resolution / 8) * sampling_rate)
also will be nice to have displayed the full duration: hh:min:sec:ms
best regards
_
Zenitram
28th February 2010, 23:34
the examples below are from the same wav file written by three tools: eac3to, wavi, wavfix.
And the three tools are totally wrong...
mediainfo report is correct only for the eac3to file...you should overcome this by reading the wav size from the disk and calculating the duration like this:
... Which may be false when there is metadata (some metadata may be 100 MB with some standards!) after the "data" chunk. Worse, some metadata in some standards (BWF and so on) may have a 4 GB non-data chunk next to a 100 GB data chunk (do'nt laught, such files exist...), how to handle this?
the soft that support +4gb wav files must ignore the two fields
No: the soft that supports +4GB wav files MUST reject this kind of invalid files, and writting tools should create valid files (ie not to create classic but broken WAV file as they do with +4BG files). See http://en.wikipedia.org/wiki/RF64 and http://tech.ebu.ch/docs/tech/tech3306-2009.pdf
Anyway, I added support for the 2 other broken WAV file kinds, please test https://sourceforge.net/projects/mediainfo/files/development_snapshots/0.7.28%2B/MediaInfo_GUI_20100228_Windows_i386_WithoutInstaller.7z/download and let me know if there is still an issue.
And please, report bug to the software creators, they violate WAV specifications and they should not do it.
also will be nice to have displayed the full duration: hh:min:sec:ms_
Ah, everybody asks for a different format!
Easy view is not yet customizable (this is planned, but not currently a priority), you can create a text template with "HH:MM:SS.mmm" already existing field if you desire.
b66pak
1st March 2010, 18:05
thanks a lot...reports are OK now...
i have noticed than you change the channel mask interpretation...
for 1551 (0x0000060F) before was "Front: L C R, Middle: L R, LFE" and now is "Front: L C R, Surround: L R, LFE"...this is very confusing (surround is vague)...
i may suggest to use Microsoft's terminology:
http://www.microsoft.com/whdc/device/audio/multichaud.mspx#E4C
and add the channel mask value to the description to avoid any misunderstanding...for example:
Channel positions : Front: L, C, R, Surround: L, R, LFE
would become:
Channel mask : 1551 (Front: L, C, R, Side: L, R, LFE)
_
Zenitram
1st March 2010, 18:22
i may suggest to use Microsoft's terminology:
My problem is that I try to have a common terminology about this, whatever is the format (AC-3, DTS, TrueHD, DTS-HD, PCM, Wavpack, ...), and... This is awful!
AC-3 and DTS speak often about "Surround".
I hesitate.
But discussion is here:
https://sourceforge.net/projects/mediainfo/forums/forum/297609/topic/3566895
Please comment at this place about this issue.
FYI, this is a bit difficult, because this is usualy (with the last development snapshot):
7.1: Front: L C R, Surround: L R, Back: L R, LFE
6.1: Front: L C R, Surround: L R, Back: C, LFE
5.1: Front: L C R, Surround: L R, LFE
but in some PCM I found, this is:
5.1: Front: L C R, Back: L R, LFE (yes, some 5.1 are with "Side" from Microsoft, sometimes "Back" from Microsoft)
So I don't know if it is better to replace "Surround" by "Side"... In any case, PCM modification will impact AC-3 and DTS too. Let continue on the Sourceforge thread.
add the channel mask value to the description to avoid any misunderstanding
Channel mask is technical, only flags, and Microsoft-centric. The goal of MediaInfo is to avoid technical/flags, and to display the same value whatever is the analyzed format. For the same reason, replacing the field name by "mask" is not possible, too technical and lot of formats have no mask, but an index.
b66pak
1st March 2010, 19:17
my suggestion with the channel mask was for extended_wav_format.wavs only! i don't think that a global approach for all audio file types is good! it should be personalized.
about the terminolgy: at least for extended_wav_format.wavs you should stay with the Microsoft standard...
also see this:
http://forum.doom9.org/showthread.php?p=1375940#post1375940
_
Zenitram
1st March 2010, 20:08
my suggestion with the channel mask was for extended_wav_format.wavs only! i don't think that a global approach for all audio file types is good! it should be personalized.
MediaInfo is definitly not the right tool for you.
It is intended for people who have fixed channel positions at home, and who would like to know which channel is used whatever is the format. So the channel name is fixed. (peronnaly, I don't change the position of my loudspeakers depends of the format I try to read).
MediaInfo is not a WAV specific tool, "Side" stuff was an error from my point of view when I implemented PCM channel position. MediaInfo goal is "only one name for one item". the name of the item can change, but for all format at the same time.
about the terminolgy: at least for extended_wav_format.wavs you should stay with the Microsoft standard...
Microsoft is not a standard, but... Microsoft specific.
And at home, my speakers don't have any "Side" name. sO I take the right to use Dolby terminology rather than Microsoft Terminology.
See http://www.dolby.com/consumer/setup/speaker-setup-guide/index.html
If you think my mapping from Microsoft names is not right, don't hesitate to warn me, I will change it.
But if it is only to use MS name for WAV, and Dobly name for AC-3, no way, I want to use the same name whatever is the format (MediaInfo is format-independant!).
Currently, I have:
- "Side" from MS --> Surround (as "Surround" from Dolby)
- "Back" from MS --> Back (as "Back" from Dolby)
Is it wrong?
If I understood well the trhead you linked, should I change something in the case of 5.1 from MS (there are both 0x600 and 0x30 files, are they put in the same loudspeaker in reality?)
also see this:
http://forum.doom9.org/showthread.php?p=1375940#post1375940
_
There is an issue. My 7.1 PCM files have the 0x63F channel mask. 0x600 (side) and 0x30 (back) are in the same file, so theses channels are definitly not in the same position. I must handle 7.1 files as well as 6.1 or 5.1 files.
If you think that my current PCM mapping is wrong, no problem, let me know which file has which output at your home (based on the Dolby names), and I will study it.
Dolby names:
Front L Front C Front R
Surround L People Surround R
Back L (Back C for DTS 6.1) Back R
I need to know what is the name from MS point of view for each loudspeaker of this schema (if it is depends of the count of speakers, let me know).
Same for TrueHD and DTS-HD too (I am not 100% sure of the mapping, I am only sure about how my loudspeakers are at home)
SeeMoreDigital
1st March 2010, 20:59
This is the verbal "channel description" for the Dolby TrueHD speaker mapping test file: -
http://i46.tinypic.com/mwve9s.jpg
LoRd_MuldeR
1st March 2010, 21:03
And of course it only works with a full set of B&W Nautilus speakers :D
b66pak
1st March 2010, 21:13
Currently, I have:
- "Side" from MS --> Surround (as "Surround" from Dolby)
- "Back" from MS --> Back (as "Back" from Dolby)
Surround L People Surround R
Surround should be Side! Why should you mix MS with Dolby terminology?
As i said "surround" is vague (is marketing stuff in my opinion!).
_
P.S. nice diagrams here (with correct naming): http://forum.ecoustics.com/bbs/messages/34579/129023.html
_
SeeMoreDigital
1st March 2010, 21:30
With the old Dolby EX and DTS ES 6.1 set-ups the "rear speaker(s)" had to be positioned behind and between the "Right Rear Surround" and "Left Rear Surround" speakers...
So for people like me... I've got to re-locate my speakers (again) :eek:
Zenitram
2nd March 2010, 01:54
OK, lot of people interested in Channel positions here, so let try to make something good.
I repeated the basic rule for MediaInfo: one loudspeaker position = one name, whatever is the format (AC-3, TrueHD, DTS, DTS-HD, Microsoft PCM).
This is the verbal "channel description" for the Dolby TrueHD speaker mapping test file: -
This is not the naming convention from http://www.dolby.com/consumer/setup/speaker-setup-guide/index.html ...
Surround should be Side! Why should you mix MS with Dolby terminology?
I try to have a terminology independant from the vendor (MS or Dolby or DTS or someone else), but the same whatever is the input format. Having different names for the same thing is defintly not the principe for MediaInfo. All is not yet perfect in MediaInfo, but my goal is that.
As i said "surround" is vague (is marketing stuff in my opinion!).
OK, let's go on "Side" instead of "Surround".
I currently keep "Back" but this may be replaced by "Rear", isn't it? Let's continue with "Back" if everybody agree.
Funny thing: b66pak says that "Side" is the best word, SeeMoreDigital displays a schema with "Surround", you must agree one a terminology please, I keep only one name!
With the old Dolby EX and DTS ES 6.1 set-ups the "rear speaker(s)" had to be positioned behind and between the "Right Rear Surround" and "Left Rear Surround" speakers...
So for people like me... I've got to re-locate my speakers (again) :eek:
Arghh... :). The principe for MediaInfo is mainly: if the speaker is at 1 fixed position, it has only 1 name. But if it is at a different position, it should have another name...
So, let try to summarize all if I well understood (L=Left, R=Right, C=Center):
- Front is for 22-30°, L+R (and 0° for C)
- Side is for 90-110°, L+R
- Back is for 135-150°, L+R (and 180° for C, ie 6.1)
I received file with some "High" channel positions (I think this is the same as "Top" for Microsoft), how should I name them? I am think to TopFront, TopSide, TopBack
I also received DTS sample with "Wide" channels, is it OK if I add:
- Wide is for 60°, L+R
I also received DTS sample with "Ls" and "Rs" (Left/Right Surround), picture put them between "Side" and "Back", what is the angle for them? Is it different position then Side or Back?
After we decided how to name each speaker in a room, I need the mapping between each format setting and theses speaker names, at your keyboards ;-).
Note: I don't see the difference for Microsoft "Top Center - TC" and "Top Front Center - TFC", any idea?
Now, I wait for proposals :).
kypec
2nd March 2010, 09:10
I personally do not own any surround speakers system at home (yet) but since I started to learn about home-cinema in mid 90's, all the terminologies and technologies involved, there was always (at least in the era of 5.1 sound systems) used the term surround effect channels. Beginning with Dolby ProLogic II, continuing with Dolby Digital and emerging DTS then.
I prefer to stick with Left/Right Surround (5.1 & 6.1 & 7.1) and Left/Right/Center+Rear Surround (6.1 & 7.1) speaker names. I could do with Back instead of Rear but Side just doesn't fit well to me.
SeeMoreDigital
2nd March 2010, 10:02
This is not the naming convention from http://www.dolby.com/consumer/setup/speaker-setup-guide/index.html ...How odd....
Because when you play their TrueHD (A/V) sample you hear a woman say, the following: -
This is the "Left Channel".
Next we have the "Centre Channel".
Over here is the "Right Channel".
This is the "Right Surround Channel".
Now the "Right Rear Surround Channel".
Next the "Left Rear Surround Channel".
This is the "Left Surround Channel".
The next sound you'll hear is the "LFE Channel".
I wish these "professionals" would make up their minds :eek:
Zenitram
2nd March 2010, 12:43
I wish these "professionals" would make up their minds :eek:
This is exactly the problem...
So I continue with Front/Surround/Back waiting for people to agree on common naming convention.
But don't hesitate to propose a scenario for all formats mapping, I wait ;-).
b66pak
2nd March 2010, 17:29
Front/Side/Back...
_
Zenitram
2nd March 2010, 17:34
Front/Side/Back...
Front/Side/Back = b66pak
Front/Surround/Back = kypec
In every case, at least 1 person will not be happy... What should I do?
I am not against changing terminology, but I must win more happy users with the new terminology than before, or have a very big argument for changing it.
I understand that "Side" is better, more "technical", but is it understable for the majority of people? I am not sure... Currently, I am still undecided.
SeeMoreDigital
2nd March 2010, 19:03
Front/Side/Back...Yep... I reckon this is good enough ;)
Zenitram
3rd March 2010, 18:06
I released a version with Front/Side/Back, because I was convinced this is more "Marketing" than reality (especialy with now 7.1 configs), but choice was not easy ("Surround" is a lot spread)
https://sourceforge.net/projects/mediainfo/files/development_snapshots/0.7.28%2B/MediaInfo_GUI_20100303_Windows_i386_WithoutInstaller.7z/download
b66pak
3rd March 2010, 18:20
thanks a lot...
_
SeeMoreDigital
3rd March 2010, 20:58
I released a version with Front/Side/Back, because I was convinced this is more "Marketing" than reality (especialy with now 7.1 configs), but choice was not easy ("Surround" is a lot spread)
https://sourceforge.net/projects/mediainfo/files/development_snapshots/0.7.28%2B/MediaInfo_GUI_20100303_Windows_i386_WithoutInstaller.7z/downloadHi Zenitram,
It still requires a bit of work: -
Audio
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : AC-3
Format/Info : Audio Coding 3
Format profile : TrueHD / Core
Muxing mode : Stream extension
Duration : 1mn 34s
Bit rate mode : Variable / Constant
Bit rate : Variable / 640 Kbps
Maximum bit rate : 5 844 Kbps / 640 Kbps
Channel(s) : 8 channels / 6 channels
Channel positions : Front: L C R, Side: L R, rs: L R, LFE / Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Needs to be: -
Channel(s) : 8 channels / 6 channels
Channel positions : Front: L C R, Side: L R, Back: L R, Sub: Yes / Front: L C R, Back: L R, Sub: Yes
Sampling rate : 48.0 KHz
As based on the following layout: -
http://i47.tinypic.com/oa1b4j.png
Cheers
b66pak
3rd March 2010, 21:11
Needs to be: -
Channel(s) : 8 channels / 6 channels
Channel positions : Front: L C R, Side: L R, Back: L R, Sub: Yes / Front: L C R, Back: L R, Sub: Yes
Sampling rate : 48.0 KHz
as discussed "one position = one name" :
Channel positions : Front: L C R, Side: L R, Back: L R, Sub: Yes / Front: L C R, Side: L R, Sub: Yes
the picture is confusing:
90-110 speakers can't be "back" in 5.1 and "side" in 7.1...correct is "side" in both cases...
_
SeeMoreDigital
3rd March 2010, 21:18
as discussed "one position = one name" :
the picture is confusing:
90-110 speakers can't be "back" in 5.1 and "side" in 7.1...correct is "side" in both cases...The images are lifted from Dolby's web site
When you play the 5.1Ch "core" the "sides" are not present... The "backs" remain...
b66pak
3rd March 2010, 21:25
the difference between 7.1 and 5.1 are the backs!...with 7.1 you have them...with 5.1 you don't have them...probably you have switched backs with sides...
_
Zenitram
3rd March 2010, 21:44
When you play the 5.1Ch "core" the "sides" are not present... The "backs" remain...
As b66pak said, the image 5.1 has back for 90-110°, and the image 7.1 has side for 90-110°
I have no idea about the reason they change the name and the position in the image for the same angle, but if they do not change the angle, 5.1 back = 7.1 side (both at 90-110°)
For MediaInfo, 90-110° angle must have only ONE name (and the discussion was about Side vs Surround).
Back is already reserved for 135-150°, it can't be reused for 90-110° whatever are the pictures and names, and you demonstrated with the image that your 5.1 channel have "surround" channels at 90-110°... So "Side", and not "Back (135-150°)
If the image is wrong about angles(if speaker position is right), another name for this "new" angle must be found ("Surround"?), so 5.1 would have Front+Surround, and 6.1 or 7.1 would have Front+Side+Back.
But in order to do this, I must be sure that speaker positions are not same (90-110°), and I currently saw no other angles...
About "Sub", I already spoke about it, I don't remember where, but people demonstrated that LFE and Subwoofer names are different, and that "LFE" is better, I use it. I don't display "Yes" because I hide "LFE" if it is not present. I admit this is not the best presentation because separation between the last field and LFE is not great, but this is the best I currently have (I am not sure that ", Back: L R, LFE: Yes" is better than ", Back; L R, LFE". And additionnaly, this is more difficult for translation, L and R are common and understable as Left and Right in the language of people so I let it as is, but "Yes" is a bit too much "english")
Note: I changed "rs" to "Back" for TrueHD
The images are lifted from Dolby's web site
On http://www.dolby.com/consumer/setup/speaker-setup-guide/index.html , Dolby's website, 5.1 channels are named "Surround", not "Back"... I don't know where you saw this image.
SeeMoreDigital
3rd March 2010, 22:20
I see...
I have taken new "lifts" from Dolby's web site for further reference: -
http://i49.tinypic.com/2w5tzya.png
Cheers
kypec
4th March 2010, 10:10
I told you so. Even the Architect alone (=Dolby Laboratories) calls them "Left and Right Surround" speakers! :p
SeeMoreDigital
4th March 2010, 10:29
I told you so. Even the Architect alone (=Dolby Laboratories) calls them "Left and Right Surround" speakers! :pIndeed they do...
Sufficed to say though... The "front" left, centre and right speakers are "surround speakers" too!
Personally... I prefer to have identified where all my surround speakers need to be located. ie: the ones to the "side" and/or the ones to the "back" :)
EDIT: FFdshow's "naming" convention is very understandable: -
http://i45.tinypic.com/11skqjt.png
Cheers
Keiyakusha
18th April 2010, 01:05
Zenitram
Hi! Can you please check this (http://forum.doom9.org/showthread.php?t=154061) thread? There is information about possible bug. Thanks.
qyot27
25th April 2010, 02:21
I've been doing some testing with AVStoDVD, and it's transcoding some of my DVD compliant files because Mediainfo isn't reporting the Standard field for these files. The files in question are MPEG-2 @ 352x240, which is a valid NTSC DVD combination. It seems that 'NTSC' is only reported for files that are 720x480, but not 704x480, 352x480, or 352x240. Likewise, 'PAL' is only reported for 720x576, not 704x576, 352x576, or 352x288. The resolutions are also listed here:
http://www.videohelp.com/dvd#tech
For all those resolutions, could the Standard field also report 'NTSC' or 'PAL'?
Zenitram
2nd May 2010, 18:46
The files in question are MPEG-2 @ 352x240, which is a valid NTSC DVD combination. It seems that 'NTSC' is only reported for files that are 720x480, but not 704x480, 352x480, or 352x240. Likewise, 'PAL' is only reported for 720x576, not 704x576, 352x576, or 352x288. The resolutions are also listed here:
http://www.videohelp.com/dvd#tech
For all those resolutions, could the Standard field also report 'NTSC' or 'PAL'?
Trusting http://en.wikipedia.org/wiki/NTSC#Lines_and_refresh_rate , 240 lines is not NTSC. But I agree that theses digital resolution have NTSC or PAL TVs as target. I added theses resolutions as NTSC/PAL in the release of today (0.7.32).
b66pak
2nd May 2010, 18:52
thanks a lot...
_
LoRd_MuldeR
3rd May 2010, 14:49
Zenitram, may I ask why there is no source package available this time? Or did I miss something?
:thanks:
[EDIT]
Never mind. I managed to manually check out the "v0.7.32" tags from the SVN repository.
qyot27
3rd May 2010, 21:00
Trusting http://en.wikipedia.org/wiki/NTSC#Lines_and_refresh_rate , 240 lines is not NTSC. But I agree that theses digital resolution have NTSC or PAL TVs as target. I added theses resolutions as NTSC/PAL in the release of today (0.7.32).
Thanks.
Zenitram
4th May 2010, 21:22
[QUOTE=LoRd_MuldeR;1396890]Zenitram, may I ask why there is no source package available this time? Or did I miss something?[EDIT]
A bit late, but the source package is avaialble.
This is exactly the same as the SVN tag 0.7.32, no need to update if you used the SVN.
smok3
5th June 2010, 16:46
mediainfoDroplet.app (OS X) updated with MediaInfo_CLI_0.7.33
more info and download here:
http://forum.doom9.org/showthread.php?p=1336727#post1336727
(no other changes)
houdini69
6th June 2010, 10:27
Thanks for updating mediainfoDroplet for Mac OS X! Annoying bug: spaces in files path are not handled.
smok3
6th June 2010, 11:13
Thanks for updating mediainfoDroplet for Mac OS X! Annoying bug: spaces in files path are not handled.
that was already reported, but i cant reproduce here (works with every type of path i could imagine here, spaces in path, spaces in file names, weird chars, etc). So if you have a clue on how to reproduce that, then i can do something?
snap of a 'fil e.m2ts':
http://imagebin.ca/view/lpF2JS7.html
snap of a 'fil e 蚞ȊŽ.m2ts':
http://imagebin.ca/view/6-ri3Fn.html
mods: can someone split this from post 672 to a new thread with name:
mediainfoDroplet.app (OS X)
(i did not expect a debate :))
houdini69
6th June 2010, 21:14
Bug reproduced when mediainfoDroplet is in a folder with a name containing spaces! See attached file.
SeeMoreDigital
12th June 2010, 09:31
Hi Zen,
I just thought you may be interested in this one...
I have a "7.1 channel" Dolby Digital Plus sample for you, which is not currently supported by MediaInfo... In-fact it's not currently supported in most applications.
I am able to play it on my Xtreamer (hardware media player) and send the bit-stream output to my Onkyo amplifier. So I can confirm it works.
Any chance you can provide support for such sources?
Here's a link to the source: http://www.megaupload.com/?d=Q4YSDD48
Cheers
Zenitram
12th June 2010, 13:10
I have a "7.1 channel" Dolby Digital Plus sample for you, which is not currently supported by MediaInfo...
There is some info:
Audio
Format : E-AC-3
Format/Info : Audio Coding 3
Duration : 3mn 34s
Bit rate mode : Constant
Bit rate : 732 Kbps
Sampling rate : 48.0 KHz
Stream size : 18.7 MiB
(bit rate is wrong due to how the file is created)
In-fact it's not currently supported in most applications.
I imagine!
Actually, you file has 2 E-AC-3 streams interleaved!
(One 7.1 frame, one 5.1 frame, One 7.1 frame, one 5.1 frame, ...)
Any chance you can provide support for such sources?
On my ToDo list.
But there are some development to do, not quick, and my ToDo list is currently very long, so do not expect it soon.
SeeMoreDigital
12th June 2010, 15:19
Hi Zenitram,
Thanks for the information...
So it's two audio files in one. I wonder if this is the reason why TSmuxer GUI does not recognise it :eek:
Midzuki
22nd June 2010, 04:08
FFdshow's "naming" convention is very understandable: -
http://i45.tinypic.com/11skqjt.png
However the "rear center" channel still is absent... :rolleyes:
SeeMoreDigital
22nd June 2010, 10:37
However the "rear center" channel still is absent... :rolleyes:As far as I know...
None of todays surround sound audio formats generate streams offering a dedicated "rear centre" channel...
Midzuki
22nd June 2010, 14:07
As far as I know...
None of todays surround sound audio formats generate streams offering a dedicated "rear centre" channel...
:confused: :confused: :confused:
What about this 4-channel config (FL, FR, FC, BC) in:
--- .WAV
--- WMA Pro
--- AC3
--- DTS
???
Anyway, the "Mixer" tab of the ffdshow audio decoder/processor DOES include the rear-centre channel. What would be the "logical" "excuse" now? :rolleyes:
P.S.: Still, thanks for answering, and apologies for going off-topic, but it seems the "appropriate" thread (http://forum.doom9.org/showthread.php?t=120465) hasn't cared about this problem since "sometime around 2007", ...
clsid
22nd June 2010, 16:34
If you really want it, submit a patch. That is how open-source development works.
SeeMoreDigital
22nd June 2010, 16:40
:confused: :confused: :confused:
What about this 4-channel config (FL, FR, FC, BC) in:
--- .WAV
--- WMA Pro
--- AC3
--- DTS
???
Anyway, the "Mixer" tab of the ffdshow audio decoder/processor DOES include the rear-centre channel. What would be the "logical" "excuse" now? :rolleyes: Yes... but I'm yet to see or should that be hear, such sources commercially available...
Midzuki
22nd June 2010, 16:48
1)
Yes... but I'm yet to see or should that be hear, such sources commercially available...
hydrogenaudio.org/forums/lofiversion/index.php/t38611.html says:
I think it is important to standardize/implement features before some progressive content provider will choose WMA Lossless over FLAC due to lack of ahead-looking. In other words, only supporting what is widespread at the moment is probably not enough. Microsoft also has a point :
In order to keep pace with new data formats and delivery mechanisms, a standard must be produced to ensure consistency between applications and hardware.
2)
If you really want it, submit a patch. That is how open-source development works.
Translation:
download the latest source-code,
get the required compilers,
close the forum thread,
redirect everybody to the pertinent URL @ sourceforge.net
or @ elsewhere.
-.-
pistacho
24th June 2010, 09:11
Hello, it would be nice if the library showing the bitrate of DTS-HD Core. In the same way that TrueHD:
DTS-HD: Variable / 1509 Kbps
In addition I updated the dll to version 0.7.33 and I stopped working language detection in my application:
info = MediaInfo_Get (mi, MediaInfo_Stream_Audio, (size_t)i, "Language/String", MediaInfo_Info_Text, MediaInfo_Info_Name);
I tested with:
Language
Language/String
Language/String1
Language/String2
Language/String3
Language/String4
No results with any :(
Returns nothing either in the audios or subtitles but the rest is working properly. Does anyone know because it can be?
Back to the 0.7.30 works OK with the same code.
Thanks!
________
drug testing kit (http://drugtestingkit.org)
________
honey oil (http://trichomes.org/hashish/honey-oil)
SeeMoreDigital
24th June 2010, 10:10
Jeez Midzuki,
That comment on HydrogenAudio is nearly 5 years old. And dates back to a time when 5.1Ch speaker set-ups were the accepted standard.
With the advent of 7.1 speaker set-ups, things have moved on. Indeed, even the "rear channel" positions for a 5.1Ch set-up have moved to the "sides" for a 7.1Ch set-up. Meaning, we now have two dedicated rear channels.
pistacho
26th June 2010, 17:33
@Zenitram
Bug confirmed:
From version 0.7.32 language is not detected in the .m2ts files (from Blu-ray). In other types of files works OK. Even with .m2ts files obtained from tsMuxer output also works OK.
With version 0.7.31 this behavior does not occur.
This is the same with the lib as GUI :eek:
http://img96.imageshack.us/img96/8489/language.png
Where is the Language/String?? :p
________
Honda VTX1800F (http://www.cyclechaos.com/wiki/Honda_VTX1800F)
________
extreme vaporizer (http://extremevaporizer.info)
Midzuki
26th June 2010, 22:26
Jeez Midzuki,
That comment on HydrogenAudio is nearly 5 years old. And dates back to a time when 5.1Ch speaker set-ups were the accepted standard.
With the advent of 7.1 speaker set-ups, things have moved on. Indeed, even the "rear channel" positions for a 5.1Ch set-up have moved to the "sides" for a 7.1Ch set-up. Meaning, we now have two dedicated rear channels.
There are certain facts or truths that never "expire". :rolleyes:
Repeat after me:
In other words, only supporting what is widespread at the moment is probably not enough. Microsoft also has a point :
In order to keep pace with new data formats and delivery mechanisms, a standard must be produced to ensure consistency between applications and hardware.
SeeMoreDigital
27th June 2010, 10:18
There's nothing to "repeat after you"...
And as I said before, the "quote" you refer to was written nearly five years ago. The "new data formats and delivery mechanisms" have been agreed and they are now here.
They all utilise an agreed 7.1 channel speaker position layout. Regardless of whether all or just some of the speaker channels are active.
The next "delivery mechanism" (if it ever gets off the ground) will utilise 9.1 (or more LFE) channels, by incorporating front left and right "high level" mounted speakers. Again, regardless of whether all or just some of the speaker channels are active.
Essentially, the sound engineer has to work with the "agreed" speaker position layout - for use with any commercially released product.
Zenitram
27th June 2010, 14:31
Hello, it would be nice if the library showing the bitrate of DTS-HD Core. In the same way that TrueHD:
DTS-HD: Variable / 1509 Kbps
This is still planned, but I still continue to priorize paid feature requests, so this feature is postponed until I have free time.
In addition I updated the dll to version 0.7.33 and I stopped working language detection in my application
I think I lost nothing between the upgrades with my current samples, so I need a sample of your files (the complete blu-ray structure, with clpi and mpls), can you provide a minimal sample? If you do not want to make it public, I can provide a private FTP server access, contact me by private message.
Do you test the m2ts, the mpls or the clpi?
Zenitram
27th June 2010, 14:56
The next "delivery mechanism" (if it ever gets off the ground) will utilise 9.1 (or more LFE) channels, by incorporating front left and right "high level" mounted speakers
This will not be soon, blu-ray is limited to 8 channels currently, and this is expensive enough to have 7 speakers (with good quality) + 1 LFE!
Maybe later, a lot later, we will have 8K (8192 x 3420 pixels, 60p and 12 bits per pixel) video and 22.2 sound!
http://en.wikipedia.org/wiki/8K_Video_Format
http://en.wikipedia.org/wiki/22.2
Dreams :-D
pistacho
27th June 2010, 15:26
Do you test the m2ts, the mpls or the clpi?
m2ts. It is easy to reproduce because it happens with any m2ts of any Blu-ray.
Small m2ts sample:
http://www.hotshare.net/file/270208-1077563d77.html
In the screenshot also is seen to be a .m2ts (T:\SHUTTER_ISLAND\BDMV\STREAM\00015.m2ts) and do not see any language information:
http://img96.imageshack.us/img96/8489/language.png
________
CRF50 (http://www.cyclechaos.com/wiki/Honda_CRF50)
________
volcano vaporizers (http://vaporizers.net/volcano-vaporizer)
stax76
27th June 2010, 15:55
@Zenitram
Maybe you can add high DPI support, right no it uses DPI virtualization compatibility mode and it's ugly at 144 DPI, in XP mode it's ugly too.
http://msdn.microsoft.com/en-us/library/dd464660%28v=VS.85%29.aspx
Today people are using different monitors ranging from big Full HD to small netbook and to make it look good everywhere you need to scale your UI manually, how to do this depend on the widget toolkit, it's one of the main advantages of WPF since it's DPI aware out of the box and manual scaling with old toolkits is more or less painful.
@all
There is a new feature in StaxRip showing MediaInfo of all files contained in a folder using a table (ListView in detail mode), maybe somebody finds it useful or wants to reuse the code in another project, here is a screenshot:
http://j.imagehost.org/t/0833/Unbenannt_7.jpg (http://j.imagehost.org/view/0833/Unbenannt_7)
It's supports sorting by clicking on the column headers.
Zenitram
27th June 2010, 18:04
m2ts. It is easy to reproduce because it happens with any m2ts of any Blu-ray.
The m2ts alone is not enough for language (it is in the .clpi), but I see with my samples now, yes there is a problem during analyzing of the .m2ts (if you analyze the corresponding .clpi or .mpls, language should be available). I should be quick to correct, I try to correct it for next version.
pistacho
27th June 2010, 19:01
The m2ts alone is not enough for language (it is in the .clpi)
In the .m2ts is the 3-letter language code (eng, spa, etc...) not required. In the .clpi word with entire language (English, Spanish...)
I try to correct it for next version.
:thanks:
________
herbalaire (http://vaporizers.net/herbalaire-vaporizer)
________
Honda Z50M (http://www.cyclechaos.com/wiki/Honda_Z50M)
Zenitram
27th June 2010, 19:10
Maybe you can add high DPI support, right no it uses DPI virtualization compatibility mode and it's ugly at 144 DPI, in XP mode it's ugly too.
This is planned too, but same problem than the previous post.
But any help for working on it would be appreciated (this is open source...)
There is a new feature in StaxRip showing MediaInfo of all files contained in a folder using a table
Nice!
stax76
5th July 2010, 11:08
I'm experiencing a hang with a eac3to created h264 20 GB file, it hangs in both our GUIs, the file decodes with NV tools, the troublesome thing is it don't hang with a 50 MB chunk, maybe I should try a bigger chunk but this will gonna be a pain for me to upload since I can only upload with 192 kbit/s.
Zenitram
5th July 2010, 11:17
I'm experiencing a hang with a eac3to created h264 20 GB file.
I think I already corrected the bug in the latest version of MediaInfo.dll (previously, with raw H.264, the whole file was parsed, no problem with 50 MB, but a bit more for 20 GB ;-) ).
Please test at least version 20100704:
https://sourceforge.net/projects/mediainfo/files/development_snapshots/
stax76
5th July 2010, 11:28
That works, thanks! :)
SeeMoreDigital
5th July 2010, 15:33
Hi Zenitram,
I've been sent some iPhone4 captures for testing with my Xtreamer hardware media players.
Anyway, it would seem the iPhone4 generates AAC audio streams with Parametric Stereo. However, they don't seem to contain an SBR flag!
This makes me wonder whether they actually contain SBR signalling or even parametric stereo.
Here's a link to a sample: http://alexmaine.net/IMG_0036.mov And here's another: http://www.dsvilla.co.uk/iphone4testvideo.mov
Cheers
Zenitram
5th July 2010, 18:15
This makes me wonder whether they actually contain SBR signalling.
I definitly hate this SBR and PS stuff!
There is no means to be sure of the (non)presence of SBR and PS without parsing the comple raw AAC stream :(.
VLC says there is no PS, I trust it (it decodes the stream).
I found a solution for your 2 files: there is "chan" atom (see QuickTime reference (http://developer.apple.com/mac/library/documentation/MusicAudio/Reference/CAFSpec/CAF_spec/CAF_spec.html#//apple_ref/doc/uid/TP40001862-CH210-BCGECJAJ)), with 1 channel indication, so I think I can trust it. When I find this atom, I trust it (--> Mono, I disable automatic stereo when I detect mono file).
Your file will be in next version:
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : LC
Format settings, SBR : No
Format settings, PS : No
Codec ID : 40
Duration : 9s 682ms
Bit rate mode : Constant
Bit rate : 64.0 Kbps
Channel(s) : 1 channel
Channel positions : Front: C
Sampling rate : 44.1 KHz
Stream size : 75.6 KiB (1%)
Title : Core Media Audio
Encoded date : UTC 2010-06-14 17:17:59
Tagged date : UTC 2010-06-14 17:18:09
But this is still heuristic, I will not be able to be sure of SBR and/or PS until I integrate a complete AAC decoder (not plan for soon, this is long to do).
SeeMoreDigital
5th July 2010, 19:25
Thanks for looking into this Zenitram...
I thought it was a little odd that these iPhone4 files were showing PS. Especially as no Apple devices or their (Windows) Quicktime player supports PS - as far as I know!
mata7
9th July 2010, 00:58
hello is there a way to open media info more big, sorry about my English
what i mean is when i right click on a file and click media info when media info open is very small screen by default, i open more the the screen to see more info on the file but when i reopen again Oder file the screen is small again
thanks in advance
Zenitram
10th July 2010, 01:24
hello is there a way to open media info more big
Look at my comments in:
http://sourceforge.net/tracker/index.php?func=detail&aid=1696906&group_id=86862&atid=581184
mata7
10th July 2010, 01:54
great thanks, i guest this feature is like duke nuke forever project
Zenitram
10th July 2010, 01:56
great thanks, i guest this feature is like duke nuke forever project
Maybe... :(
It is on the ToDo list, but this list is long, very long.
mata7
10th July 2010, 05:04
is all good man, i thank you for this great program and for you work and of course for give it for free
LoRd_MuldeR
11th July 2010, 16:58
If anybody cares, here's a statically-linked build of MediaInfo v.0.7.34:
http://code.google.com/p/mulder/downloads/detail?name=MediaInfo.2010-07-11.zip&can=2&q=
Hi Zenitram,
an issue with 0.7.33 and 0.7.34 (0.7.32 is OK): when reading large MPEG-2 Video files (m2v/vob), MediaInfo is hanging for a big while (more than 1 min with 4GB files, on intel core2 duo system), then it comes out with correct reading. Is it now parsing all the file? Is there any way to say "use the 0.7.32 quick read mode"?
;)
Bye
Zenitram
12th July 2010, 17:46
when reading large MPEG-2 Video files (m2v/vob), MediaInfo is hanging for a big while (more than 1 min with 4GB files, on intel core2 duo system)
If it is confirmed, this is a bug.
I tested with a 800 MB file (the maximum I have for a VOB file), it is immediate (no complete file read), so I am surprised about your issue.
I think I need your file to check this at home, you can contact me by private message and I will provide a private FTP server for uploading.
Midzuki
15th July 2010, 15:47
@ Zenitram
please take a look at this:
http://forum.doom9.org/showthread.php?p=1417792#post1417792
Zenitram
15th July 2010, 15:50
please take a look at this
Kurtnoise has well replied.
I will change "Text" to "Subtitle" the next time I break the API.
Midzuki
15th July 2010, 16:05
^Thanks for answering.
Keiyakusha
15th July 2010, 16:20
Kurtnoise has well replied.
I will change "Text" to "Subtitle" the next time I break the API.
Maybe you can also rename "Cover" to "Attachment"? Since attachments can be anything, not only covers.
Also maybe you can print filenames or something, instead of this Yes-yes-yes? In the way it is now it looks funny and not very useful.
Writing application : mkvmerge v2.7.0 ('Do It Again') built on Apr 16 2009 22:41:30
Writing library : libebml v0.7.7 + libmatroska v0.8.1
Cover : Yes / Yes / Yes / Yes / Yes / Yes / Yes / Yes
Zenitram
15th July 2010, 16:24
Maybe you can also rename "Cover" to "Attachment"? Since attachments can be anything, not only covers.
Also maybe you can print filenames or something, instead of this Yes-yes-yes? In the way it is now it looks funny and not very useful.
This is on my ToDo-list, but in position ~150 :(.
b66pak
15th July 2010, 20:10
how does mediainfo calculate the audio delay in a .mkv file?
here is mediainfo report:
General
Complete name : split3.mkv
Format : Matroska
File size : 2.57 GiB
Duration : 40mn 42s
Overall bit rate : 9 042 Kbps
Encoded date : UTC 2010-07-15 18:01:22
Writing application : mkvmerge v4.0.0 ('The Stars were mine') built on Jun 6 2010 16:18:42
Writing library : libebml v1.0.0 + libmatroska v1.0.0
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L4.0
Format settings, CABAC : Yes
Format settings, ReFrames : 5 frames
Muxing mode : Container profile=Unknown@4.0
Codec ID : V_MPEG4/ISO/AVC
Duration : 40mn 42s
Bit rate : 8 414 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate : 50.000 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.183
Stream size : 2.39 GiB (93%)
Color primaries : BT.709-5, BT.1361, IEC 61966-2-4, SMPTE RP177
Transfer characteristics : BT.709-5, BT.1361
Matrix coefficients : BT.709-5, BT.1361, IEC 61966-2-4 709, SMPTE RP177
Audio
ID : 2
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Codec ID : A_AC3
Duration : 40mn 42s
Bit rate mode : Constant
Bit rate : 448 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Video delay : 16ms
Stream size : 130 MiB (5%)
here is eac3to report:
eac3to split3.mkv
MKV, 1 video track, 1 audio track, 0:40:42, 50p
1: h264/AVC, 720p50
2: AC3, 2.0 channels, 448kbps, 48kHz, dialnorm: -27dB, 316ms
the delay reported by eac3to is the correct one!
_
jez9999
16th July 2010, 11:28
Hi, I'd like to check whether this is a known bug with MediaInfo.
I think it was installed with the K-Lite codec pack. Now, I get a 'Media Info' link in the Explorer context menu whenever I right-click on a file. If I get media info on that file, I'm taken to a popup looking like this: http://cache.techie-buzz.com/images/stories/2008/10/mediainfomainscreenshot.png
The version number is 0.7.33.
My problem? In the About tab, there is a checkbox with the text 'Enable shortcut in context menu'. Presumably, when unchecked, that should remove the 'Media Info' link in the Explorer context menu, right? Well it doesn't. That context link is always there. Am I misunderstanding something, or is this a known bug. Also, how can I forcibly remove that context link?
XhmikosR
16th July 2010, 11:33
That's not the official MediaInfo. Since you installed K-Lite you better ask in their forum. It must be caused because of the installer adding the context menu for all users and the GUI sets it for the current user or the other way around.
Keiyakusha
16th July 2010, 11:42
Also About page says that the author of the GUI is Atak_Snajpera, so you probably can contact him via this forum. However not sure how good this idea is.
Atak_Snajpera
16th July 2010, 11:56
@jez9999
Did you click OK after you unchecked 'Enable shortcut in context menu' ?
jez9999
16th July 2010, 13:07
Atak: Yes. :)
Keiyakusha
16th July 2010, 13:08
By the way I can confirm that by removing checkbox and cliching OK, "Media Info" still remains in context menu however GUI won't open anymore. I see "open with" dialog instead. This is on win7 32bit. Other that this I very like this GUI ^_^
Atak_Snajpera
16th July 2010, 13:21
Well I have Windows 7 x64 and it works ok.
http://www.mediafire.com/file/igjfdm2xt8435tg/test.mp4
Keiyakusha
16th July 2010, 14:07
I just noticed, after disabling checkbox, clicking OK and running ccleaner it reports this (http://imgur.com/wghtx.png).
This path looks strange to me since i don't have subfolder "tools". And klite was never installed on my system.
After fixing it "Media Info" entry disappeared from context menu and now if I enabling/disabling checkbox it seems to be working fine :confused:
jez9999
16th July 2010, 15:08
Atak: tried it on a Windows XP box? :-)
Atak_Snajpera
16th July 2010, 16:50
None of my friends has XP now.
jez9999
16th July 2010, 23:38
So, what, you can't be bothered to support Windows XP? Fine, but make sure the Media Player Classic installer that installs your shell extension doesn't support XP either. Otherwise it's kind of inconsistent, don't you think?
Zenitram
17th July 2010, 02:30
how does mediainfo calculate the audio delay in a .mkv file?
Padding bytes divided by stream bitrate.
the delay reported by eac3to is the correct one!
Please provide a sample, I'll check.
jez9999
17th July 2010, 10:30
By the way people, the way I got rid of the WinXP Explorer context menu item for Media Info that Atak_Snajpera is too lazy/inept/incompetent to deal with is to delete the HKEY_CLASSES_ROOT\*\shell\Media Info reg key.
Zenitram
17th July 2010, 12:00
is too lazy/inept/incompetent
Is it necessary to insult people who creates software? Do not use their software.
Atak_Snajpera
17th July 2010, 22:08
By the way people, the way I got rid of the WinXP Explorer context menu item for Media Info that Atak_Snajpera is too lazy/inept/incompetent to deal with is to delete the HKEY_CLASSES_ROOT\*\shell\Media Info reg key.
Grow up! You get something for free and you still whining like some spoiled kid. You would change your tone if you had to work 12 hours a day!
stax76
17th July 2010, 22:52
Hello Zenitram, I came across a little issue with file extensions, MediaInfo hangs with *.dtshd, after renaming to *.dts everything works fine. I think users/applications will probably use many different file extensions like:
dts
dtshd
dts-hd
dtsma
dts-ma
dtshr
dts-hr
dtses
dts-es
avih
17th July 2010, 23:29
By the way people, the way I got rid of the WinXP Explorer context menu item for Media Info that Atak_Snajpera is too lazy/inept/incompetent to deal with is to delete the HKEY_CLASSES_ROOT\*\shell\Media Info reg key.
Striked. Keep your tone down..
Zenitram
18th July 2010, 01:45
how does mediainfo calculate the audio delay in a .mkv file?
So this is with the "TimeCode" value.
The sample you sent me is very weird
The fisrt AC-3 block has TimeCode=316
The first frame (I-frame) in your file has TimeCode=300
After, there is lot of B-Frames, with the following TimeCodes (TimeCode FrameType pic_order_cnt_lsb) :
300 I-Frame 48 (not IDR, not normal)
140 B-Frame 32
60 B-Frame 24
20 B-Frame 20
00 B-Frame 18
40 B-Frame 22
100 B-Frame 28
80 B-Frame 26
120 B-Frame 30
220 B-Frame 40
180 B-Frame 36
160 B-Frame 34
200 B-Frame 38
260 B-Frame 44
240 B-Frame 42
280 B-Frame 46
316 AC-3 frame
620 P-Frame 80
460 B-Frame 64
380 B-Frame
340 B-Frame
320 B-Frame
360 B-Frame
420 B-Frame
400 B-Frame
440 B-Frame
540 B-Frame
500 B-Frame
480 B-Frame
520 B-Frame
580 B-Frame
560 B-Frame
600 B-Frame
940 I-Frame
780 B-Frame
... (normal, one P-Frame between 2 I-Frames, ~15 B-frames between 2 I/P-Frame)
From my point of view, B-Frames before TimeCode 300 are not decodable (missing reference I/P-Frame before TimeCode 300, pic_order_cnt_lsb of B-Frames are inferior to pic_order_cnt_lsb of the first I-Frame), so the delay between the first decodable AC-3 frames (316) and the first decodable AVC frame (300) is 16 ms.
Zenitram
18th July 2010, 01:46
Hello Zenitram, I came across a little issue with file extensions, MediaInfo hangs with *.dtshd, after renaming to *.dts everything works fine.
I will add other extension to automaticly select the DTS parser, but please provide the file with hang, another parser (when I don't know the extension, I test withe other parsers) is hanging, and this is a bug.
stax76
18th July 2010, 07:50
Can't you reproduce this with any dtshd file? I tested with a master audio and with a hi-res file and both were hanging.
Zenitram
18th July 2010, 11:22
Can't you reproduce this with any dtshd file?
None of my ~20 .dtshd sample files are hanging.
(tested with v0.7.34)
stax76
18th July 2010, 12:21
I tried now again with v0.7.34, it's not really hanging but a 3,2 GB DTS-MA file with dtshd extension takes 40 seconds, a 100 MB chunk takes about a second, if it helps I can upload this chunk.
Zenitram
18th July 2010, 13:02
I tried now again with v0.7.34, it's not really hanging but a 3,2 GB DTS-MA file with dtshd extension takes 40 seconds, a 100 MB chunk takes about a second, if it helps I can upload this chunk.
Mines stop after the 32 first frames, so few KB, this is immediate, as wanted.
Please test this version:
http://sourceforge.net/projects/mediainfo/files/development_snapshots/0.7.34%2B/MediaInfo_GUI_20100717_Windows_i386_WithoutInstaller.7z/download
If it is not immediate, please provide a sample (send a private message for provate FTP if you need it)
Mosu
18th July 2010, 16:55
Padding bytes divided by stream bitrate.
In a Matroska file audio tracks have no padding. The offset should just be the difference between the timecodes of the first packet of the audio and video track.
Zenitram
18th July 2010, 16:59
In a Matroska file audio tracks have no padding.
Exact, I made an error, AVI has padding, MKV has TimeCodes.
See http://forum.doom9.org/showthread.php?p=1418523#post1418523 for the reason I put this delay between Audio and Video. What would be your mind about this?
stax76
18th July 2010, 18:30
Here is the sample, 100 MB dts-ma:
http://www.stax76.bplaced.net/files/samples/test.dts-ma
Zenitram
19th July 2010, 01:24
Here is the sample, 100 MB dts-ma
Please test https://sourceforge.net/projects/mediainfo/files/development_snapshots/0.7.34%2B/MediaInfo_GUI_20100718_Windows_i386_WithoutInstaller.7z/download
I did not yet add the "dts-m"a extension to the list of known extensions, so all parsers are still tested, but they should not parse the whole file anymore. At home, this is now <50ms (<5ms if extension is "dts", so this will be this speed after I added "dts-ma" extension to the list, but I prefer first to be sure that I have noot anymore this bug)
stax76
19th July 2010, 11:26
It's fixed, great support, thanks!
sapient
21st July 2010, 00:12
Note: I am sorry for asking a question that may have been already answered, but I don't have time to go through 38 pages of posts. If someone could point me to the answer, if it already exists, I would be grateful. On to the problem:
In my windows 7 x64 installations, on 3 different PCs, mediainfo's infotip does not work. I only get the standard, very uninformative, windows info tip. I read somewhere that wmp might be interfering, but even uninstalling all of windows' media features (wmp, wmc, dvdmaker and basic components) did not solve the problem. Is there a way to get the infotip to show?
P.S.: I am using the latest x64 version of mediaInfo
Zenitram
21st July 2010, 10:51
In my windows 7 x64 installations, on 3 different PCs, mediainfo's infotip does not work
I have a bug with x64 tooltips, I had not yet the time to look at it. Low priority for me, the main developer.
sapient
22nd July 2010, 01:11
Thanks for the quick reply anyway.
I hope I reminded you you have x64 users too, if it helps shift any priorities ;-)
Zenitram
22nd July 2010, 09:45
I hope I reminded you you have x64 users too, if it helps shift any priorities ;-)
I know... I have thousands of x64 users (me included), but none of them is ready to pay for this request, so I prioritize the features that will contribute to my salary first... Unlike some other tools, MediaInfo is my fulltime job, don't forget it, so uneconomic features are handled after the economic ones (requests from people here are often useful for my professional offer and quick to implement, but unfortunatly for you, not this one)
Nexin
29th July 2010, 03:01
A resize for the selected file informations instead of having to scroll and squint. Cannot seem to make that part of the gui bigger. Would be if can be done and for it to remember it's size for all future uses. The reason i no longer use the gui from context menu or at all. Use G-Spot instead at least i can have that full size and see all informations that is needed at once.
Please rethink for your users and how they see this tool. Cosmetic but would make a huge difference with using the tool.
Zenitram
29th July 2010, 09:17
(...) Please rethink for your users and how they see this tool. Cosmetic but would make a huge difference with using the tool.
I think I already said it here, but I will repeat: THIS IS PLANNED. I know it would be better to have this feature.
I do what I want, you can do what you want, MediaInfo is open-source software, you have a lot of solutions:
- Pay me for what you need
- Pay someone else for doing it
- Do it yourself.
For me, I currently work for people paying me for improving MediaInfo, and they have the priority compared to the needs from people who need something for free (if they really need it, they would pay for it), I am not your slave. My current focus is on the features, not the GUI.
So this feature is planned for when I have a bit free time. In the meanwhile, someone send me a patch, I will integrate it.
Please rethink to the developers and how much you paid for this software.
Octo-puss
30th July 2010, 08:01
I know... I have thousands of x64 users (me included), but none of them is ready to pay for this request, so I prioritize the features that will contribute to my salary first... Unlike some other tools, MediaInfo is my fulltime job, don't forget it, so uneconomic features are handled after the economic ones (requests from people here are often useful for my professional offer and quick to implement, but unfortunatly for you, not this one)
A bit offtopic, but I find this interesting.
As much as this tool is useful, I cannot imagine how you can make living on this. It's "just" a small information utility like tens of others. And it's free. I can imagine several people sending some donations, but this? Whoa...
Zenitram
30th July 2010, 10:56
(...) It's "just" a small information utility like tens of others. And it's free. I can imagine several people sending some donations, but this? Whoa...
Actually, donations are not enough, far from it.
This is not "just" a small information utility, because I support lot of formats (same API for all formats, rare), I provide a lot of information not easy to find (B-Frames, GOP, interleave method...) and I provide a library (and important: cross platform), used by companies for automation on hundred of thousands of files. I work more on feedback I have here about wrongly analyzed files because I know that people paying me can have the same issue later. You win a better software, I win good support. For GUI, I win less, so this is low priority for (I don't forget, but low priority).
I don't live from donations, but from paid feature requests (most of them are not visible in the GUI, you must look inside the code to find them ;-), GUI will be implemented for theses features when I have free time, people who pay use mainly the library).
Yes, some people can live from this kind of development! Not a big company, but enough for 1-2 people.
Nexin
4th August 2010, 07:31
I think I already said it here, but I will repeat: THIS IS PLANNED. I know it would be better to have this feature.
I do what I want, you can do what you want, MediaInfo is open-source software, you have a lot of solutions:
- Pay me for what you need
- Pay someone else for doing it
- Do it yourself.
For me, I currently work for people paying me for improving MediaInfo, and they have the priority compared to the needs from people who need something for free (if they really need it, they would pay for it), I am not your slave. My current focus is on the features, not the GUI.
So this feature is planned for when I have a bit free time. In the meanwhile, someone send me a patch, I will integrate it.
Please rethink to the developers and how much you paid for this software.
I wasn't meant to sound harsh, have read again and it does, sorry for that. Nice to hear this is known, todo and planned to be better, thank you for your views :)
Zenitram
4th August 2010, 08:31
I wasn't meant to sound harsh, have read again and it does, sorry for that.
Accepted :).
stax76
17th August 2010, 14:24
@Zenitram
I have a file where 'CodecID/Hint' won't return 'MP3', maybe you can tell me a easy and reliable way to detect MP3.
General
CompleteName : D:\Video\Temp\aaa.FLV
Format : Flash Video
FileSize/String : 3.42 MiB
Duration/String : 4mn 28s
OverallBitRate/String : 107 Kbps
httphostheader : aaa
Video
Format : H.263
Duration/String : 4mn 28s
BitRate/String : 40.2 Kbps
Width/String : 320 pixels
Height/String : 240 pixels
DisplayAspectRatio/String : 4:3
FrameRate_Mode/String : Constant
FrameRate/String : 25.000 fps
Bits-(Pixel*Frame) : 0.021
StreamSize/String : 1.28 MiB (38%)
Audio
Format : MPEG Audio
Format_Version : Version 2
Format_Profile : Layer 3
Format_Settings_Mode : Joint stereo
Format_Settings_ModeExtension : MS Stereo
Duration/String : 4mn 28s
BitRate_Mode/String : Variable
BitRate/String : 59.2 Kbps
Channel(s)/String : 2 channels
SamplingRate/String : 22.05 KHz
BitDepth/String : 16 bits
StreamSize/String : 1.89 MiB (55%)
Atak_Snajpera
17th August 2010, 14:40
Format profile : Layer 3
Layer 3 = MP3
Layer 2 = MP2
stax76
17th August 2010, 14:56
These are the relevant parameters:
Format : MPEG Audio
Format_Commercial : MPEG Audio
Format_Version : Version 2
Format_Profile : Layer 3
Codec : MPA2L3
Codec/String : MPEG-2 Audio layer 3
Wikipedia says MP3 is MPEG-1 or MPEG-2 Audio Layer 3 so maybe the easiest way would be to check if 'Codec' is either MPA1L3 or MPA2L3, I could find a sample for both.
mariush
17th August 2010, 17:53
That's correct. MP3 can be MPEG 1 Layer 3, MPEG 2 Layer 2 and MPEG 2.5 Layer 3 (some not official or standardized)... http://en.wikipedia.org/wiki/MP3#Bit_rate shows it well.
Zenitram
17th August 2010, 21:48
I have a file where 'CodecID/Hint' won't return 'MP3', maybe you can tell me a easy and reliable way to detect MP3.
'CodecID/Hint' depends of the CodecID, so of the container (ie AVI in you case I imagine, CodecID 0x55 is for layer 3).
If you want to be sure to detect MP3 whatever is the container, other people provided the right direction:
Format : MPEG Audio
Format_Profile : Layer 3
SeeMoreDigital
17th August 2010, 22:18
That's correct. MP3 can be MPEG 1 Layer 3, MPEG 2 Layer 2 and MPEG 2.5 Layer 3 (some not official or standardized)... http://en.wikipedia.org/wiki/MP3#Bit_rate shows it well.I think you mean: MPEG-2 Layer-3...
mariush
18th August 2010, 03:41
No, I'm pretty sure I know what I mean. Read the Wikipedia article.
stax76
18th August 2010, 07:13
You wrote Layer 2. :D
stax76
18th August 2010, 23:39
Next StaxRip version will have some MediaInfo related improvements:
http://thumbnails9.imagebam.com/9370/96e96493699600.jpg (http://www.imagebam.com/image/96e96493699600) http://thumbnails31.imagebam.com/9370/89701593699638.jpg (http://www.imagebam.com/image/89701593699638) http://thumbnails31.imagebam.com/9370/d4cb0d93699662.jpg (http://www.imagebam.com/image/d4cb0d93699662) http://thumbnails32.imagebam.com/9370/25b98093699672.jpg (http://www.imagebam.com/image/25b98093699672) http://thumbnails33.imagebam.com/9370/e6c93493699692.jpg (http://www.imagebam.com/image/e6c93493699692) http://thumbnails25.imagebam.com/9370/4ecc1d93699706.jpg (http://www.imagebam.com/image/4ecc1d93699706)
Zenitram
18th August 2010, 23:40
Next StaxRip version will have some MediaInfo related improvements:
Eh eh... I see you like to play with it...
jasonwc
23rd August 2010, 15:02
I'm using Mediainfo 0.7.34 and I've noticed that after merging a FLAC into an MKV, I lose the FLAC bitrate metadata. I asked Mosu about this, and he insists that MKVMerge does not strip the metadata. Instead, he says that Mediainfo simply doesn't read the metadata when it's two levels deep.
Would it be possible to display this information?
jasonwc
23rd August 2010, 15:07
Next StaxRip version will have some MediaInfo related improvements:
http://thumbnails9.imagebam.com/9370/96e96493699600.jpg (http://www.imagebam.com/image/96e96493699600) http://thumbnails31.imagebam.com/9370/89701593699638.jpg (http://www.imagebam.com/image/89701593699638) http://thumbnails31.imagebam.com/9370/d4cb0d93699662.jpg (http://www.imagebam.com/image/d4cb0d93699662) http://thumbnails32.imagebam.com/9370/25b98093699672.jpg (http://www.imagebam.com/image/25b98093699672) http://thumbnails33.imagebam.com/9370/e6c93493699692.jpg (http://www.imagebam.com/image/e6c93493699692) http://thumbnails25.imagebam.com/9370/4ecc1d93699706.jpg (http://www.imagebam.com/image/4ecc1d93699706)
That mediainfo explorer view would be awesome integrated into Windows Explorer. Currently, the only explorer filter to show Matroska metadata is the DivX codec pack, and it kills Explorer when a folder contains a MKV with AVC header compression.
Zenitram
23rd August 2010, 16:06
I asked Mosu about this, and he insists that MKVMerge does not strip the metadata. Instead, he says that Mediainfo simply doesn't read the metadata when it's two levels deep.
Would it be possible to display this information?
He is absolutely right.
This is possible, please add a feature request here or I will forget it:
http://sourceforge.net/tracker/?group_id=86862&atid=581184
But I warn: not a priority for me, no idea about when I will do it.
Zenitram
23rd August 2010, 16:06
That mediainfo explorer view would be awesome integrated into Windows Explorer.
This is planned, but not a priority for me.
If someone wants to do it, I will be happy to accept his patch.
stax76
23rd August 2010, 17:34
If I remember the property system API correctly you can assign one property handler each file type so if you want to have your property handler to work with a file type you have to disable the existing property handler so all existing properties would be gone like all the MP3 properties Album, Title, Rating etc. I think this API sucks, bad luck for you and everybody having a similar application.
jasonwc
23rd August 2010, 18:35
He is absolutely right.
This is possible, please add a feature request here or I will forget it:
http://sourceforge.net/tracker/?group_id=86862&atid=581184
But I warn: not a priority for me, no idea about when I will do it.
Sure. Here you go - https://sourceforge.net/tracker/?func=detail&aid=3051684&group_id=86862&atid=581184
jasonwc
24th August 2010, 20:23
I noticed that adding a raw TrueHD (not a hybrid TrueHD+AC3) file into Mediainfo fails to show any metadata other than size. For example, here is the Mediainfo output for a TrueHD output stored in an MKV, and then raw:
MKV:
Audio
ID : 2
Format : TrueHD
Codec ID : A_TRUEHD
Codec ID/Info : Dolby TrueHD
Duration : 49mn 53s
Channel(s) : 6 channels
Sampling rate : 48.0 KHz
Bit depth : 24 bits
Title : 5.1
Language : English
Raw:
General
Complete name : D:\In Process\Dexter S04 E01 1080p BluRay AVC TrueHD 5.1-Remux_Track2.thd
File size : 597 MiB
AC3, DTS, FLAC, and DTS-HD MA don't have this issue.
Zenitram
24th August 2010, 20:31
I noticed that adding a raw TrueHD (not a hybrid TrueHD+AC3) file into Mediainfo fails to show any metadata other than size.
Please provide a sample.
1st MB should be enough.
jasonwc
25th August 2010, 03:46
Please provide a sample.
1st MB should be enough.
Here you go- http://www.mediafire.com/?y79avd3m2xuug7c
Included is a 1MB raw TrueHD file (16/48 Khz) as well as the same THD in a MKA container.
Vincent Vega
6th September 2010, 11:56
hi Zenitram,
i have this MOV file with LPCM 5.1 audio track, mediainfo seems to incorrectly report it as 3ch, sampling rate 1Hz. could you please take a look? file was created with QT 7 Pro, QT Movie Inspector properly shows audio as 5.1, 48KHz.
here's a link, hope 60MB is not too big a sample:
http://depositfiles.com/files/kji563pju
thank you
SeeMoreDigital
6th September 2010, 13:24
here's a link, hope 60MB is not too big a sample:
http://depositfiles.com/files/kji563pju
thank youIf it helps... Here are just "ten frames" (1.36MB) cut from the same sample:
http://www.mediafire.com/?4oo8qge1882w88r
Cheers
Vincent Vega
6th September 2010, 14:04
thanx man, what did you use to split a MOV?
SeeMoreDigital
6th September 2010, 14:36
thanx man, what did you use to split a MOV?A licenced/registered version of Quicktime Pro.
Cheers
LoRd_MuldeR
6th September 2010, 15:33
MediaInfo v0.7.35:
http://code.google.com/p/mulder/downloads/detail?name=MediaInfo.2010-09-06.zip&can=2&q=
(CLI Front-end, Intel C Compiler 11.1.065 Update-6, statically linked)
Vincent Vega
9th September 2010, 11:12
hi Zenitram,
i have this MOV file with LPCM 5.1 audio track, mediainfo seems to incorrectly report it as 3ch, sampling rate 1Hz. could you please take a look? file was created with QT 7 Pro, QT Movie Inspector properly shows audio as 5.1, 48KHz.
here's a link, hope 60MB is not too big a sample:
http://depositfiles.com/files/kji563pju
thank you
If it helps... Here are just "ten frames" (1.36MB) cut from the same sample:
http://www.mediafire.com/?4oo8qge1882w88r
Cheers
the 7.35 version doesn't fix this, so question still remains
Zenitram
9th September 2010, 12:10
the 7.35 version doesn't fix this, so question still remains
I know... I didn't yet work on this issue (the file is weird... Not really standard compared to usual description atom, but I think I can handle this kind of issue specific to "lpcm" = DVD PCM), this is on my ToDo list.
roozhou
9th September 2010, 15:41
This is something I didn't yet understand.
Matroska trace example:
(...)
0000115A CodecPrivate (41 bytes)
0000115A Header (3 bytes)
0000115A Name: 23A2 (9122)
0000115C Size: 26 (38)
0000115D Specific (38 bytes)
0000115D Header (0 bytes)
0000115D Profile: 1 (1)
0000115E Compatible profile: 64 (100)
0000115F Reserved: 0 (0)
00001160 Level: 29 (41)
00001161 Reserved: 3F (63)
00001161 Size of NALU length minus 1: 3 (3)
00001162 Reserved: 7 (7)
00001162 seq_parameter_set count: 1 (1)
00001163 seq_parameter_set (25 bytes)
00001163 Size: 17 (23)
00001165 nal_ref_idc: 3 (3)
00001165 nal_unit_type: 7 (7)
00001166 profile_idc: 64 (100)
(...)
The same thing in a MP4:
(...)
00000643 AVC decode (33 bytes)
00000643 Header (8 bytes)
00000643 Size: 21 (33)
00000647 Name: avcC
0000064B Version: 1 (1)
0000064C Specific (24 bytes)
0000064C Header (0 bytes)
0000064C Profile: 4D (77)
0000064D Compatible profile: 40 (64)
0000064E Level: C (12)
0000064F Reserved: 3F (63)
0000064F Size of NALU length minus 1: 3 (3)
00000650 Reserved: 7 (7)
00000650 seq_parameter_set count: 1 (1)
00000651 seq_parameter_set (12 bytes)
00000651 Size: A (10)
00000653 nal_ref_idc: 1 (1)
00000653 nal_unit_type: 7 (7)
00000654 profile_idc: 4D (77)
(...)
I see this in some MKV and in some FLV.
Theses files are reported to be NOT playable on some HW players, so users want to see if the "Profile" field is the same as in the seq_parameter_set. if they are different, I display "Container profile" (this value is not used by any player I know), and 1 is un unknown profile from specs.
I am interested if you have any explaination about this...
Sorry for replying to this one-year-old post. I don't read the MKV and FLV spec. But this is code from x264's flv and mkv writer.
FLV:
x264_put_byte( c, 1 ); // version
x264_put_byte( c, sps[1] ); // profile
x264_put_byte( c, sps[2] ); // profile
x264_put_byte( c, sps[3] ); // level
x264_put_byte( c, 0xff ); // 6 bits reserved (111111) + 2 bits nal size length - 1 (11)
x264_put_byte( c, 0xe1 ); // 3 bits reserved (111) + 5 bits number of sps (00001)
MKV:
avcC[0] = 1;
avcC[1] = sps[1];
avcC[2] = sps[2];
avcC[3] = sps[3];
avcC[4] = 0xff; // nalu size length is four bytes
avcC[5] = 0xe1; // one sps
They are exactly the same as MP4. And I find no reason for mkv and flv to use extra data for AVC different from MP4. Here 1 is the version number, 64 is profile, and there is no "reserved" byte between compatible profile and level.
All my AVC in flv shows Unknown as well as AVC in mkv except those in VFW compatible mode.
Lawk
9th September 2010, 16:24
by default, "Enable context menu" is not ticked, but it's still in the context menu. Ticking and unticking makes no difference. Whats up with that?
SeeMoreDigital
9th September 2010, 18:22
I know... I didn't yet work on this issue (the file is weird... Not really standard compared to usual description atom, but I think I can handle this kind of issue specific to "lpcm" = DVD PCM), this is on my ToDo list.It maybe down to another one of Apples weird ".MOV" file muxing implementations.
For example, you can re-assign the audio channel positions and change the output levels by simply altering the files meta-data. ie: without having to re-encode: -
http://img841.imageshack.us/img841/299/snap1t.png
Who knows where all this "transformation" information is stored?
Zenitram
9th September 2010, 18:40
Who knows where all this "transformation" information is stored?
I know, and this is the data I will use to know the real number of audio channels:
0000020B Audio (72 bytes)
0000020B Header (8 bytes)
0000020B Size: D8 (216)
0000020F Name: lpcm
00000213 Reserved: 0 (0)
00000217 Reserved: 0 (0)
00000219 Data reference index: 1 (1)
0000021B Version: 2 (2)
0000021D Revision level: 0 (0)
0000021F Vendor
00000223 Number of channels: 3 (3)
00000225 Sample size: 10 (16)
00000227 Compression ID: FFFE (65534)
00000229 Packet size: 0 (0)
0000022B Sample rate: 1 (1) - 1 Hz
0000022D Reserved: 0 (0)
0000022F Samples per packet: 48 (72)
00000233 Bytes per packet: 40E77000 (1088909312)
00000237 Bytes per frame: 0 (0)
0000023B Bytes per sample: 6 (6)
0000023F Unknown: 7F000000 (2130706432)
00000243 Unknown: 10 (16)
00000247 Unknown: C (12)
0000024B Unknown: C (12)
0000024F Unknown: 1 (1)
00000253 Channels (144 bytes)
00000253 Header (8 bytes)
00000253 Size: 90 (144)
00000257 Name: chan
0000025B Version: 0 (0)
0000025C Flags: 0 (0)
0000025F ChannelLayoutTag: 0 (0)
00000263 ChannelBitmap: 0 (0)
00000267 NumberChannelDescriptions: 6 (6)
0000026B ChannelLabel: 1 (1)
0000026F ChannelFlags: 2 (2)
00000273 Coordinates (0): -30.000
00000277 Coordinates (1): 0.000
0000027B Coordinates (2): 1.000
0000027F ChannelLabel: 2 (2)
00000283 ChannelFlags: 2 (2)
00000287 Coordinates (0): 30.000
0000028B Coordinates (1): 0.000
0000028F Coordinates (2): 1.000
00000293 ChannelLabel: 3 (3)
00000297 ChannelFlags: 2 (2)
0000029B Coordinates (0): 0.000
0000029F Coordinates (1): 0.000
000002A3 Coordinates (2): 1.000
000002A7 ChannelLabel: 4 (4)
000002AB ChannelFlags: 0 (0)
000002AF Coordinates (0): 0.000
000002B3 Coordinates (1): 0.000
000002B7 Coordinates (2): 0.000
000002BB ChannelLabel: A (10)
000002BF ChannelFlags: 2 (2)
000002C3 Coordinates (0): -110.000
000002C7 Coordinates (1): 0.000
000002CB Coordinates (2): 1.000
000002CF ChannelLabel: B (11)
000002D3 ChannelFlags: 2 (2)
000002D7 Coordinates (0): 110.000
000002DB Coordinates (1): 0.000
000002DF Coordinates (2): 1.000
This if from the file provided by Vincent Vega
This is based on theses specs:
http://developer.apple.com/library/mac/#documentation/MusicAudio/Reference/CAFSpec/CAF_spec/CAF_spec.html#//apple_ref/doc/uid/TP40001862-CH210-CHDIAFFD
But if someone can help to decrypt the values (I don't understand what I decode compared to specs...). I see the number of channels "NumberChannelDescriptions", but difficult to know the channel map (and map them to L R, Rear L or R)
Edit: Oups, I had a bug, code edited, now I understand better the values!
Vincent Vega
9th September 2010, 19:20
so ffmpeg also just reads that 6 from NumberChannelDescriptions, not knowing much beyond that about this audio track?
Duration: 00:00:14.91, start: 0.000000, bitrate: 33357 kb/s
Stream #0.0(eng): Audio: pcm_s16le, 48000 Hz, 6 channels, s16, 4608 kb/s
Stream #0.1(eng): Video: h264, yuv420p, 1280x720, 28745 kb/s, 29.97 tbr, 2997 tbn,
5994 tbc
SeeMoreDigital
9th September 2010, 21:29
But if someone can help to decrypt the values (I don't understand what I decode compared to specs...). I see the number of channels "NumberChannelDescriptions", but difficult to know the channel map (and map them to L R, Rear L or R)If it helps.... here's the 10-frame sample with reverse channel assignment (http://www.mediafire.com/?hmhznizfihq8jfi)
http://img844.imageshack.us/img844/2851/reverse.png
Cheers
EDIT: I can generate more samples for you, with individual channels disabled if you like?
Zenitram
9th September 2010, 22:11
If it helps.... here's the 10-frame sample with reverse channel assignment (http://www.mediafire.com/?hmhznizfihq8jfi)
Good. Now I see where was my error in my code, and I have something more logic.
EDIT: I can generate more samples for you, with individual channels disabled if you like?
I think this is enough, I will add some code to display the channel positions tomorrow, you will be able to test directly ;-).
I will not display the "reverese channel assignment", I don't think it is so important, is it? I will display as usual "Front: L C R, Side: L R, LFE" for both files I have.
Zenitram
11th September 2010, 00:11
i have this MOV file with LPCM 5.1 audio track, mediainfo seems to incorrectly report it as 3ch, sampling rate 1Hz
I noticed that adding a raw TrueHD (not a hybrid TrueHD+AC3) file into Mediainfo fails to show any metadata other than size.
And I find no reason for mkv and flv to use extra data for AVC different from MP4.
Please test new development snapshot:
http://sourceforge.net/projects/mediainfo/files/development_snapshots/0.7.35%2B/MediaInfo_GUI_20100910_Windows_i386_WithoutInstaller.7z/download
Sorry for replying to this one-year-old post.
Not a problem!
I don't read the MKV and FLV spec. But this is code from x264's flv and mkv writer.
(...)
They are exactly the same as MP4. And I find no reason for mkv and flv to use extra data for AVC different from MP4. Here 1 is the version number, 64 is profile, and there is no "reserved" byte between compatible profile and level.
All my AVC in flv shows Unknown as well as AVC in mkv except those in VFW compatible mode.
OK, this is very old code, and maybe bad code. I remember I did this because some files were different (not showing this "unknown profile") and a user said there is some compatibility issues between some MKV files and players, but I can not find them anymore. My AVC skills have improved (+how AVC is embedded in theses containers), this seems no more logic, so I change this. MP4 has no "Version" byte, so I keep a difference betwen MP4 and MKV/FLV. Maybe users will complain, I wait for their feedback and adapt my code with a better method if needed.
Zenitram
11th September 2010, 00:15
I'm using Mediainfo 0.7.34 and I've noticed that after merging a FLAC into an MKV, I lose the FLAC bitrate metadata.
Any sample?
Zenitram
11th September 2010, 00:17
by default, "Enable context menu" is not ticked, but it's still in the context menu. Ticking and unticking makes no difference. Whats up with that?
Do you use an official version (from mediainfo.sourceforge.net)? Which version? Which OS?
I tested it again, and if the box is unchecked, there is nothing in the explorer.
rack04
11th September 2010, 20:03
I have a raw 264 output stream from x264 that is being reported as 47.952 fps by MediaInfo 0.7.35. The file was encoded as 24000/1001 fps and is reported as such by DGDecNV and eac3to. What's strange is that it seems to be dependent on x264 encoding settings. For example:
"C:\Program Files\x264\x264.exe" --preset slow --tune animation --crf 22 --level 3.0 --profile baseline --aq-mode 2 --aud --sar 1:1 --output "E:\Output\Asro Boy-output.264" "E:\Output\Astro Boy.avs"
is reported as 47.952 fps
and
"C:\Program Files\x264\x264.exe" --preset slow --tune animation --crf 22 --aq-mode 2 --open-gop normal --aud --output "E:\Output\Asro Boy-output.264" "E:\Output\Astro Boy.avs"
is reported as 23.976 fps
Here (http://www.mediafire.com/?jotkpq214hha0zj) is a sample that is reported as 47.952 fps.
Zenitram
11th September 2010, 21:12
I have a raw 264 output stream from x264 that is being reported as 47.952 fps by MediaInfo 0.7.35.
Oups... I forgot a case in the complex AVC frame rate calculation.
Corrected (in SVN, will be in next development snapshot and next official release)
Sharktooth
13th September 2010, 03:25
@Zenitram, we're in the process to release a new MeGUI stable build and a user had the AVC FPS bug. I've never built mediainfo, so if it's not a problem, could you please provide updated 32 and 64 builds of mediainfo lib with your latest fix please?
Zenitram
13th September 2010, 21:56
[QUOTE=Sharktooth;1442322]could you please provide updated 32 and 64 builds of mediainfo lib with your latest fix please?/QUOTE]
On wednesday (I am currently on business travel without my usual development environment)
LoRd_MuldeR
13th September 2010, 22:35
Or those fixes in SVN already? If so, I could make builds. Guess I would nee to build from "Trunk", eh ???
Zenitram
13th September 2010, 22:38
Or those fixes in SVN already? If so, I could make builds. Guess I would nee to build from "Trunk", eh ???
Modification is in SVN trunk.
LoRd_MuldeR
14th September 2010, 00:13
MediaInfo SVN-r3332
x86 - ICL11
CLI: http://www.mediafire.com/file/ia9kgmv3st46gm6/MediaInfo.r3332.CLI-Static.7z
DLL: http://www.mediafire.com/file/4z6xxzj239o77hf/MediaInfo.r3332.DLL.7z
x64 - MSVC9
CLI: http://www.mediafire.com/file/ld7dbbvje1jb8eu/MediaInfo.r3332.CLI-Static.x64.7z
DLL: http://www.mediafire.com/file/6ir6q96lbc10pib/MediaInfo.r3332.DLL.x64.7z
Sharktooth
14th September 2010, 03:59
thanks :)
b66pak
14th September 2010, 18:52
thanks a lot...
_
Sharktooth
15th September 2010, 15:08
the x64 version lib doesnt work on all machines, or at least it crashes on some PCs.
edit: the mediainfo builds on SF are dated 2010-09-15. do they contain the fix?
Zenitram
16th September 2010, 20:02
edit: the mediainfo builds on SF are dated 2010-09-15. do they contain the fix?
It does, but I just released a specific archive 20100916 with the latest version of the x64 DLL.
Note: do not edit a post for adding a question, I receive no alert with edits.
Sharktooth
16th September 2010, 20:05
ok and ok :)
LoRd_MuldeR
16th September 2010, 21:08
the x64 version lib doesnt work on all machines, or at least it crashes on some PCs.
Any details? I just made a plain "x64" build with MSVC 9.0 and "Enable enhanced instruction set" set to "Not set" :confused:
[EDIT]
Does anybody know if the "Generate intrinsic functions (/Oi)" option does effect CPU compatibility?
If I look at the MSDN documentation, I see no indication of that:
http://msdn.microsoft.com/en-us/library/f99tchzc(v=VS.90).aspx
Sharktooth
17th September 2010, 01:10
the problem is described here: http://forum.doom9.org/showthread.php?p=1442978#post1442978
Russian-Israelian
13th October 2010, 15:47
Zenitram - You'll be very kind if one day you put some simple ID3 tag editing in to MediaInfo for mp3/wma/ogg/mpa and for some of video containers. Thats not only my wish, but as well as many others. Atak_Snajpera says its possible...
Zenitram
13th October 2010, 15:50
Zenitram - You'll be very kind if one day you put some simple ID3 tag editing in to MediaInfo for mp3/wma/ogg/mpa and for some of video containers.
This is on a very far ToDo list.
Thats not only my wish, but as well as many others. Atak_Snajpera says its possible...
All is possible, the only question is if you have enought time to implement it or enough money to pay someone to do it...
Currently, I have more than enough to do with reading, and a business model, and I have no business model for writing, so not a priority for me.
Kurtnoise
13th October 2010, 15:55
@Jérôme : why are you removing PS/HE AAC detection from the aac parsing ?
Zenitram
13th October 2010, 16:01
@Jérôme : why are you removing PS/HE AAC detection from the aac parsing ?
Too many false-positives / complains about it, this was not a good idea with all cell phones today: lot of files are at 24 KHz and/or mono, without SBR and/or PS now, e.g. no possibility to differenciate real 24 KHz / mono from HE-AACv2 without explicit information.
So now I display SBR and PS only if the header has an explicit information in the AudioSpecificConfig. Implicit SBR/PS will be detected when I implement a more complete raw AAC parser (I have a sponsor for this, but he continues to postpone the feature, he wants other features before this one)
Kurtnoise
14th October 2010, 10:45
How much do you need to rewrite the aac parser ? :D
well...I understand but this breaks several current tools that uses this info. :(
Zenitram
14th October 2010, 10:50
How much do you need to rewrite the aac parser ? :D
Thousands of $ ;-)
But already sponsored, just a problem of time.
well...I understand but this breaks several current tools that uses this info. :(
Theses tools would be broken in all cases with wrong info for other files without PS/SBR. I understand this is a problem, but I remove it from the official version for correcting otehr problems from other software. I could add it again but deactivated by defaut (you set a #define), and you know this may be wrong for some other files.
war59312
16th October 2010, 19:50
Anyone have any vb code to parse the fps of a given file using mediainfo ?
Update: OK making progress..
Private Function GetFPS(ByVal s As String, ByVal mkvfile As String) As String
Dim orig As String = s
Dim t As String
t = "Frame rate"
s = syncedString
s = s.Substring(s.IndexOf(t) + t.Length)
s = s.Substring(s.IndexOf(": ") + 2)
s = s.Substring(0, s.IndexOf(vbNewLine))
Dim fps As Double = ExtractNumbers(s)
'Return s.Contains(t)
Return fps
End Function
Shared Function ExtractNumbers(ByVal expr As String) As String
Return String.Join(Nothing, System.Text.RegularExpressions.Regex.Split(expr, "[^\d]"))
End Function
Got that at http://dotnetslackers.com/Regex/re-35412_How_to_extract_numbers_from_string.aspx .
So for example if I run that on a video that has a 23.976fps I get back 23976.
BTW the original string would be "23.976 fps" before ExtractNumbers does its thing.
So yeah all I am trying to do is loose the fps. I'm newbie so learning by trying.
So now just to have the decimal back in the right place? Any ideas?
Update 2:
Easy fix.. Thinking too much. ;)
fps = s.Replace(" fps", "") That gets rid of the fps. Problem solved. Whooo!!!
New build of XenonMKV coming soon. :D
Zenitram
16th October 2010, 19:58
Anyone have any vb code to parse the fps of a given file using mediainfo ?
http://mediainfo.svn.sourceforge.net/viewvc/mediainfo/MediaInfoLib/trunk/Source/Example/HowToUse_Dll.cs?view=markup
+ MI.Get(StreamKind.Video, 0, "FrameRate"); //For the first video stream of the file
LoRd_MuldeR
5th November 2010, 01:59
Zenitram,
I'm currently re-writing LameXP from the scratch, based on the Qt Framwork. And this time proper Unicode support has high priority for me ;)
Unfortunately I noticed that an unpatched MediaInfo CLI doesn't output Unicode characters to STDOUT properly. And a quick look at the code turned out why that is:
inline void STRINGOUT(ZenLib::Ztring Text)
{
#ifdef __WINDOWS__
Text.FindAndReplace(_T("\r\n"), _T("\n"), 0, ZenLib::Ztring_Recursive); //MediaInfoLib handle differences between platforms, but cout too!
#endif //__WINDOWS__
std::cout<<Text.To_Local().c_str()<<std::endl;
}
I think To_Local() will convert the Unicode string to a single-byte encoding using the user's active Codepage, which means all chars not in that Codepage will simply show up as "?" chars :scared:
The good news is that this is easy to fix by using the UTF-8 multi-byte encoding instead:
std::cout<<Text.To_UTF8().c_str()<<std::endl;
I think others may face the same problem. So what do you think about committing the above change or at least add a CLI switch for UTF-8 output?
:thanks:
gergev
20th November 2010, 01:30
Originally Posted by Lawk
by default, "Enable context menu" is not ticked, but it's still in the context menu. Ticking and unticking makes no difference. Whats up with that?
Do you use an official version (from mediainfo.sourceforge.net)? Which version? Which OS?
I tested it again, and if the box is unchecked, there is nothing in the explorer.
I have the same problem. I'm using Windows 7 home premium 64-bit. I downloaded the K-Lite codec pac 6.3.0 full, because I got no sound using gom player for video and saw a thread to d/l the pac.
Problem solved, but it added 'features' I did not want. This K-lite pac included Mediainfo 0.7.34.
During installation I was careful to opt-out of any shell integration additions if they were given, but they were installed anyway. I prefer a short list when I right click a file because 99% of the time have no need to use the many apps listed. I certainly don't need Media Info when right clicking on a txt file.
I was able to ferret out the shell installed for MPH Media Player and delete the keys with a search, but for "Media Info" there is no registry key, and for "MediaInfo" I couldn't find a reference to shell integration.
So I get the same issue as op, - ticking and unticking makes no difference.
Navigating to K-lite > Tools > MediaInfo.exe "the program can't start because mediainfo.dll is missing from your computer"
I went to sourgeforge and downloaded 0.7.36 and installed the 64-bit. Checking and unchecking explorer extension in preferences of the application also doesn't get rid of it.
I wanted to post this last week but the forum makes you wait FIVE DAYS to post anything after joining!
clsid
20th November 2010, 02:24
Look here:
HKCR\*\shell\MediaInfo
Zenitram
23rd November 2010, 02:35
I'm currently re-writing LameXP from the scratch, based on the Qt Framwork.
I do same :)
I think To_Local() will convert the Unicode string to a single-byte encoding using the user's active Codepage, which means all chars not in that Codepage will simply show up as "?" chars :scared:
To_Local() should convert to UTF-8 if locale settings were correctly set...
The good news is that this is easy to fix by using the UTF-8 multi-byte encoding instead
Hum... Seems it does not work.
Tested with Example.ogg (in the SVN in MediaInfo/Release):
Reference:
ARABIC : ئابةتثجحخدذرزسشصضطظعغـف
HEBREW : אבגדהוזחטיךכלםמןנסעףפץצְֱ
COMBINERS : ˆˇˉ˘˙˚˛˜̣̀́̃̉
CYRILLIC : ЁЂЃЄЅІЇЈЉЊЋЌЎЏ
ENGLISH : abcdefghaijklmnopqrstuvwxyz
FRENCH : aàäâåáãæÅÆ cçÇ eéèëê uùüû
GREEK : αβγδεζηθικλμνξοπρςστυφχψω
LATIN : ĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņ
Current version:
ARABIC : ???????????????????????
HEBREW : ?????????????????????????
COMBINERS : ^?¯??°?~`´~??
CYRILLIC : ??????????????
ENGLISH : abcdefghaijklmnopqrstuvwxyz
FRENCH : aàäâåáãæÅÆ cçÇ eéèëê uùüû
GREEK : aß?de??????µ???p??st?f???
LATIN : AaAaAaCcCcCcCcDdÐdEeEeEeEeEeGgGgGgGgHhHhIiIiI
iIiIi??JjKk?LlLlLl??LlNnNn
With UTF-8 forced:
ARABIC : ئابةتثجØ*خدذرزسشصضطظعغÙ?Ù
?
HEBREW : ×?×'×'×"×"××-×-×~×T×s×>×o×?×z×Y×*סעףפץצ
Ö°Ö±
COMBINERS : Ë+Ë+Ë%Ë~ËTËsË>ËoÌ?Ì?̃Ì%Ì£
CYRILLIC : Ð?Ð'ЃÐ"Ð.Ð+Ð+Ð^Ð%ÐSÐ<ÐOÐZÐ?
ENGLISH : abcdefghaijklmnopqrstuvwxyz
FRENCH : aÃ*äâåáãæÃ.Ã+ cçÃ+ eéèëê uùüû
GREEK : αβγδεζηθικλμνξοÏ?Ï?Ï'σÏ"Ï.Ï+Ï
+Ï^Ï%
LATIN : Ä?Ä?Ä'ăÄ"Ä.Ä+Ä+Ä^Ä%ÄSÄ<ÄOÄ?ÄZÄ?Ä?Ä'Ä'Ä"Ä"ÄÄ-
Ä-Ä~ÄTÄsÄ>ÄoÄ?ÄzÄYÄ*ġĢģĤĥĦħĨĩĪīĬÄ*ĮįİıIJijĴĵĶķĸĹĺĻļĽľ
Ä¿Å?Å?Å'ŃÅ"Å.Å+
Forcing to UTF-8 is worse. Tested on Windows 7 French.
But maybe the Qt wrapper you use accept UTF-8 as input, so this is OK (for example, if I redirect the output to a file, this is UTF-8). But Command line does not accept UTF8... So I can not put your code "as is", I will try to see if I can add an option for UTF-8 output.
Zenitram
23rd November 2010, 02:38
I downloaded the K-Lite codec pac 6.3.0 full, because I got no sound using gom player for video and saw a thread to d/l the pac.
Problem solved, but it added 'features' I did not want. This K-lite pac included Mediainfo 0.7.34.
Acutally, it does *not* include official MediaInfo.
It include somebody else "MediaInfo Lite". This is not a product from me.
Due to lot of complains about MediaInfo in K-Lite pack + Official MediaInfo install, I remove the contect menu from K-Lite during installation of MediaInfo since version 0.7.36.
LoRd_MuldeR
23rd November 2010, 20:34
I do same :)
Huh?
To_Local() should convert to UTF-8 if locale settings were correctly set...
I don't think so.
Inside ZenLib the To_Local() function calls WideCharToMultiByte() with "CP_ACP" selected, which "...instructs the API to use the currently set default Windows ANSI codepage".
Also the MSDN doc of WideCharToMultiByte() clearly states: "The new character string is not necessarily from a multibyte character set."
And indeed, if that target Codepage doesn't support the Unicode character contained in the original wchar_t (UTF-16) string, it is simply replaced by a "?" char :rolleyes:
For example on a German system the default Codepage is "Windows-1252 (Western European)", which doesn't support any Russian or Arabic or Chinese or Japanese characters.
Since the default Codepage can differ from system to system (depending on what the user has configured), it's extremely unreliable to use this method...
Hum... Seems it does not work.
Tested with Example.ogg (in the SVN in MediaInfo/Release):
Forcing to UTF-8 is worse. Tested on Windows 7 French.
But maybe the Qt wrapper you use accept UTF-8 as input, so this is OK (for example, if I redirect the output to a file, this is UTF-8). But Command line does not accept UTF8... So I can not put your code "as is", I will try to see if I can add an option for UTF-8 output.
IMO, forcing UTF-8 is safe. That's because UTF-8, in contrast to all those region specific Codepages, is a form of real multi-byte (http://en.wikipedia.org/wiki/UTF-8#Description) encoding.
Thus UTF-8 is able to preserve the complete Unicode space. So when converting from wchar_t (UTF-16) to UTF-8, absoloutely no information get's lost.
Of course the result only looks correctly, if the application, who receives the UTF8-encoded data, is treating the character stream as UTF-8.
The Windows console, by default, does not do this! You have to enforce it by calling "chcp 65001". This can also be done with SetConsoleOutputCP(CP_UTF8).
If a custom application is reading the 'stdout' from MediaInfo, then it's of course up to the programmer to handle the character stream properly!
But with UTF-8 encoded data the program at least has a chance to handle the input correctly ;)
A stream that was converted to the "local" CP already might contain unrecoverable "?" chars, so there is no way for the programmer to retain the original string.
Here is a good article on the topic that I found quite helpful:
http://www.codeproject.com/KB/cpp/unicode_console_output.aspx
(Strange enough, using wprintf() with a wchar_t* does not work, as it converts to the local Codepage again and thus will fail on characters that aren't support by the user's default Codepage. The normal printf() works, but only by converting the wchar_t* to an UTF8-encoded char* first and only when setting the Console's CP to UTF-8 and only when a suitable Console Font, such as "Lucidia Console" is selected)
LoRd_MuldeR
23rd November 2010, 23:12
Okay, after some more testing, it seems even printf() sometimes screws up the UTF-8 string :rolleyes:
So I think it's more safe to use a "raw" WriteFile(), which also avoids your FindAndReplace(). There is a special WriteConsole() function, but it fails on File redirection.
Thus after all I would suggest this code:
inline void STRINGOUT(ZenLib::Ztring Text)
{
#ifdef __WINDOWS__
DWORD CharsWritten;
std::string Buffer = Text.To_UTF8();
SetConsoleOutputCP(CP_UTF8);
WriteFile(GetStdHandle(STD_OUTPUT_HANDLE), Buffer.c_str(), Buffer.length(), &CharsWritten, NULL);
#else
std::cout<<Text.To_Local().c_str()<<std::endl;
#endif //__WINDOWS__
}
Seems to work fine for me. For both, Console output and File redirection :)
http://img72.imageshack.us/img72/4527/clipboard26.th.png (http://img72.imageshack.us/img72/4527/clipboard26.png)
(Just make sure you use the "Lucidia Console" font. The "Raster Fonts" Font doesn't work with Unicode! Some Asian chars don't even show up with "Lucida Console" though)
Zenitram
24th November 2010, 00:33
Huh?
I am revamping my GUI with Qt too.
Inside ZenLib the To_Local() function calls WideCharToMultiByte() with "CP_ACP" selected, which "...instructs the API to use the currently set default Windows ANSI codepage".
I was doing what seems the best for the output.
Since the default Codepage can differ from system to system (depending on what the user has configured), it's extremely unreliable to use this method...
this was the most reliable method I had to display non-US characters (I am French, I have theses codepage issues too ;-) )
IMO, forcing UTF-8 is safe. That's because UTF-8, in contrast to all those region specific Codepages, is a form of real multi-byte encoding.
I agree... Only if I can display data on the command line! I actually output UtF-8 on Linux and Mac, the problem was only Windows...
And the proposed solutions were not good.
Okay, after some more testing, it seems even printf() sometimes screws up the UTF-8 string :rolleyes:
I tested some solutions, and I was having the same conclusion :).
So I think it's more safe to use a "raw" WriteFile(), which also avoids your FindAndReplace(). There also is WriteConsole(), but it fails on File redirection.
Thus after all I would suggest this code:
(...)
Seems to work fine for me. For both, Console output and File redirection :)
I confirm, works well, except if the default font is set, but this is the output with the less errors (if I copy/paste the CLI output, I have all characters!).
So I use thie method.
LoRd_MuldeR
24th November 2010, 00:42
I am revamping my GUI with Qt too.
I see.
I confirm, works well, except if the default font is set, but this is the output with the less errors (if I copy/paste the CLI output, I have all characters!).
I think with the default "Raster Fonts" Font you will never be able to get better Unicode output, because that font simply doesn't contain a representation for most characters.
And, most important, with the proposed method we can have "proper" Unicode-safe redirection of MediaInfo's output to a file or to another application, regardless of how it shows up in the console.
So I use thie method.
:thanks:
ckmox
30th November 2010, 04:43
MediaInfo 0.7.37
some media media files doesnt show the "Writing library" and "Encoding settings" this is confirmed happening on h264 videos in mkv container i dont know about others
but this said h264 videos in mkv container has x264 settings shown when using a hex editor
anyone can confirm this behavior too?
Kurtnoise
30th November 2010, 13:33
does it work with previous builds ?
In sourceforge website, you can find different packages.
ckmox
1st December 2010, 12:22
@Kurtnoise
Version 0.7.36 is working fine so i guess ill stick to this old version until the newer version fix this issue
thanks
Zenitram
1st December 2010, 12:59
some media media files doesnt show the "Writing library" and "Encoding settings" this is confirmed happening on h264 videos in mkv container i dont know about others
but this said h264 videos in mkv container has x264 settings shown when using a hex editor
anyone can confirm this behavior too?
I can confirm with sample from other another guy, this is not for all MKV, weird, but with my development tree this is OK, so I do not not investigate more on this 0.7.37 bug.
Please test http://sourceforge.net/projects/mediainfo/files/development_snapshots/0.7.37%2B/MediaInfo_GUI_20101201_Windows_i386_WithoutInstaller.7z/download
Not related, in this version I added implicit SBR and PS detection (for having HE-AACv1 and v2 detection in all cases, even if the header has not the explicit SBR and/or PS info, and without empirical tests, I parse the raw stream now in order to find the SBR and PS data, so no more false-positive complains!), AAC bistream decoding is difficult and I hope not to have implemented it, if anybody is curious, could he test with his files and let me know if it is as expected?
ckmox
2nd December 2010, 01:54
I can confirm with sample from other another guy, this is not for all MKV, weird, but with my development tree this is OK, so I do not not investigate more on this 0.7.37 bug.
Please test http://sourceforge.net/projects/mediainfo/files/development_snapshots/0.7.37%2B/MediaInfo_GUI_20101201_Windows_i386_WithoutInstaller.7z/download
ye its random mkv not all mkv but with this testing version its working fine now, nice work :thanks:
ipanema
11th December 2010, 16:59
I'd like to write some code which checks for AAC audio in an MP4 file. I'm trying to figure out where the variable/fixed rate flag and the average bitrate and maximum bit rate of the AAC stream is stored in the MP4 file. Mediainfo seems to find this info and displays it like this for example:
Bit rate mode : Variable
Bit rate : 128 Kbps
Maximum bit rate : 192 Kbps
There is a decoder-specific info section of the MP4 file which is 2 bytes in length and gives some basic info about the AAC stream as described here
http://wiki.multimedia.cx/index.php?title=Understanding_AAC#Packaging.2FEncapsulation_And_Setup_Data
but there is nothing about average or max bitrate, or fixed/variable flag.
How does Mediainfolib extract this info?
I've had a look at the mediainfo source but it's clear that it is going to take some time to understand it. If the info is easily located or calculated, can anyone give any pointers?
Zenitram
11th December 2010, 17:17
I'd like to write some code which checks for AAC audio in an MP4 file.
Why not using MediaInfo library? ;-)
There is a decoder-specific info section of the MP4 file which is 2 bytes in length and gives some basic info about the AAC stream as described here
http://wiki.multimedia.cx/index.php?title=Understanding_AAC#Packaging.2FEncapsulation_And_Setup_Data
but there is nothing about average or max bitrate, or fixed/variable flag.
There is nothing in the raw AAC stream about bitrate. Don't hope.
(this is the reason AAC bitrate is not everywhere)
How does Mediainfolib extract this info?
In MP4, from moov_trak_mdia_minf_stbl_stsz atom (the "sample size" atom).
This does not depend of the raw stream format, but of the container. MP4 header has the size of each sample.
I've had a look at the mediainfo source but it's clear that it is going to take some time to understand it. If the info is easily located or calculated, can anyone give any pointers?
Good luck!
SeeMoreDigital
11th December 2010, 18:57
There is nothing in the raw AAC stream about bitrate. Don't hope.
(this is the reason AAC bitrate is not everywhere)
It may be possible to determine the "approximate" bit-rate by using the files duration and total size... I think this is how Quicktime7 player does it :eek:
http://img149.imageshack.us/img149/1195/snap1sh.png
b66pak
11th December 2010, 19:47
I think this is how Quicktime7 player does it
QT is reading the entire file first!...use a big aac file to see this! (1-2hour)...
_
SeeMoreDigital
11th December 2010, 20:14
QT is reading the entire file first!...use a big aac file to see this! (1-2hour)...That seems logical :mad:
ipanema
12th December 2010, 14:18
Thanks for the suggestions. The average should be calculable without reading the whole file - I think you can total some values in the MP4 file header and divide by duration.
Had a quick look in the moov_trak_mdia_minf_stbl_stsz atom (sample size) but didn't notice any significant differences between files that MediaInfo said were Fixed and Variable bit rates. So far at least.
Zenitram
12th December 2010, 17:46
Thanks for the suggestions. The average should be calculable without reading the whole file - I think you can total some values in the MP4 file header and divide by duration.
This is the case for MP4.
But SeeMoreDigital is speaking about raw AAC files, without MP4 header (= this is an ADIF or ADTS container, without index like in MP4), and in this case, it is not possible to know the duration whithout parsing the whole file. It is planned to add an option for full parsing, but not a priority currently.
Had a quick look in the moov_trak_mdia_minf_stbl_stsz atom (sample size) but didn't notice any significant differences between files that MediaInfo said were Fixed and Variable bit rates. So far at least.
In theory:
CBR:
Sample Size = the size per sample
Number of entries = 0
VBR:
Sample Size = 0
Number of entries = the count of sample
followed by the sizes (4 bytes)
Actually, AAC is always "VBR", this is not exactly the same count of bytes per sample, but MediaInfo considers stream as CBR is if this is +/-1% in the case of MP4 files.
LoRd_MuldeR
12th December 2010, 17:57
Actually, AAC is always "VBR", this is not exactly the same count of bytes per sample, but MediaInfo considers stream as CBR is if this is +/-1% in the case of MP4 files.
As far as I understood from the specs (don't have them at hand right now), AAC has a "bit reservoir" similar to MP3. But in contrast to MP3, where you have fixed frames sizes and the bit reservoir is actually written into the "unused" space of other frames, in AAC the "reservoir" simply allows you to make the frames a bit bigger (or smaller) than the nominal bitrate would allow and still call that beast a "CBR" stream.
Zenitram
12th December 2010, 18:00
(...) to make the frames a bit bigger (or smaller) than the nominal bitrate would allow and still call that beast a "CBR" stream.
So I am not too much wrong with my hack :).
But the decision of "+/-1%" is 100% subjective, because I never found an "official" value about the maximal difference between frames. Let me know if someone thinks he has a better threshold value!
LoRd_MuldeR
12th December 2010, 19:40
So I am not too much wrong with my hack :).
But the decision of "+/-1%" is 100% subjective, because I never found an "official" value about the maximal difference between frames. Let me know if someone thinks he has a better threshold value!
I think one would have to parse the entire stream and update the "reservoir" value after each frame, depending on the size of each individual frame.
Only if the reservoir size is never violated (i.e. never becomes negative) you can still call this a permissible "CBR" stream...
reservoir_next = min[reservoir_prev + (nominal_frame_size - actual_frame_size), max_reservoir_size]
ipanema
13th December 2010, 19:01
In theory:
CBR:
Sample Size = the size per sample
Number of entries = 0
VBR:
Sample Size = 0
Number of entries = the count of sample
followed by the sizes (4 bytes)
That's what I was expecting. But the only file I have which MediaInfo says has Constant bitrate for AAC has
Sample Size = 0
Number of entries = 2171
and a quick look through the first hundered of the Sample Size Table has values between 320 and 410 which has a variation a lot bigger than 1%.
For this file MediaInfo says:
Bit rate mode : Constant
Bit rate : 128 Kbps
For files which are variable bitrate, as regards the "Max bitrate" figure, could I simply take the average of all the entries in the Sample Size Table, and the maximum value of all the entries and arrive at a max bitrate figure by:
max bitrate = max value * average bitrate / average of values
where "average bitrate" was calculated as described earlier (total bytes in stream / duration).
Zenitram
13th December 2010, 19:18
and a quick look through the first hundered of the Sample Size Table has values between 320 and 410 which has a variation a lot bigger than 1%.
Can I have the file so I look about the reason this is indicated as CBR?
For files which are variable bitrate, as regards the "Max bitrate" figure, could I simply take the average of all the entries in the Sample Size Table, and the maximum value of all the entries and arrive at a max bitrate figure by:
max bitrate = max value * average bitrate / average of values
where "average bitrate" was calculated as described earlier (total bytes in stream / duration).
each sample has a duration (moov_trak_mdia_minf_stbl_stts, "Time to Sample"), so you need calculate max bitrate with both atoms.
ipanema
13th December 2010, 19:48
Can I have the file so I look about the reason this is indicated as CBR?
It can be downloaded here:
http://rapidshare.com/#!download|294tl|193391115|Canon_SX1_IS_Video_Test_640x480.mp4|13291
each sample has a duration (moov_trak_mdia_minf_stbl_stts, "Time to Sample"), so you need calculate max bitrate with both atoms
This particular file has only 1 entry in the time-to-sample table, so I guess this sample duration applies to all of the entries in the sample size table. I assume that either the time-to-sample table must have the same number of entries as the sample size table or just 1 entry.
b66pak
13th December 2010, 20:00
bug (?) report mediainfo 0.7.38.beta:
Audio
ID : 1
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Mode : Joint stereo
Codec ID : 55
Codec ID/Hint : MP3
Duration : 42mn 59s
Bit rate mode : Variable
Bit rate : 128 Kbps
Minimum bit rate : 32.0 Kbps
Channel(s) : 2 channels
Sampling rate : 48.0 KHz
Compression mode : Lossy
Video delay : 720ms it should be Audio delay
Stream size : 39.3 MiB (11%)
Alignment : Split accross interleaves
Interleave, duration : 24 ms (0.58 video frame)
Interleave, preload duration : 1515 ms
Writing library : LAME3.98
Encoding settings : -m j -V 4 -q 0 -lowpass 17.5 --vbr-new -b 32
_
Kurtnoise
13th December 2010, 20:08
does it an audio stream only ?
b66pak
13th December 2010, 20:54
sorry...full output:
General
Complete name : tvshow.avi
Format : AVI
Format/Info : Audio Video Interleave
File size : 352 MiB
Duration : 42mn 59s
Overall bit rate : 1 146 Kbps
Writing application : VirtualDubMod 1.5.10.2 (build 2540/release)
Writing library : VirtualDubMod build 2540/release
Video
ID : 0
Format : MPEG-4 Visual
Format profile : Advanced Simple@L5
Format settings, BVOP : Yes
Format settings, QPel : No
Format settings, GMC : No warppoints
Format settings, Matrix : Default (H.263)
Muxing mode : Packed bitstream
Codec ID : XVID
Codec ID/Hint : XviD
Duration : 42mn 59s
Bit rate : 1 006 Kbps
Width : 624 pixels
Height : 352 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.191
Stream size : 309 MiB (88%)
Writing library : XviD 1.2.0SMP (UTC 2006-01-08)
Audio
ID : 1
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Mode : Joint stereo
Codec ID : 55
Codec ID/Hint : MP3
Duration : 42mn 59s
Bit rate mode : Variable
Bit rate : 128 Kbps
Minimum bit rate : 32.0 Kbps
Channel(s) : 2 channels
Sampling rate : 48.0 KHz
Compression mode : Lossy
Video delay : 720ms
Stream size : 39.3 MiB (11%)
Alignment : Split accross interleaves
Interleave, duration : 24 ms (0.58 video frame)
Interleave, preload duration : 1515 ms
Writing library : LAME3.98
Encoding settings : -m j -V 4 -q 0 -lowpass 17.5 --vbr-new -b 32
_
Zenitram
13th December 2010, 21:34
Video delay : 720ms it should be Audio delay
In the audio part, this means it is the delay between the considered stream and the video stream.
Isn't it enough meaningful?
this is definitely not an "audio delay", because this is compared to the video stream, maybe a better English proposal?
Zenitram
13th December 2010, 22:50
It can be downloaded here:
This file has a DecoderConfigDescrTag:
00CA6672 DecoderConfigDescrTag (15 bytes)
00CA6672 Header (2 bytes)
00CA6672 type: 4 (0x04)
00CA6673 size: 17 (0x11)
00CA6674 objectTypeIndication: 64 (0x40) - Audio ISO/IEC 14496-3 (AAC)
00CA6675 streamType: 5 (0x05) - AudioStream
00CA6675 upStream: No
00CA6675 reserved: Yes
00CA6676 bufferSizeDB: 1536 (0x000600)
00CA6679 maxBitrate: 128000 (0x0001F400)
00CA667D avgBitrate: 128000 (0x0001F400)
So I use theses values (maxBitrate and avgBitrate), they are same so this is considered as CBR.
Actually, I should maybe change my +/-1% to +/-5% maybe...
This particular file has only 1 entry in the time-to-sample table, so I guess this sample duration applies to all of the entries in the sample size table. I assume that either the time-to-sample table must have the same number of entries as the sample size table or just 1 entry.
In your case, all AAC frames are 1024 sample long (1024/44100 timescale = ~23.22ms), but this is not always the case (AAC frames can be 120/128/960/1024 sample long), so if you look for a maximal bitrate, you must handle the case of different AAC frame duration.
b66pak
13th December 2010, 23:30
In the audio part, this means it is the delay between the considered stream and the video stream.
Isn't it enough meaningful?
this is definitely not an "audio delay", because this is compared to the video stream, maybe a better English proposal?
is confusing...may be a simple "delay"?
_
ipanema
14th December 2010, 12:20
If the delay is ALWAYS relative to the video stream, then I would agree that just "delay" is less confusing (with a note in the documentation to say that delays are relative to the video stream).
Alternatively something like "Delay relative to video", but that might be a bit to long.
b66pak
14th December 2010, 20:37
@Zenitram you may want to consider audio only mkv (mka) with audio delay (with single or multiple tracks)...
eac3to log:
MKA, 2 audio tracks, 0:43:48
1: MP3, 2.0 channels, 32kbps, 48kHz, 24ms
2: AC3, 5.1 channels, 640kbps, 48kHz
mediainfo log:
Audio #1
ID : 1
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Mode : Joint stereo
Mode extension : MS Stereo
Muxing mode : Header stripping
Codec ID : A_MPEG/L3
Codec ID/Hint : MP3
Duration : 43mn 48s
Bit rate mode : Variable
Channel(s) : 2 channels
Sampling rate : 48.0 KHz
Compression mode : Lossy
Audio #2
ID : 2
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Muxing mode : Header stripping
Codec ID : A_AC3
Duration : 43mn 48s
Bit rate mode : Constant
Bit rate : 640 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Compression mode : Lossy
Stream size : 201 MiB
_
Zenitram
15th December 2010, 22:56
Alternatively something like "Delay relative to video", but that might be a bit to long.
I test and see with this field name
Zenitram
15th December 2010, 22:57
@Zenitram you may want to consider audio only mkv (mka) with audio delay (with single or multiple tracks)...
Absolute "Delay" is hidden by default, only the delay relative to video is displayed.
but it should be available in "advanced mode" (check this item in "Debug" menu) in "Delay" field.
Mtz
17th December 2010, 13:53
Hi, Zenitram!
No info about AAC bitrate in this file (http://www.mediafire.com/?99h7hrhtqd6ok0v).
enjoy,
Mtz
Zenitram
17th December 2010, 14:02
No info about AAC bitrate in this
No index in MKV + variable bitrate of AAC = no bitrate info is possible as far as I know
https://sourceforge.net/tracker/?func=detail&aid=2132791&group_id=86862&atid=581184
b66pak
25th December 2010, 19:54
hi,
i just encode a sample with neroaacenc at 32kb/s (AAC-HE v2)...i am confused about mediainfo report (0.7.38):
for the .m4a:
General
Complete name : audio.m4a
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 7.05 MiB
Duration : 30mn 1s
Overall bit rate : 32.8 Kbps
Encoded date : UTC 2010-12-25 18:23:24
Tagged date : UTC 2010-12-25 18:24:43
Writing application : Nero AAC codec / 1.5.4.0
cdec : ndaudio 1.5.4.0 / -cbr 32000
Audio
ID : 1
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : HE-AACv2 / HE-AAC / LC
Codec ID : 40
Duration : 30mn 1s
Bit rate mode : Variable
Bit rate : 32.0 Kbps
Maximum bit rate : 38.9 Kbps
Channel(s) : 2 channels / 1 channel / 1 channel
Channel positions : Front: L R / Front: C / Front: C
Sampling rate : 48.0 KHz / 48.0 KHz / 24.0 KHz
Compression mode : Lossy
Stream size : 6.87 MiB (98%)
Encoded date : UTC 2010-12-25 18:23:24
Tagged date : UTC 2010-12-25 18:24:43
Menu
after demuxing to adts:
General
Complete name : audio_track1.aac
Format : ADTS
Format/Info : Audio Data Transport Stream
File size : 7.15 MiB
Audio
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : HE-AACv2 / HE-AAC / LC
Bit rate mode : Variable
Channel(s) : 2 channels / 1 channel / 1 channel
Channel positions : Front: L R / /
Sampling rate : 48.0 KHz / 48.0 KHz / 24.0 KHz
Compression mode : Lossy
Stream size : 7.15 MiB (100%)
_
LoRd_MuldeR
25th December 2010, 20:18
Format profile : HE-AACv2 / HE-AAC / LC
Sampling rate : 48.0 KHz / 48.0 KHz / 24.0 KHz
Channel(s) : 2 channels / 1 channel / 1 channel
HE-AAC == LC-AAC with SBR (Spectral Bandwidth Replication)
HE-AACv2 == LC-AAC with SBR (Spectral Bandwidth Replication) and PS (Parameteric Stereo).
Given we have a HE-AACv2 stream, you can decode with a HE-AACv2 (SBR+PS) capable decoder and you'll get Stereo at 48 KHz. Decode with a decoder that supports HE-AAC (SBR), but not HE-AACv2 (PS) and you'll get Mono at 48 KHz. Decode with a LC-AAC decoder that neither supports SBR nor PS and you'll get Mono at 24 KHz.
Zenitram
25th December 2010, 20:43
Given we have a HE-AACv2 stream, you can decode with a HE-AACv2 (SBR+PS) capable decoder and you'll get Stereo at 48 KHz. Decode with a decoder that supports HE-AAC (SBR), but not HE-AACv2 (PS) and you'll get Mono at 48 KHz. Decode with a LC-AAC decoder that neither supports SBR nor PS and you'll get Mono at 24 KHz.
I would not have said it better :)
More généraly, data after " / " are legacy stream information, requested by some users.
This seems to be a bit stupid for AAC because there is only one method per AAC profile (HE-AACv2 has always legacy HE-AAC and HE-AAC has always LC-AAC), but I try to be coherant with other format like AC-3/TrueHD and DTS/DTS-HD (settings for the legacy part may be very different), and this is a way to remind that HE-AAC v1/v2 is compatible with old decoders!
b66pak, can you provide your file, I would like to see where is the "cdec" atom in order to put it in the right MediaInfo field (Writing library settings I imagine, but weird "-cbr" with a not cbr encode...)
+ I will correct the channel position glitch in ADTS I just remarked.
b66pak
25th December 2010, 21:01
here (http://www.mediafire.com/?nl7z0locrpzvcza) it is a 40 sec sample (160k)...
how to reproduce (eac3to v3.24 + neroaacenc 1.5.4.0):
eac3to any_stereo.wav he-aac_v2.m4a -32
_
vlada
28th December 2010, 22:08
Hi Zenitram,
today a ran into some problems regarding audio files. First I noticed that I get (possibly) incorrect ID3 tag information from some of my music files (MP3s). I was using pretty old version 0.7.30, so I decided to upgrade to the newest one.
Unfortunately 0.7.38 crashes if I try to read information about audio files (video and images work). Here is the error I get:
http://img153.imageshack.us/img153/4725/mierror.png
I tried previous version, 0.7.37, and it has the same problem. Both the dll and GUI versions crash. Version 0.7.35 doesn't crash but shows the wrong tags.
I would like to send you the file with wrong tags. I tried to create a header file, but result was a zero sized file. I don't want to upload the whole MP3, because it is illegal. I could send you the file personally if you have an ftp or by e-mail. Or do you have any other idea?
Thank you!
Zenitram
28th December 2010, 22:13
Unfortunately 0.7.38 crashes if I try to read information about audio files (video and images work). Here is the error I get:
There is already a corrected version for the same kind of bug, please test the latest development snapshot:
https://sourceforge.net/projects/mediainfo/files/development_snapshots/
vlada
29th December 2010, 11:33
Thanks a lot, this version doesn't crash anymore. However the problem with ID3 tags remains. I made a sample which should show the problem. I cut a few kB at the beginning and at the end of the MP3, which causes problem. The beginning contains ID3v2 tag, which is not read by MediaInfo at all. At the end is ID3V1 tag which is read incorrectly (shows "+" as song title). Other programs I tried (foobar2000, mp3tag, mp3infp) read the tags correctly.
Here is the sample. (http://www.mediafire.com/?c47o82w28da2q1o)
Zenitram
29th December 2010, 15:20
The beginning contains ID3v2 tag, which is not read by MediaInfo at all.
Corrected.
Album replay gain : -4.40 dB
Album replay gain peak : 1.075327
Album : Parsley, Sage, Rosemary and Thyme
Track name : Homeward Bound
Track name/Position : 04
Performer : Simon & Garfunkel
Genre : Folk-Rock
Recorded date : 1966
Cover : Yes
Cover type : Cover (front)
Cover MIME : image/jpeg
PLAY_COUNTER : 4
LAST_PLAYED : 2009-12-13 03:48:28
FIRST_PLAYED : 2009-12-06 11:34:01
rating : 4
Play_date : 01. 07. 2005
Play_time : 02:26:45
At the end is ID3V1 tag which is read incorrectly (shows "+" as song title).
TAG+ support added (the long album name is provided even if Id3v2 is not present.
Album : Parsley, Sage, Rosemary and Thyme
Track name : Homeward Bound
Track name/Position : 4
Performer : Simon & Garfunkel
Recorded date : 1966
Version 20101229 contains corrections.
vlada
29th December 2010, 18:02
Zenitram, you're amazing! Thanks a lot for the extremely quick fix. I can confirm it works perfectly now.
Nexin
2nd January 2011, 07:56
To indicate if file is an archive .7z .zip .rar for when real archive file .extension is missing or renamed.
Had some files today that no player, video softwares or any info tool informed me that they were archives. Vlc was only one to see and play them and even then didn't say it was playing file from an archive. Files extensions were .avi and .mp4 viewing hex i could see they were all .rar files with. If this is available in more recent mediainfo than i have, please excuse this post.
LoRd_MuldeR
2nd January 2011, 16:51
Seems like MediaInfo detects ZIP and 7-Zip files, but not RAR files:
>mediainfo_i386.exe LameXP.2011-01-02.Release-Static.Build-210.zip
General
Complete name : G:\DeLpHi\LameXP_Qt\LameXP\bin\LameXP.2011-01-02.Release-Static.Build-210.zip
Format : ZIP
File size : 11.3 MiB
>mediainfo_i386.exe 7-zip.x86.7z
General
Complete name : E:\7-Zip\7-zip.x86.7z
Format : 7-Zip
File size : 21.5 KiB
>mediainfo_i386.exe oggdec_unicode.rar
General
Complete name : G:\DeLpHi\LameXP_Qt\oggdec_unicode.rar
File size : 779 Bytes
RAR files should be easy to detect though, as they start with a "Marker block" sequence:
0x52 0x61 0x72 0x21 0x1a 0x07 0x00
(The first 4 bytes are "Rar!" when interpreted as ASCII).
Zenitram
2nd January 2011, 16:58
To indicate if file is an archive .7z .zip .rar for when real archive file .extension is missing or renamed
for a very very long time.
General
Complete name : F:\MediaInfo_GUI_0.7.38_Windows_i386_WithoutInstaller.7z
Format : 7-Zip
File size : 1.56 MiB
If this is available in more recent mediainfo than i have, please excuse this post.
Please always test the latest version (or at least <1 year...) before asking, for all software...
Seems like MediaInfo detects ZIP and 7-Zip files, but not RAR files
Weird, I was testing "RAR!", it works for some files. I added detection of magic value "Rar!" for next release.
MediaInfo does not yet analyze files in ISO/ZIP/RAR/7-Zip/..., this is planned (but low priority)
LoRd_MuldeR
4th January 2011, 18:01
With the latest MediaInfo release I have a build problem, because "gzio.c" cannot be found. Excluding that file from the build seems to fix the issue.
{EDIT}
And a small cosmetic issue:
>mediainfo_i386.exe --Help
MediaInfo Command line,
MediaInfoLib - v0.7.39Usage: "MediaInfo [-Options...] FileName1 [Filename2...]"
Missing line-break before "Usage:" !?
Zenitram
4th January 2011, 18:21
With the latest MediaInfo release I have a build problem, because "gzio.c" cannot be found. Excluding that file from the build seems to fix the issue.
Oups, I changed locally but I forgot to modify the release files.
Thnaks for the info, for next release.
vlada
11th January 2011, 15:12
I found out that MI doesn't read rating tag from Ogg Vorbis files. The files I have are tagged by foobar2000. Also fooabr2000 now uses 'RATING' (uppercase) for the ID3 tag description in MP3 files. I think it is a good idea to check both 'rating' and 'RATING' and return whatever value is set. I'm not sure which one should be preferred if both are set.
Edit: Also MI returns the name of Xiph's container as OGG. According to the format developers it should rather be Ogg.
Zenitram
11th January 2011, 15:22
I found out that MI doesn't read rating tag from Ogg Vorbis files. The files I have are tagged by foobar2000. Also fooabr2000 now uses 'RATING' (uppercase) for the ID3 tag description in MP3 files. I think it is a good idea to check both 'rating' and 'RATING' and return whatever value is set. I'm not sure which one should be preferred if both are set.
Please provide a sample, I'll merge information.
If no priority is provided, the last detected item has priority.
SeeMoreDigital
11th January 2011, 15:51
With regard to "ID3 tagging"...
Would it be possible to provide information about the ID3 tag version? Such as: ID3v1, ID3v2, ID3v2.3 ISO-8859-1, ID3v2.3 UTF-16, ID3v2.4 UTF-8 (as stated in MP3Tag).
Cheers
Zenitram
11th January 2011, 15:55
Would it be possible to provide information about the ID3 tag version? Such as: ID3v1, ID3v2, ID3v2.3 ISO-8859-1, ID3v2.3 UTF-16, ID3v2.4 UTF-8 (as stated in MP3Tag).
so version, subversion, and code page...
This is already available internaly for decoding, I need see how to display this (if there are both ID3v1 and v2, or APETag etc), then... When I have a bit time to think about this. And for code page, this is per field, so I need to imagine how to display this without being too verbose for "normal" users.
Why is it interesting for you?
There is also a pending request to diplay origin of data per field, in the ToDo list but not a priority for me.
SeeMoreDigital
11th January 2011, 16:14
Why is it interesting for you? Because it would seem different hardware players support different versions :eek:
So when people provide their MediaInfo reports for their non working (usually iTunes generated) MP3 files, it would be most useful to know which tagging version was used.
Cheers
Zenitram
11th January 2011, 16:56
Because it would seem different hardware players support different versions :eek:
So when people provide their MediaInfo reports for their non working (usually iTunes generated) MP3 files, it would be most useful to know which tagging version was used.
Not stupid :rolleyes:
Actually, I was focusing about compatibility of streams (lot of technical details about how a stream is encoded, so people can know the reason the streams are not playable), I was not care about tag compatibility, and I did not think that someone uses MediaInfo for tags compatibility.
I need think about how to display it, showing this information on the default display is maybe too much (currently, I would like to remove something from the default display, not add something), but the piece of information must be easily available for newbees you try to help.
microchip8
14th January 2011, 16:13
Hi,
A stupid question, since it wasn't obvious to me how to do it...
If I only want to display the below fields, what exactly do I have to tell mediainfo to do it? The files in question are audio files so I need to get their tags. I'm using the CLI version of mediainfo. I saw the --Inform option, but it's not obvious to me how to use it
Artist
Track title
Track number
Track genre
Album
Year
Kurtnoise
14th January 2011, 16:31
try this : mediainfo --Inform=General inputfile
microchip8
14th January 2011, 16:38
try this : mediainfo --Inform=General inputfile
That just shows the whole output
What I want is a way to say something like --Inform="Performer" and --Inform="Album" and get only those, not the whole output
Kurtnoise
14th January 2011, 16:48
maybe,
mediainfo --Inform=General;%Album%;%Title%;%Track%;%Track/Position%;%Track/Position_Total%;%Genre%; inputfile
microchip8
14th January 2011, 16:51
maybe,
mediainfo --Inform=General;%Album%;%Title%;%Track%;%Track/Position%;%Track/Position_Total%;%Genre%; inputfile
Nope, gives nothing. Empty output
Kurtnoise
14th January 2011, 17:01
remove the last ; in the command line...otherwise I give up. :D
microchip8
14th January 2011, 17:06
remove the last ; in the command line...otherwise I give up. :D
Yeah, isn't working either. Guess I'll have to resort to sed and uncle grep :)
Kurtnoise
14th January 2011, 17:08
or wait Zenitram's answer...;)
@Jérôme : it's time to update this thread's title...
qyot27
14th January 2011, 17:16
I find it easiest to write templates for the information and call that using --inform. All those semi-colons may be what's messing it up, as I don't use those in the template files (aside from defining the General; or such parameters) and it works fine here.
For example, I saved this in a file called testplate.txt (I included the relevant category headers in the real output because it makes it easier to read):
General;Album: %Album%\r\nTitle: %Title%\r\nTrack: %Track%\r\nTrack Position: %Track/Position%\r\nTrack Position Total: %Track/Position_Total%\r\nGenre: %Genre%
The output from MediaInfo when I use the template is now:
mediainfo --inform=file://c:/testplate.txt "Project 86 - Evil (A Chorus Of Resistance).m4a"
Album: Rival Factions
Title: Evil (A Chorus of Resistance)
Track: Evil (A Chorus of Resistance)
Track Position: 1
Track Position Total: 11
Genre: Pop
microchip8
14th January 2011, 17:22
hmm, I just tried it but still empty output here. I'm on Linux, if it matters. My mediainfo version is 0.7.36
qyot27
14th January 2011, 17:27
hmm, I just tried it but still empty output here. I'm on Linux, if it matters. My mediainfo version is 0.7.36
I seem to remember it working this way on Linux too (albeit c:/ doesn't work, $HOME/template.txt or something instead). At least it did the last time I tried, but that was several months or even over a year ago, can't remember the mediainfo version. I don't do much info-related stuff on there.
microchip8
14th January 2011, 17:28
That's what I get here
neutrino@neutrino:~> mediainfo --Inform=file://file.txt 6th\ Borough\ Project\ -\ Miss\ World\ \(Soultourist\ Remix\).mp3
Album:
Title:
Track:
Track Position:
Track Position Total:
Genre:
microchip8
14th January 2011, 17:33
Oh, duuuh! I was tsting on the wrong track, without tags. Both tracks have same file name, but one of it doesn't have tags. Doing the above on the tagged one, works ;)
Many thanks... and slap me on the head :P
qyot27
14th January 2011, 17:34
That's weird. I'll need to log onto the other side of my computer to see if I'm getting the same behavior (I'd hope it isn't a difference between 32- and 64-bit, or distro choice - this comp is dualbooted with 32-bit Ubuntu 10.10).
EDIT: Nevermind, it seems it got worked out. I was about to ask if you knew for sure that the file had those tags, but I thought that would be rude.
microchip8
14th January 2011, 17:48
One more question, how to get the year? I've noticed that sometimes mediainfo uses "Recorded date" while other times uses "Encoded date". For mp3s, it seems to always use the former, while for m4a the latter
Zenitram
15th January 2011, 12:22
One more question, how to get the year? I've noticed that sometimes mediainfo uses "Recorded date" while other times uses "Encoded date". For mp3s, it seems to always use the former, while for m4a the latter
%Recorded_Date% and %Encoded_Date% are different, not the same meaning (Recorded = from artist, Encoded = from encoder).
If you think your file is well tagged but a year is not in the right place, please provide samples.
Zenitram
15th January 2011, 12:23
I find it easiest to write templates for the information and call that using --inform. All those semi-colons may be what's messing it up,
I definetely need to change lot of things, write documentation and debug templates, on the long ToDo-list :(.
microchip8
15th January 2011, 12:25
%Recorded_Date% and %Encoded_Date% are different, not the same meaning (Recorded = from artist, Encoded = from encoder).
If you think your file is well tagged but a year is not in the right place, please provide samples.
Well, when I use neroAacTag and add -meta:year=1997 (for example), mediainfo displays it always as Encoded_Date. If I add a year in an mp3 (with LAME --ty 1997) then it gets displayed as Recorded_Date
Zenitram
15th January 2011, 12:26
Well, when I use neroAacEnc and add -meta:year=1997 (for example), mediainfo displays it always as Encoded_Date.
I have not all encoders installed on my system. Please provide a sample.
microchip8
15th January 2011, 12:29
I have not all encoders installed on my system. Please provide a sample.
Here's one :)
http://www.megaupload.com/?d=80Y8CUFB
Zenitram
15th January 2011, 12:40
Well, when I use neroAacTag and add -meta:year=1997 (for example), mediainfo displays it always as Encoded_Date.
Bug from me.
Next version will be with Recorded_Date.
microchip8
15th January 2011, 12:47
Bug from me.
Next version will be with Recorded_Date.
hehe, happens :)
Will wait for the next version
mister_no
20th January 2011, 13:44
@Zenitram
Would it be possible to provide information about the VOB-ID present in our PGC (DVD)? Such as: VID 01 --> 00:00:06.0 VID 02 --> 00:00:08.0 VID 03 --> 00:41:11.0
Zenitram
20th January 2011, 16:33
Would it be possible to provide information about the VOB-ID present in our PGC (DVD)? Such as: VID 01 --> 00:00:06.0 VID 02 --> 00:00:08.0 VID 03 --> 00:41:11.0
There is a lot to do with IFO/PGC/DVD, this is possible, but definitely not my priority (no expected professional need / no risk of impact on my professional users / No sponsor)
Taurus
21st January 2011, 08:46
@Zenitram
Why is the field scan order not shown for DV Avi like in Mpeg?
I know normally BFF is the default for this kind of container.
But some rare grabbers and/or editors change the field order,
So you have to deal with all kind of jittery playback and encoding hazzles.
Sure I can verify the scan order with avisynth,
but it would be a step less if Mediainfo could do it for me :p
GSpot 2.70a shows the information.
If this has been adressed before, pardon me.
Could'nt find it.
thanks for your patience
Zenitram
21st January 2011, 09:37
Why is the field scan order not shown for DV Avi like in Mpeg?
Because I don't know where to find this information, I don't need this piece of information currently so I am not personnaly interested to spend time on it and nobody proposed a patch for it (this is open-source...).
I know normally BFF is the default for this kind of container.
But some rare grabbers and/or editors change the field order,
So you have to deal with all kind of jittery playback and encoding hazzles.
Sure I can verify the scan order with avisynth,
but it would be a step less if Mediainfo could do it for me :p
GSpot 2.70a shows the information.
If you say me where it is in the DV spec, I could integrate it soon, else... Some day when I have a bit free time (and this will not happen soon)
Taurus
21st January 2011, 13:40
I understand. :thanks:
If I can find the specs I will come back to you :).
Vincent Vega
7th February 2011, 21:32
hi Zenitram,
i just noticed starting version 0.7.39 some of my mp4 files can't open in mediainfo.
here's a sample:
http://www.mediafire.com/?2mvmnm5d62esf97
SeeMoreDigital
7th February 2011, 21:56
hi Zenitram,
i just noticed starting version 0.7.39 some of my mp4 files can't open in mediainfo.
here's a sample:
http://www.mediafire.com/?2mvmnm5d62esf97
I'm moved to ask why anyone would generate an AVC video stream at a resolution of 720x400 pixels with an SAR of 80:81 :eek:
Vincent Vega
8th February 2011, 14:19
hey SeeMoreDigital. there's probably some irony in your remark which i couldnt understand, so i just have non-funny answer-
1920x1080 ->(resized to SD, mod16) -> 720x400 (SAR 80:81, DAR 16:9)
btw thats the mod16 resolution suggested by megui.
Zenitram
9th February 2011, 13:37
i just noticed starting version 0.7.39 some of my mp4 files can't open in mediainfo.
Crash, oups.
Corrected in latest development snapshot
http://sourceforge.net/projects/mediainfo/files/development_snapshots/0.7.41%2B/MediaInfo_GUI_20110209_Windows_i386_WithoutInstaller.7z/download
hey SeeMoreDigital. there's probably some irony in your remark which i couldnt understand, so i just have non-funny answer-
1920x1080 ->(resized to SD, mod16) -> 720x400 (SAR 80:81, DAR 16:9)
btw thats the mod16 resolution suggested by megui.
Seriously, this is a big quality impact to do this (SAR 1:1 to 80:81 during encoding, and back to 1:1 during decoding).
Industry decided to stop to deal with SAR != 1:1 for a good reason...
why do you need to do mod16 on a source not mod16? AVC has cropping features --> Do 720x405 with SAR 1:1, you will have more quality.
kypec
9th February 2011, 15:10
Seriously, this is a big quality impact to do this (SAR 1:1 to 80:81 during encoding, and back to 1:1 during decoding).
Industry decided to stop to deal with SAR != 1:1 for a good reason...
why do you need to do mod16 on a source not mod16? AVC has cropping features --> Do 720x405 with SAR 1:1, you will have more quality.
Huh? What quality impact has specifying SAR during encoding? Encoder just analyzes the input frames (width x height) in pixels. SAR is just a number being added into many other tags which are included along the picture data in the output stream. It has absolutely no impact on quality nor performance of encoding process. The only factor affecting the visual quality is how good is decode/render process handling SAR specified and scaling/mapping virtual resolution onto physical display device like LCD, CRT, PDP or anything else there might be.
LoRd_MuldeR
9th February 2011, 15:43
Huh? What quality impact has specifying SAR during encoding? Encoder just analyzes the input frames (width x height) in pixels. SAR is just a number being added into many other tags hewhich are included along the picture data in the output stream.
Well, you are correct. Embedding the SAR info alone doesn't effect quality. But if we embed a SAR different from 1:1, this means that we must resize (stretch) the video in order to get the desired DAR. Or in other words: You can't simply decode the pixels and send them to the display "as-is", instead they have to go through a resizer at least once. That's what gives "worse" quality, compared to a "SAR = 1:1" source that matches the resolution of your display exactly. For example a 16:9 PAL source encoded at 720x576 with the corresponding PAR will have to be upscaled to 1024x576 for proper 16:9 display and thus won't look as good as a "native" 1024x576 source. Using a "better" scaling algorithm might help a bit, but no scaling algorithm in existence can magically restore detail that isn't in your source anymore.
Vincent Vega
9th February 2011, 18:02
Corrected in latest development snapshot
http://sourceforge.net/projects/mediainfo/files/development_snapshots/0.7.41%2B/MediaInfo_GUI_20110209_Windows_i386_WithoutInstaller.7z/download
1. thanx a lot, any chance for x64 build too?
Seriously, this is a big quality impact to do this (SAR 1:1 to 80:81 during encoding, and back to 1:1 during decoding).
Industry decided to stop to deal with SAR != 1:1 for a good reason...
why do you need to do mod16 on a source not mod16? AVC has cropping features --> Do 720x405 with SAR 1:1, you will have more quality.
2. ok will keep that in mind, just thought non-mod16 makes an h264 encoder significantly less efficient.
3. in this m2ts audio #2 is dd+ [bd target] 7.1 core/ext, mediainfo reports "5 channels".
here's audio only remuxed with Ts4Np - 3MB (+ dolby media decoder report on the ES):
http://www.mediafire.com/?ddyp1jucuif90bl
in case you might need it too, full 15 sec original sample from scenarist bd - 50MB:
http://www.mediafire.com/?1af1uwjkdgp6iip
4. some childish ui requests: can you add an option to remember window size/position, stay on top?
thanks
Fullmetal Encoder
11th February 2011, 20:57
I was wondering if anyone else was having this problem or if it might be a real bug in the way MediaInfo (.7.4.1) pulls its information. I've tried searching through google and the forums but haven't discovered anything like it.
Recently I started playing with the new lossless codec UT Video Codec, which I intend to be using heavily, and I've noticed that after encoding a file with it in ULY0 setting (YUV 4:2:0) the output color space is reported by MediaInfo as YUV 4:2:2. When I open the resulting file in MPC-HC it's using AVI Decompressor and Color Space Converter and displaying the video in something other than YV12 (YUY2 or RGB32). However, if I use...
AVISource("Test.avi")
Info()
in MPC-HC I get the color space in YV12. If I specify the fourCC (ULY0) in AVISource I get the video in YV12 so I know that the codec is being used properly. As I understand it, there shouldn't be any color conversion taking place between AVISource and my display and Avisynth is obviously able to find and access the UT Video Codec in my system. What's more, is that when I right-click the file and use MediaInfo, MediaInfo correctly identifies the codec as well as the proper fourCC but still shows the color space as YUV 4:2:2.
Could this be a bug in MediaInfo, some sort of problem with UT Video Codec, or am I missing something fundamental here?
Does MediaInfo pull it's color space information from the file by accessing the file in the same way that MPC-HC would open the file? If so, that would explain why both of them are not displaying the correct color format. Incidentally I'm not entirely clear on why MPC-HC isn't able to correctly display the video with AVI Compressor/color space converter, etc. while AVISource has no problem with it but I only plan on using UT Codec for the first pass in an encoding chain so it doesn't matter much to me.
In case it's useful information... using INFO() with FFMS2 to display the video returns "Video codec not found" while DirectShowSource() returns the video in RGB32 color space. I trust AVISource because of the fourCC tests I've run with it as well as the fact that my chain up until the point of encoding with UT Codec is purely YV12.
Zenitram
11th February 2011, 22:24
I've noticed that after encoding a file with it in ULY0 setting (YUV 4:2:0) the output color space is reported by MediaInfo as YUV 4:2:2.
Information is from a database.
But this one is obviously wrong:
http://umezawa.dyndns.info/archive/utvideo/utvideo-8.4.0-readme.en.html
I have changed the database, for next version.
Fullmetal Encoder
12th February 2011, 20:31
Information is from a database.
But this one is obviously wrong:
http://umezawa.dyndns.info/archive/utvideo/utvideo-8.4.0-readme.en.html
I have changed the database, for next version.
Whew, thanks a lot for this. Earlier this was driving me nuts as I couldn't figure out at first if it was a problem with the codec, or a problem with Avisynth or the decoder that was being used, etc...
Thanks also for this software as it really is an invaluable tool.
vlada
3rd March 2011, 11:23
Hi,
I need to get album art image from an audio file (MP3, MP4/AAC, Ogg Vorbis etc.) I can see that MediaInfo detects if it is present and also reads the actual album art data. But I can't figure out what is the format of these data. I use MediaInfo as a shared library and the GUI of my application is using Qt (QML to be precise). Could somebody help me to find a way to read the album art data and display it in Qt? The preferred way for me would be to store the image temporarily as a standalone file (JPEG, PNG etc.) Thank you!
LoRd_MuldeR
3rd March 2011, 14:49
Hi,
I need to get album art image from an audio file (MP3, MP4/AAC, Ogg Vorbis etc.) I can see that MediaInfo detects if it is present and also reads the actual album art data. But I can't figure out what is the format of these data. I use MediaInfo as a shared library and the GUI of my application is using Qt (QML to be precise). Could somebody help me to find a way to read the album art data and display it in Qt? The preferred way for me would be to store the image temporarily as a standalone file (JPEG, PNG etc.) Thank you!
I'm interest in the very same thing :)
Zenitram
4th March 2011, 19:45
I can see that MediaInfo detects if it is present and also reads the actual album art data. But I can't figure out what is the format of these data.
This is Base64 encoded (in orer to be compatible with text based API). There is a Base64 decoder in ZenLib (used by MediaInfo library), or in a lot of example in the web.
I use MediaInfo as a shared library and the GUI of my application is using Qt (QML to be precise). Could somebody help me to find a way to read the album art data and display it in Qt?
Is there a public release of your tool?
The preferred way for me would be to store the image temporarily as a standalone file (JPEG, PNG etc.)
the encoded image is in the original format in the file. So the format is "forced" by the analyzed file.
LoRd_MuldeR
4th March 2011, 21:21
Any chance to do this with the CLI interface?
vlada
4th March 2011, 23:39
This is Base64 encoded (in orer to be compatible with text based API). There is a Base64 decoder in ZenLib (used by MediaInfo library), or in a lot of example in the web.
There is a module for Python which can convert between ASCII and binary data, so I hope this shouldn't be a problem. I'll play with it on weekend.
Is there a public release of your tool?
Not yet, it is a media player for touchscreen devices running Linux (mainly MeeGo) or Windows. I'm still not satisfied with it enough to make the first public release. What bothers me most is playback backend. Currently I use MPlayer which has many limitations (poor replaygain support, bad volume control, no gapeless playback and others). I would like to switch to Qt Multimedia, but I can't make it to compile correctly on Windows.
Anyway I hope to make a public release within a couple of weeks.
LoRd_MuldeR
5th March 2011, 01:37
There is a module for Python which can convert between ASCII and binary data, so I hope this shouldn't be a problem. I'll play with it on weekend.
As you initially asked for a solution in Qt, you may want to have a look at QByteArray::fromBase64().
vlada
5th March 2011, 11:06
Thank you, I'll try it and will use whatever will be easier for me. Btw. I use PySide to develop the player, which is a Python binding for Qt.
Zenitram
5th March 2011, 20:57
Any chance to do this with the CLI interface?
I don't understand. You have the text output with the CLI (with -f option in order to have all fields), so you do what you want with the Cover_Data field. What is missing?
LoRd_MuldeR
5th March 2011, 21:18
I don't understand. You have the text output with the CLI (with -f option in order to have all fields), so you do what you want with the Cover_Data field. What is missing?
I don't have a cover field, even with "-f" option, in CLI.
I take an MP3 with cover art:
http://img121.imageshack.us/img121/3472/clipboard32.png
And MediaInfo reports this:
http://pastie.org/private/bedogmrc1v1jwspvtpbiw
What am I missing here? :confused:
Zenitram
5th March 2011, 21:22
I don't have a cover field, even with "-f" option, in CLI.
The cover is not detected. I need the file to test it.
LoRd_MuldeR
5th March 2011, 21:32
The cover is not detected. I need the file to test it.
Okay, but before I need to find out, if the cover was embedded properly.
I personally don't care about useless bling-bling, such as cover pictures embedded in an audio file, and therefore I never used that "feature" before. But users request cover art support frequently.
So I simply took Winamp to "embed" the album art into my test file. But I have not been able to "display" the embedded art with anything, except for Winamp.
Now I wonder if maybe Winamp has stored the picture in its internal database or something, instead of in the audio file. Can you recommend a player/tool that I can use to verify and/or embed?
vlada
5th March 2011, 22:12
Can you recommend a player/tool that I can use to verify and/or embed?
mp3tag (http://www.mp3tag.de/)
LoRd_MuldeR
5th March 2011, 22:19
mp3tag (http://www.mp3tag.de/)
:thanks:
According to mp3tag there was no cover embedded in my MP3 file. I have no idea how Winamp associated the cover picture with the MP3, but it obviously didn't embed it :rolleyes:
After actually embedding the cover JPEG file with the help of mp3tag, MediaInfo (CLI) does detect and extract it properly, of course. Sorry...
SeeMoreDigital
13th March 2011, 14:09
Given that the last release version of 0.6.x.x was on the 25 June 2005... Is it possible for one of the Administrators to amend this threads topic title?
LoRd_MuldeR
13th March 2011, 14:12
Given that the last release version of 0.6.x.x was on the 25 June 2005... Is it possible for one of the Administrators to amend this threads topic title?
Done. Although Zenitram should be able to edit his thread's title, if he wishes to do so ;)
SeeMoreDigital
13th March 2011, 14:21
Nice one :)
Zenitram
13th March 2011, 18:38
Done. Although Zenitram should be able to edit his thread's title, if he wishes to do so ;)
Yeah, yeah... I didn't remark the title... This thread is so old! (and me too, ouch :) )
jj666
21st March 2011, 13:22
PGS streams in .TS container support seems to be broken for the last few versions (nothing detected at all).
Let me know in case any samples needed :-)
Cheers,
-jj-
Zenitram
21st March 2011, 13:39
Let me know in case any samples needed :-)
I need samples.
jj666
21st March 2011, 20:47
I need samples.
http://www.megaupload.com/?d=GTEOFCSV
50mb chunk of The Beyond remuxed.
TS, 1 video track, 1 audio track, 2 subtitle tracks, 0:00:29, 24p /1.001
1: h264/AVC, 1080p24 /1.001 (16:9)
2: DTS Master Audio, English, 5.1 channels, 24 bits, 48kHz
(core: DTS, 5.1 channels, 24 bits, 1509kbps, 48kHz)
3: Subtitle (PGS), English
4: Subtitle (PGS), English
General
ID : 1 (0x1)
Complete name : E:\the beyond 1080p bluray h264.ts
Format : MPEG-TS
File size : 50.0 MiB
Duration : 28s 543ms
Overall bit rate : 14.7 Mbps
Maximum Overall bit rate : 35.5 Mbps
Video
ID : 4113 (0x1011)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Codec ID : 27
Duration : 28s 654ms
Bit rate mode : Variable
Bit rate : 12.4 Mbps
Maximum bit rate : 38.0 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Standard : NTSC
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.249
Stream size : 42.3 MiB (85%)
Color primaries : BT.709-5, BT.1361, IEC 61966-2-4, SMPTE RP177
Transfer characteristics : BT.709-5, BT.1361
Matrix coefficients : BT.709-5, BT.1361, IEC 61966-2-4 709, SMPTE RP177
Audio
ID : 4352 (0x1100)
Menu ID : 1 (0x1)
Format : DTS
Format/Info : Digital Theater Systems
Format profile : MA / Core
Muxing mode : Stream extension
Codec ID : 134
Duration : 28s 533ms
Bit rate mode : Variable
Bit rate : 1 561 Kbps / 1 510 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 24 bits
Compression mode : Lossless / Lossy
Language : English
I just did a full scan on my latest remuxes, it seems to be pretty random - PGS details given in some cases, not in others.
Let me know how many more samples you need.
Cheers,
-jj-
LoRd_MuldeR
21st March 2011, 21:31
Feature request:
Detect the dummy ".cda" files that Windows emulates on the CD-ROM drive when an Audio disk is inserted.
These are RIFF files (like AVI/Wave), but with an "CDDA" type identifier. However these files do NOT actually contain any audio data (it's more a reference to the audio track).
:thanks:
SeeMoreDigital
22nd March 2011, 11:13
Feature request:
Detect the dummy ".cda" files that Windows emulates on the CD-ROM drive when an Audio disk is inserted.
These are RIFF files (like AVI/Wave), but with an "CDDA" type identifier. However these files do NOT actually contain any audio data (it's more a reference to the audio track).
:thanks:Nice request...
Would it be too much of a leap to provide support for detecting CD-TEXT (http://en.wikipedia.org/wiki/CD-Text) data. Which Sony (and their affiliated companies) place on their audio CD's?
LoRd_MuldeR
23rd March 2011, 01:19
MediaInfo v0.7.43:
http://code.google.com/p/mulder/downloads/detail?name=MediaInfo.2011-03-23.zip&can=2&q=
roozhou
23rd March 2011, 16:51
Hi Zenitram,
Why do you always assume 120fps avi to be 24/30fps mixed VFR video?
if (FrameRate.To_int32u()==120)
{
Fill(Stream_Video, StreamPos_Last, Video_FrameRate_String, MediaInfoLib::Config.Language_Get(FrameRate+_T(" (24/30)"), _T(" fps")), true);
Fill(Stream_Video, StreamPos_Last, Video_FrameRate_Minimum, 24, 10, true);
Fill(Stream_Video, StreamPos_Last, Video_FrameRate_Maximum, 30, 10, true);
Fill(Stream_Video, StreamPos_Last, Video_FrameRate_Mode, "VFR");
}
The actual frame rate can be detected by looking for 0-byte frames in the index.
Zenitram
20th April 2011, 09:45
http://www.megaupload.com/?d=GTEOFCSV
50mb chunk of The Beyond remuxed.
Tehre is no subtitle packets in the sample you provided. The program table indicates the 2 PGS, but I display the stream only if I find a packet.
Maybe the difference is that I limit more than before the duration (in MB) of the scan, I must see how I can do (maybe do a longer scan if there is PGS in the program table).
Is it possible to have a longer sample (one including at list a subtilte displayed)?
Zenitram
20th April 2011, 09:48
Feature request:
Detect the dummy ".cda" files that Windows emulates on the CD-ROM drive when an Audio disk is inserted.
On the (long) ToDo list
Hi Zenitram,
Why do you always assume 120fps avi to be 24/30fps mixed VFR video?
This is a quick and dirty method. I'll change this when I have time (definitely not a priority for me, but patch is welcome)
Vincent Vega
20th April 2011, 14:57
i have someone's h264/mkv file for which mediainfo reports
Format Profile: High@L4.1
Muxing mode:Container profile=Unknown@0.0
(in mkvinfo: "CodecPrivate, length 157 (h.264 profile: Unknown @L0.0)").
then i demux video as raw h264 stream and remux it again in mkv, now it shows up in mediainfo as expected:
Format Profile: High@L4.1
Muxing mode: Header stripping
two questions:
1. do i understand correctly, in the original file proper profile/level values were missing at container level, though were still contained in the stream?
2. if so, shouldn't mediainfo report for the original file be smth like this instead:
Format Profile: High@L4.1
Container profile=Unknown@0.0
Muxing mode: Header stripping
thanks
LoRd_MuldeR
25th April 2011, 12:20
It seems there is a regression in version 0.7.44:
Apparently "escape sequences" in the path to file name are replaced, e.g. "\n" (like in "C:\foo\new.mp3") gets replaced with a newline. Same with "\r".
Example:
http://pastie.org/private/68zut8lpmdfueaq9528sgg
(note the "Complete name" line)
I thought this was fixed a while ago, but somehow the issue is back now. Would be great if you could have a look...
Zenitram
25th April 2011, 13:11
It seems there is a regression in version 0.7.44:
Apparently "escape sequences" in the path to file name are replaced, e.g. "\n" (like in "C:\foo\new.mp3") gets replaced with a newline. Same with "\r".
Arghh... I worked a bit on this part of the code, and this is obviosly a wrong modification. But I will not be able to work on MediaInfo before next week. :(
LoRd_MuldeR
25th April 2011, 13:15
Arghh... I worked a bit on this part of the code, and this is obviosly a wrong modification. But I will not be able to work on MediaInfo before next week. :(
Thanks for the quick reply and for confirming the issue!
Quick workaround: Pass path's to MediaInfo that use '/' rather than '\' as separator. This works because the Windows API will gracefully handle '/' like '\' :)
(Unfortunately this cannot work for meta tags that happen to contain escape sequences!)
LoRd_MuldeR
1st May 2011, 13:20
Any news yet? :)
Zenitram
1st May 2011, 21:40
Any news yet? :)
Sorry. I just removed the wrong code from the SVN and I made development snapshots (https://sourceforge.net/projects/mediainfo/files/development_snapshots/)
LoRd_MuldeR
1st May 2011, 22:11
Sorry. I just removed the wrong code from the SVN and I made development snapshots (https://sourceforge.net/projects/mediainfo/files/development_snapshots/)
:thanks:
LoRd_MuldeR
2nd May 2011, 13:52
May I suggest a small cosmetical fix:
CL_OPTION(Help)
{
MI.Menu_Help_Version();
TEXTOUT("MediaInfo Command line, ");
STRINGOUT(MI.Text_Get().append(_T("\n\n")));
return Help();
}
may i have a 11.04 ubuntu deb or ppa or something? (no hurry) :thanks:
Zenitram
4th May 2011, 11:13
may i have a 11.04 ubuntu deb or ppa or something? (no hurry) :thanks:
OpenSuseBuildService (the compilation farm I use for Linux distro) just updated their distro support yesterday. for libzen and libmediainfo:
http://download.opensuse.org/repositories/home:/MediaArea_net/Ubuntu_11.04/
for the GUI and CLI, this is still the one from Debian 6.0 (binary compatibility, actually all 10.10 binaries should be compatible with 11.04...)
roozhou
7th May 2011, 17:49
Hi Zenitram,
With latest 7.4.4 it seems all 4:2:0 JPEGs are recognized as 4:4:4.
SeeMoreDigital
8th May 2011, 11:53
Hi Zenitram,
With latest 7.4.4 it seems all 4:2:0 JPEGs are recognized as 4:4:4.I can confirm this also...
4:2:2 JPEG sources are correctly detected ;)
Zenitram
8th May 2011, 22:50
Hi Zenitram,
With latest 7.4.4 it seems all 4:2:0 JPEGs are recognized as 4:4:4.
Updated algorithm was totaly wrong :(.
I changed it.
Development snapshot: http://sourceforge.net/projects/mediainfo/files/development_snapshots/0.7.44%2B/MediaInfo_GUI_20110508_Windows_i386_WithoutInstaller.7z/download
roozhou
9th May 2011, 09:38
Hi Zenitram,
How can I integrate MediaInfo to right-click menu for all file formats?
SeeMoreDigital
9th May 2011, 16:33
Updated algorithm was totaly wrong :(.
I changed it.
Development snapshot: http://sourceforge.net/projects/mediainfo/files/development_snapshots/0.7.44%2B/MediaInfo_GUI_20110508_Windows_i386_WithoutInstaller.7z/downloadThanks... The colourmetry detection is working fine now ;)
OpenSuseBuildService (the compilation farm I use for Linux distro) just updated their distro support yesterday. for libzen and libmediainfo:
http://download.opensuse.org/repositories/home:/MediaArea_net/Ubuntu_11.04/
for the GUI and CLI, this is still the one from Debian 6.0 (binary compatibility, actually all 10.10 binaries should be compatible with 11.04...)
:thanks:
p.s. natty snap:
http://img694.imageshack.us/img694/876/screenshotro.th.jpg (http://img694.imageshack.us/i/screenshotro.jpg/)
p.s.2. to get rmb click functionality in ubuntu (tested in 10.04, 10.10, 11.04) add a script (!mediainfo) like:
#!/bin/bash
picture=$1
/usr/bin/mediainfo "$picture" > /tmp/mediainfo_tmp.txt && gedit /tmp/mediainfo_tmp.txt
into ~/.gnome2/nautilus-scripts
Zenitram
9th May 2011, 18:21
How can I integrate MediaInfo to right-click menu for all file formats?
I currently don't provide such feature. Maybe later. If you know about registry, this is not difficult to do.
Kurtnoise
6th July 2011, 11:09
Would it be too much of a leap to provide support for detecting CD-TEXT (http://en.wikipedia.org/wiki/CD-Text) data. Which Sony (and their affiliated companies) place on their audio CD's?
do you have a sample to provide ?
cdda support is on the way...
Zenitram
6th July 2011, 11:15
do you have a sample to provide ?
CD-Text is directly in the CD-Audio (in the CD subcode data), you need a specific API to interface with the hardware CD player. So no one can provide a sample (or is an ISO image of a CD-TEXT is enough? and I am not sure a Virtual CD software interface can expose such data)
cdda support is on the way...
I wait ;-)
SeeMoreDigital
6th July 2011, 16:28
CD-Text is directly in the CD-Audio (in the CD subcode data), you need a specific API to interface with the hardware CD player. So no one can provide a sample (or is an ISO image of a CD-TEXT is enough? and I am not sure a Virtual CD software interface can expose such data)From what I understand WinAmp can read CD-Text... And according to this web site (http://bmproductions.fixnum.org/index.htm?http://bmproductions.fixnum.org/moreprogs/wmpcdtext.htm) they have a "plug-in" for Windows Media Player...
Also, Nero Burning ROM offers the ability to create your own audio CD's with CD-Text ;)
EDIT: I've just tried the "plug-in" with WMP 12 and Win 7 - It appears to work just fine. VLC player 1.1.10 also seems to recognise CD-text...
Cheers
Dogway
12th July 2011, 02:45
Could you implement framecount and full duration (up to ms) if possible? I always find myself wanting to know that oftenly
Zenitram
12th July 2011, 06:44
Could you implement framecount and full duration (up to ms) if possible? I always find myself wanting to know that oftenly
Already implemented.
-f with command line
-Menu debug, advanced mode with GUI
This is not by default, but you can create your own template.
Dogway
12th July 2011, 19:27
Gorgeous, thank you. Customization is too hard, but its enough with debug mode.
Toddler Naruto
13th July 2011, 10:48
How can I configure MediaInfo to always show the video bitrate?
Zenitram
13th July 2011, 10:49
How can I configure MediaInfo to always show the video bitrate?
???
It is displayed by default. If it is not displayed, this is because this not available (not implemented or not possible)
Toddler Naruto
13th July 2011, 10:52
???
It is displayed by default. If it is not displayed, this is because this not available (not implemented or not possible)
How can I make it possible then, in those scenarios???
Zenitram
13th July 2011, 10:55
How can I make it possible then, in those scenarios???
Which scenario?
- Not implemented? You code yourslelf (this is open source) or you pay me to code what you need.
- Not possible? I let you answer me about how to make something possible when this is not possible, I don't have the answer on my side...
Toddler Naruto
13th July 2011, 13:12
Which scenario?
- Not implemented? You code yourslelf (this is open source) or you pay me to code what you need.
Never Mind then :(.
vlada
21st July 2011, 19:43
Hi Zen,
I found a problem when reading tags from Ogg Vorbis files. If the files have an "Album Artist" tag, MediaInfo returns the information in "Performer" field as "album artist / artist". But I would need these 2 value separated. It works correctly with MP3s, where the values are returned in fields "Performer" and "Album/Performer".
This happens with all Ogg Vorbis files I have. I use foobar2000 or mp3tag to tag my files. Both programs read the tags correctly.
Is this behavior intentional for some reason? Could you have a look at it please? If you need a sample file, please let me know. But it should be reproducible with any Ogg Vorbis file.
Thanks!
Edit: Also I think that to name the Artist field as Performer might be confusing. For example foobar2000 has a separate Performer field. I think that Artist field is meant to contain music author (Mozart, for example) and Performer would be the orchestra that actually plays it. It probably only matters for classical music, but why not make the field names consistent with other programs?
Zenitram
21st July 2011, 20:11
I found a problem when reading tags from Ogg Vorbis files. If the files have an "Album Artist" tag, MediaInfo returns the information in "Performer" field as "album artist / artist". (...) Is this behavior intentional for some reason?
It was not intentional. Corrected, in next version.
vlada
21st July 2011, 20:20
It was not intentional. Corrected, in next version.
Great, thank you!
Zenitram
21st July 2011, 20:27
Edit: Also I think that to name the Artist field as Performer might be confusing. For example foobar2000 has a separate Performer field. I think that Artist field is meant to contain music author (Mozart, for example) and Performer would be the orchestra that actually plays it. It probably only matters for classical music, but why not make the field names consistent with other programs?
I am open to some proposals about fields mapping, but they must be consistent and more "logical" than the current mapping.
"Artist" field is used for so many different people (as you said: this can be the performer, or the music autor), I try to separate and to precise roles when I can. Additionaly, Id3v2 has the same field for Artist/Performer (TPE1), and I must choose a name ;-).
I currently don't agree to fill a different field depending of the genre (e.g. in "Artist" for U2 and "Performer" for the performer of a classical music.), I (and my users!) expect the same field in every case whatever is the genre, so currently "Performer" name seems to be the more logical.
foobar2000 goal is to propose fields from the underlying format, MediaInfo goal is to display same field whatever is the underlying format.
So... If you want a change in the mapping and/or naming, I need a proof this is better for everybody in any case (for pop music up to classical music, from Id3v1 to MP4 tags)
vlada
21st July 2011, 21:23
I think that using Artist and Album artist is very common and most people would expect these fields. Using different field names for different genres is certainly a bad idea.
I think that the track artist/performer should be stored in a field called "Artist". You might copy the value to "Performer" field if a different performer value is not stored in the tag.
It is not important, it would just make MediaInfo more consistent with other programs, which all use "Artist" for this information. But of course the decision is up to you and your commercial partners.
Btw. a funny thing is, that we have no good translation for "Artist" in Czech. We usually translate it as "interpret", which means performer.
Zenitram
21st July 2011, 21:51
It is not important, it would just make MediaInfo more consistent with other programs, which all use "Artist" for this information. But of course the decision is up to you and your commercial partners.
Actually none of my commercial partners care about this field, so I can decide a change without too many complains (at least no complain with financial impact :-D ).
Btw. a funny thing is, that we have no good translation for "Artist" in Czech. We usually translate it as "interpret", which means performer.
Another good reason to use "Performer" :).
I was using "Artist" previously, it was changed due to some requests from other people, people do not agree at 100% on the the naming, so currently I think I keep this field name as is.
firebo14
26th July 2011, 03:07
Im getting these errors on MediaInfo_GUI_0.7.47_Windows_i386 whenever i open the .exe (not the installation).
http://img26.imageshack.us/img26/6509/error1bo.png
http://img121.imageshack.us/img121/3948/error2fg.png
Help please, :[.
Toddler Naruto
26th July 2011, 04:28
Hi, I have a problem to report, when I installed MediaInfo 7.47, the about window shows it as 7.46, do you know why?
Zenitram
26th July 2011, 07:31
Im getting these errors on MediaInfo_GUI_0.7.47_Windows_i386 whenever i open the .exe (not the installation).
This seems be not related to MediaInfo, but a global instability of your Windows installation:
http://www.google.com/search?ie=UTF-8&q=IsThreadDesktopComposited
http://www.mediamonkey.com/support/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=122
Zenitram
26th July 2011, 07:32
Hi, I have a problem to report, when I installed MediaInfo 7.47, the about window shows it as 7.46, do you know why?
Initial version of the installer (0.7.47.0) was wrong, updated version (0.7.47.1) is OK. Try download the installer from the official website so you are sure you have the updated version.
Toddler Naruto
26th July 2011, 10:36
Initial version of the installer (0.7.47.0) was wrong, updated version (0.7.47.1) is OK. Try download the installer from the official website so you are sure you have the updated version.
Thanks :), I did that and everything checks out now :cool:.
firebo14
26th July 2011, 15:33
This seems be not related to MediaInfo, but a global instability of your Windows installation:
http://www.google.com/search?ie=UTF-8&q=IsThreadDesktopComposited
http://www.mediamonkey.com/support/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=122
Im slightly sure that it is not my windows problem because i can run an older version (0.7.27 from klite codec pack, klmcodec570.exe) of mediainfo just fine. And my comp is very clean, i only install nearly everything in sandboxie. :]
I renamed or deleted the DWMAPI.DLL, then it gave me this error:
http://img853.imageshack.us/img853/8948/errorlv.png
Help please... :[
Thanks for your help. :)
Zenitram
29th July 2011, 12:23
Im slightly sure that it is not my windows problem because i can run an older version (0.7.27 from klite codec pack, klmcodec570.exe) of mediainfo just fine.
No, no, and no. I don't care of K-Lite. This GUI is not made by me, this is not a confirmation. This is not an older version, this is another software. If you want to compare, compare with my software, not the tool from someone else.
Help please... :[
Currently, you are the only one complaining about this. So I wait for other people complaining about the same problem before I look at it more seriously (I don't have the time nor the wish to debug for free something on only one machine).
firebo14
30th July 2011, 20:12
No, no, and no. I don't care of K-Lite. This GUI is not made by me, this is not a confirmation. This is not an older version, this is another software. If you want to compare, compare with my software, not the tool from someone else.
Currently, you are the only one complaining about this. So I wait for other people complaining about the same problem before I look at it more seriously (I don't have the time nor the wish to debug for free something on only one machine).
There is another person with this problem, difference is i have XP SP2. I promise u it is not me as it was posted on Wed Jun 29, 2011 5:44 pm. :)
http://www.sandboxie.com/phpbb/viewtopic.php?p=69507&sid=0f3b29bec12531a2abca65bc478aac4c
Thanks, Zenitram, :thanks:and please help. :)
Zenitram
30th July 2011, 20:55
There is another person with this problem, difference is i have XP SP2. I promise u it is not me as it was posted on Wed Jun 29, 2011 5:44 pm. :)
OK. I checked the dependencies of the GUI .exe, this is weird, there is a hard-coded link to Windowscodecs.dll and dwmapi.dll but without any function called in theses DLLs. Argh this new version of Embarcadero RAD Studio! I must trash it ASAP...
I tried to remove manually the links to theses useless DLLs, please try:
http://sourceforge.net/projects/mediainfo/files/development_snapshots/0.7.47%2B/MediaInfo_GUI_20110730_Windows_i386_WithoutInstaller.7z
firebo14
31st July 2011, 04:08
Thanks, Zenitram, that worked. :)
And it is not my "global instability of your Windows installation"... :)
Atak Snajpera (klite codec) makes a good and simple gui. It also loads faster. :]
Zenitram
31st July 2011, 08:05
And it is not my "global instability of your Windows installation"... :)
Yeah, yeah... I was wrong. (or I wansn't: I still don't know if theses files are in default installation of Windows XP, or with some Windows update. The thing I did is to remove the useless link to theses DLLs, this does not mean that this DLLs are expected not to be there)
Atak Snajpera (klite codec) makes a good and simple gui. It also loads faster. :]
His GUI is his choice, this is not my choice and the choice of my users. You have choice, you can choose Atak Snajpera GUI if you prefer it.
For info, you can select "Text view" as default and remove menu bar in preferences screen, then you have nearly the same GUI than Atak Snajpera one.
LoRd_MuldeR
17th August 2011, 21:37
MediaInfo v0.7.48 (Static Build)
http://code.google.com/p/mulder/downloads/detail?name=MediaInfo.2011-08-17.zip&can=2&q=
Now with Windows 2000 compatibility fix ;)
Zenitram
17th August 2011, 21:41
Now with Windows 2000 compatibility fix ;)
What is wrong with my official build and Windows 2000?
LoRd_MuldeR
17th August 2011, 22:07
What is wrong with my official build and Windows 2000?
If you still use MSVC 9.0 to make your builds, then probably nothing.
But I use MSVC 10.0 for quite some now and therefore the binaries won't run on Windows 2000 without the fix :rolleyes:
See also:
http://mulder.googlecode.com/svn/trunk/Utils/EncodePointerLib/README.txt
Zenitram
17th August 2011, 22:19
If you still use MSVC 9.0 to make your builds, then probably nothing.
I use MSVC 9.0 for CLI versions of MediaInfo for this reason actually, I was afraid you mean that my version was not working anymore with Windows 2000.
Worse, I use MSVC 8.0 (MSVC 2005!) for 32-bit DLL in order to be compatible with Windows 95 ;-) (yes, some crazy people still use Windows 95, and they use up to date MediaInfo... I force myself not to try to understand this)
(64-bit versions are built with MSVC 10 because all 64-bit OS are currently supported).
Such limitations from Microsoft is a bit frustrating...
LoRd_MuldeR
17th August 2011, 22:36
I use MSVC 9.0 for CLI versions of MediaInfo for this reason actually
It actually is pretty easy to get MSVC 10.0 binaries running under Windows 2000.
In my test even complex stuff, such as the Qt-framework, appears to work flawlessly this way.
Worse, I use MSVC 8.0 (MSVC 2005!) for 32-bit DLL in order to be compatible with Windows 95 ;-) (yes, some crazy people still use Windows 95, and they use up to date MediaInfo... I force myself not to try to understand this)
People even try to run Win32 GUI applications on DOS, using the HX Extender ;)
Such limitations from Microsoft is a bit frustrating...
To be fair, the backward compatibility provided by Microsoft is pretty good compared to, let's say, Apple :devil:
smok3
18th August 2011, 00:00
question, this:
head -c 100000 filebig.ext > filesmall.ext
mediainfo filesmall.ext = mediainfo filebig.ext
will fail in what circumstances (if any) ?
Zenitram
18th August 2011, 08:57
head -c 100000 filebig.ext > filesmall.ext
mediainfo filesmall.ext = mediainfo filebig.ext
will fail in what circumstances (if any) ?
May fail.
May not fail.
This depends of the content of the file (if header is at beginning or at end of the file, if index is included in the partial file...), format (for MPEG-TS, you'll have the duration of the partial file...).
MediaInfo is designed to provide maximum info it can with partial files. But there is no list of circumstances, currently (nobody has requested such thing).
smok3
18th August 2011, 10:13
just thinkering with the idea to make a sort of a web app, but so far i can't see a php/http upload way which would stop uploading when certain file size is reached.
p.s. my usual avi and mp4 files do pass the head test.
Zenitram
18th August 2011, 10:26
just thinkering with the idea to make a sort of a web app, but so far i can't see a php/http upload way which would stop uploading when certain file size is reached.
This is in the pipe on my side, but with a C++ server, in order to have fine control about when and how to cut the connexion (MediaInfo DLL API provides fine control of when to cut instead of a hard-coded value)
p.s. my usual avi and mp4 files do pass the head test.
You are lucky. This is not the case of all the files I have.
Brazil2
26th August 2011, 16:02
Zenitram, you may want to check this:
http://forum.doom9.org/showthread.php?p=1522012#post1522012
http://forum.doom9.org/showthread.php?p=1522035#post1522035
Zenitram
27th August 2011, 19:45
Zenitram, you may want to check this:
Done. Thanks for reporting the issue to me.
Kurtnoise
20th September 2011, 09:08
cdda support is on the way...
I wait ;-)
http://sourceforge.net/tracker/index.php?func=detail&aid=3411596&group_id=86862&atid=581183
;)
Zenitram
20th September 2011, 09:10
http://sourceforge.net/tracker/index.php?func=detail&aid=3411596&group_id=86862&atid=581183
;)
Don't worry, I am on it (several disagreements ;-) )
Zenitram
21st September 2011, 12:50
Are you going to add support for .y4m ?
Already done since 0.7.45:
General
Complete name : akiyo_cif.y4m
Format : YUV4MPEG2
File size : 43.5 MiB
Video
Format : YUV
Width : 352 pixels
Height : 288 pixels
Display aspect ratio : 4:3
Frame rate : 29.970 fps
Standard : PAL
Color space : YUV
Scan type : Progressive
Compression mode : Lossless
Edit: I remarked that Windows explorer integration is not done for .y4m, I'll add it.
LoRd_MuldeR
24th September 2011, 14:36
Thanks for the new version.
However there still is a longstanding "cosmetic" bug:
D:\SVN\Tools\mediainfo_0.7.50_AllInclusive>MediaInfo-x64.exe --Help
MediaInfo Command line,
MediaInfoLib - v0.7.50Usage: "MediaInfo [-Options...] FileName1 [Filename2...]"
I think there should be a linebreak or at least a whitespace after the version number ;)
iwod
25th September 2011, 12:19
Will MediaTab gets updated or is it an entirely separate project?
Zenitram
26th September 2011, 11:29
However there still is a longstanding "cosmetic" bug:
I think there should be a linebreak or at least a whitespace after the version number ;)
Oups. Windows Unicode only. Corrected.
Will MediaTab gets updated or is it an entirely separate project?
This is a third-party project, I am not involved in it. Anyway, I asked its author to do a new version.
Zenitram
27th September 2011, 09:05
Will MediaTab gets updated or is it an entirely separate project?
From its author (he can not post here due to the stupid 5-day "you must wait" obligation for new registerd users):
"I have some ideas for a next version (including unicode file names support) but I'm actually a little bit busy. The project is alive but next version has no date release. Execute the updater once at week "
LoRd_MuldeR
27th September 2011, 20:08
Zenitram, what do you think about a more general fix for stdout/stderr and cout/cerr on Win32?
http://pastie.org/private/a5cz9atppnrcgcwyuega
Zenitram
27th September 2011, 23:29
Zenitram, what do you think about a more general fix for stdout/stderr and cout/cerr on Win32?
This is a bit cryptic for me :).
OK, I take it. In SVN.
LoRd_MuldeR
27th September 2011, 23:41
This is a bit cryptic for me :).
It definitely is cryptic :scared:
Unfortunately the only way to convert an operating system file HANDLE into a normal C-style FILE pointer (as needed to replace 'stdout' and fix the 'cout' object) is converting it into a CRT file descriptor first, by calling _open_osfhandle(), and then converting it further to a FILE pointer, by calling _fdopen(). For the 'cout' we additionally need to wrap it into an std::filebuf object...
But it's more or less what Microsoft recommends, except that we explicitly do not want "text" (aka "UTF-8 mangling") mode:
http://support.microsoft.com/default.aspx?scid=kb;en-us;105305
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.