View Full Version : MediaInfo(Lib) 0.7 - Reading information about media files
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:
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.