mencoder crash/fail with some DVDs/VOBs
hello all some DVDs (and therefore VOB files ripped from these DVDs) don't work at all with mencoder. (i'm using Mac OS X 10.2.6 on a Dual G4 533) i'm doing normal 3-pass encoding: mencoder MENCODER.VOB -ovc frameno -o frameno.avi -oac mp3lame -lameopts vbr=3 mencoder MENCODER.VOB -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null mencoder MENCODER.VOB -endpos 10 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi but the second pass reports: Video stream: NaN kbit/s (-2147483648 bps) size: 0 bytes 0.000 secs 135 frames and the third pass crashes mencoder. the resulting movie is just 8KB and of course can't be played. i don't think i'm doing something wrong here. i've uploaded a sample VOB that produces these results to ftp://mplayerhq.hu/MPlayer/incoming/MENCODER.VOB and a copy of this report to ftp://mplayerhq.hu/MPlayer/incoming/MENCODER.TXT i've verivied this with MEncoder 0.90-CVS-030630-20:09-3.3 and MEncoder dev-CVS-030621-18:34-3.1 any chance this will be fixed? thanks, julian ********** [master:~] julian% uname -a Darwin master.local. 6.6 Darwin Kernel Version 6.6: Thu May 1 21:48:54 PDT 2003; root:xnu/xnu-344.34.obj~1/RELEASE_PPC Power Macintosh powerpc [master:~] julian% mencoder MENCODER.VOB -ovc frameno -o frameno.avi -oac mp3lame -lameopts vbr=3 Using GNU internationalization Original domain: messages Original dirname: /usr/local/share/locale Current domain: mplayer Current dirname: /usr/local/share/locale MEncoder dev-CVS-030621-18:34-3.1 (C) 2000-2003 Arpad Gereoffy (see DOCS) AltiVec found Reading /Users/julian/.mplayer/codecs.conf: 58 audio & 149 video codecs File not found: 'frameno.avi' Failed to open frameno.avi Reading config file /Users/julian/.mplayer/mencoder: No such file or directory success: format: 0 data: 0x0 - 0x19D800 MPEG-PS file format detected. VIDEO: MPEG2 720x576 (aspect 2) 25.00 fps 5500.0 kbps (687.5 kbyte/s) [V] filefmt:2 fourcc:0x10000002 size:720x576 fps:25.00 ftime:=0.0400 ======================================================================== == Opening audio decoder: [liba52] AC3 decoding with liba52 Using AltiVec optimized IMDCT transform AC3: 2.0 (stereo) 48000 Hz 192.0 kbit/s No accelerated resampler found AUDIO: 48000 Hz, 2 ch, 16 bit (0x20), ratio: 24000->192000 (192.0 kbit) Selected audio codec: [a52] afm:liba52 (AC3-liba52) ======================================================================== == MP3 audio selected Building audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/2ch/16bit... Writing AVI header... Pos: 0.0s 1f (21%) 0fps Trem: 0min 0mb A-V:0.000 [0:0] Skipping frame! Pos: 0.1s 3f (23%) 0fps Trem: 0min 0mb A-V:0.008 [0:0] Skipping frame! Pos: 0.1s 5f (23%) 0fps Trem: 0min 0mb A-V:0.016 [0:0] Skipping frame! [skipped for the mailing list, full log is on the FTP] Pos: 2.6s 131f (100%) 0fps Trem: 0min 0mb A-V:-0.030 [0:96] Skipping frame! Pos: 2.6s 133f (100%) 0fps Trem: 0min 0mb A-V:-0.038 [0:95] Skipping frame! Pos: 2.7s 135f (100%) 0fps Trem: 0min 0mb A-V:-0.046 [0:94] Writing AVI index... Fixing AVI header... Video stream: 0.800 kbit/s (100 bps) size: 268 bytes 2.680 secs 135 frames Audio stream: 94.015 kbit/s (11751 bps) size: 37512 bytes 3.192 secs [master:~] julian% mencoder MENCODER.VOB -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null Using GNU internationalization Original domain: messages Original dirname: /usr/local/share/locale Current domain: mplayer Current dirname: /usr/local/share/locale MEncoder dev-CVS-030621-18:34-3.1 (C) 2000-2003 Arpad Gereoffy (see DOCS) AltiVec found Reading /Users/julian/.mplayer/codecs.conf: 58 audio & 149 video codecs AVI file format detected. VIDEO: [oNrF] 720x576 24bpp 25.00 fps 0.8 kbps ( 0.1 kbyte/s) Using pass3 control file: frameno.avi Reading config file /Users/julian/.mplayer/mencoder: No such file or directory success: format: 0 data: 0x0 - 0x19D800 MPEG-PS file format detected. VIDEO: MPEG2 720x576 (aspect 2) 25.00 fps 5500.0 kbps (687.5 kbyte/s) [V] filefmt:2 fourcc:0x10000002 size:720x576 fps:25.00 ftime:=0.0400 Opening video filter: [expand osd=1] Expand: -1 x -1, -1 ; -1 (-1=autodetect) osd: 1 ======================================================================== == Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough VDec: vo config request - 720 x 576 (preferred csp: Mpeg PES) Could not find matching colorspace - retrying with -vop scale... Opening video filter: [scale] The selected video_out device is incompatible with this codec. VDecoder init failed :( Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.3.1 Selected video codec: [mpeg12] vfm:libmpeg2 (MPEG 1 or 2 (libmpeg2)) ======================================================================== == audiocodec: framecopy (format=55 chans=2 rate=48000 bits=0 bps=11752 sample=0) Writing AVI header... VDec: vo config request - 720 x 576 (preferred csp: Planar YV12) VDec: using Planar YV12 as output csp (no 0) Movie-Aspect is 1.33:1 - prescaling to correct movie aspect. videocodec: libavcodec (720x576 fourcc=58564944 [XVID]) New_Face failed. Maybe the font path is wrong. Please supply the text font file (~/.mplayer/subfont.ttf). subtitle font: load_sub_face failed. Pos: 0.0s 1f ( 1%) 0fps Trem: 0min 0mb A-V:0.000 [0:0] Skipping frame! Pos: 0.0s 3f ( 3%) 0fps Trem: 0min 0mb A-V:0.000 [0:0] Skipping frame! Pos: 0.0s 5f ( 4%) 0fps Trem: 0min 0mb A-V:0.000 [0:0] Skipping frame! [skipped for the mailing list, full log is on the FTP] Pos: 0.0s 135f (99%) 0fps Trem: 0min 0mb A-V:0.000 [0:0] Writing AVI index... Fixing AVI header... Video stream: NaN kbit/s (-2147483648 bps) size: 0 bytes 0.000 secs 135 frames Audio stream: 117.333 kbit/s (14666 bps) size: 7392 bytes 0.504 secs [master:~] julian% mencoder MENCODER.VOB -endpos 10 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi Using GNU internationalization Original domain: messages Original dirname: /usr/local/share/locale Current domain: mplayer Current dirname: /usr/local/share/locale MEncoder dev-CVS-030621-18:34-3.1 (C) 2000-2003 Arpad Gereoffy (see DOCS) AltiVec found Reading /Users/julian/.mplayer/codecs.conf: 58 audio & 149 video codecs AVI file format detected. VIDEO: [oNrF] 720x576 24bpp 25.00 fps 0.8 kbps ( 0.1 kbyte/s) Using pass3 control file: frameno.avi Reading config file /Users/julian/.mplayer/mencoder: No such file or directory success: format: 0 data: 0x0 - 0x19D800 MPEG-PS file format detected. VIDEO: MPEG2 720x576 (aspect 2) 25.00 fps 5500.0 kbps (687.5 kbyte/s) [V] filefmt:2 fourcc:0x10000002 size:720x576 fps:25.00 ftime:=0.0400 Opening video filter: [expand osd=1] Expand: -1 x -1, -1 ; -1 (-1=autodetect) osd: 1 ======================================================================== == Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough VDec: vo config request - 720 x 576 (preferred csp: Mpeg PES) Could not find matching colorspace - retrying with -vop scale... Opening video filter: [scale] The selected video_out device is incompatible with this codec. VDecoder init failed :( Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.3.1 Selected video codec: [mpeg12] vfm:libmpeg2 (MPEG 1 or 2 (libmpeg2)) ======================================================================== == audiocodec: framecopy (format=55 chans=2 rate=48000 bits=0 bps=11752 sample=0) Writing AVI header... VDec: vo config request - 720 x 576 (preferred csp: Planar YV12) VDec: using Planar YV12 as output csp (no 0) Movie-Aspect is 1.33:1 - prescaling to correct movie aspect. videocodec: libavcodec (720x576 fourcc=58564944 [XVID]) 2pass failed: reading from filename=divx2pass.log FATAL: Cannot initialize video driver. New_Face failed. Maybe the font path is wrong. 0mb A-V:0.000 [0:0] Please supply the text font file (~/.mplayer/subfont.ttf). subtitle font: load_sub_face failed. Skipping frame! Pos: 0.0s 3f ( 3%) 0fps Trem: 0min 0mb A-V:0.000 [0:0] Skipping frame! Bus error0s 4f ( 4%) 0fps Trem: 0min 0mb A-V:0.000 [0:0] ********** Date/Time: 2003-07-11 17:58:33 +0200 OS Version: 10.2.6 (Build 6L60) Host: master.local. Command: mencoder PID: 4121 Exception: EXC_BAD_ACCESS (0x0001) Codes: KERN_PROTECTION_FAILURE (0x0002) at 0x00000014 Thread 0 Crashed: #0 0x00137054 in 0x137054 #1 0x0002c4d4 in 0x2c4d4 #2 0x00054568 in 0x54568 #3 0x00005050 in 0x5050 #4 0x00002944 in 0x2944 #5 0x000027c4 in 0x27c4 PPC Thread State: srr0: 0x00137054 srr1: 0x0200f030 vrsave: 0x00000000 xer: 0x00000000 lr: 0x0002c4d4 ctr: 0x0002c44c mq: 0x00000000 r0: 0x00000168 r1: 0xbfffe510 r2: 0x00371af4 r3: 0x00e871d0 r4: 0x01054000 r5: 0x00200000 r6: 0x00e87130 r7: 0x00000000 r8: 0x0002c4d4 r9: 0x00000168 r10: 0x00000240 r11: 0x00e9ee70 r12: 0x00e87020 r13: 0x004d2bac r14: 0x00e9a4b0 r15: 0x43300000 r16: 0x0003d090 r17: 0x00000005 r18: 0x00000000 r19: 0x00000007 r20: 0x00e86d10 r21: 0x00e9baa0 r22: 0x00e86d80 r23: 0x000002d0 r24: 0x015a5400 r25: 0x015be900 r26: 0x01540000 r27: 0x00e870b0 r28: 0x00e890f0 r29: 0x00e871d0 r30: 0x00000053 r31: 0x0002c460
Julian Mayer <julianmayer@mac.com> writes: [...]
i'm doing normal 3-pass encoding: mencoder MENCODER.VOB -ovc frameno -o frameno.avi -oac mp3lame -lameopts vbr=3 mencoder MENCODER.VOB -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null mencoder MENCODER.VOB -endpos 10 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi [...] Pos: 0.0s 1f (21%) 0fps Trem: 0min 0mb A-V:0.000 [0:0] Skipping frame! Pos: 0.1s 3f (23%) 0fps Trem: 0min 0mb A-V:0.008 [0:0] Skipping frame! Pos: 0.1s 5f (23%) 0fps Trem: 0min 0mb A-V:0.016 [0:0] Skipping frame!
This looks like interlaced video. I think 3 pass encoding does not work with these. If that's the problem you are facing, just rm frameno.avi and do -oac mp3lame during all passes and it should be ok. Kim Minh.
This looks like interlaced video. I think 3 pass encoding does not work with these. If that's the problem you are facing, just rm frameno.avi and do -oac mp3lame during all passes and it should be ok.
Kim Minh.
thanks, that seemed to do it! maybe mencoder should print out a warning instead of silently failing or crashing? how can i detect if the video on DVD or VOB is interlaced, so an automated script could automatically retain to 2-pass mode? thanks, julian
Julian Mayer writes:
how can i detect if the video on DVD or VOB is interlaced, so an automated script could automatically retain to 2-pass mode?
Skipping every other frame is the thing that makes you go uh ! Good luck for your automation idea ;-) Kim Minh.
Am Samstag, 12.07.03, um 18:20 Uhr (Europe/Vienna) schrieb Kim Minh Kaplan:
Julian Mayer <julianmayer@mac.com> writes:
[...]
i'm doing normal 3-pass encoding: mencoder MENCODER.VOB -ovc frameno -o frameno.avi -oac mp3lame -lameopts vbr=3 mencoder MENCODER.VOB -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o /dev/null mencoder MENCODER.VOB -endpos 10 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi [...] Pos: 0.0s 1f (21%) 0fps Trem: 0min 0mb A-V:0.000 [0:0] Skipping frame! Pos: 0.1s 3f (23%) 0fps Trem: 0min 0mb A-V:0.008 [0:0] Skipping frame! Pos: 0.1s 5f (23%) 0fps Trem: 0min 0mb A-V:0.016 [0:0] Skipping frame!
This looks like interlaced video. I think 3 pass encoding does not work with these. If that's the problem you are facing, just rm frameno.avi and do -oac mp3lame during all passes and it should be ok.
although your idea to use 2-pass encoding instead of 3-pass seems to work, the video is not interlaced! (transcode can detect that) any idea how i can draw the developers attention to that problem? the sample .VOB and problem description are still in the incoming dir on the ftp server...? i've tried reporting the bug on the mplayer-users list but it was ignored... thanks, julian
Hi,
This looks like interlaced video. I think 3 pass encoding does not work with these. If that's the problem you are facing, just rm frameno.avi and do -oac mp3lame during all passes and it should be ok.
although your idea to use 2-pass encoding instead of 3-pass seems to
ok
work, the video is not interlaced! (transcode can detect that)
the better word is 'field-coded', not nececssary interlaced, although thsi coding method has no much sence for progressive (non-interlaced) video. anyway i doubt that any app (be it transcode or other) can reliable detect interlacing, sometimes even teh human eye+mind combination fails...
any idea how i can draw the developers attention to that problem? the
if you mean mplayer developers, they do read this list. this is why we really hate beginner questions and incomplete bugreports here.
sample .VOB and problem description are still in the incoming dir on the ftp server...?
probably. but it's a known limitation, and not possible to fix in mencoder, without major hacks or architecture changes. i mean this isn't a bug. A'rpi / Astral & ESP-team -- Developer of MPlayer G2, the Movie Framework for all - http://www.MPlayerHQ.hu
This looks like interlaced video. I think 3 pass encoding does not work with these. If that's the problem you are facing, just rm frameno.avi and do -oac mp3lame during all passes and it should be ok. the video is not interlaced! (transcode can detect that) the better word is 'field-coded', not nececssary interlaced, although thsi coding method has no much sence for progressive (non-interlaced) video. anyway i doubt that any app (be it transcode or other) can reliable detect interlacing, sometimes even teh human eye+mind combination fails... hm, if an app can render MPEG2 video, it must also know it is interlaced or not!? am i wrong here?
any idea how i can draw the developers attention to that problem? the
if you mean mplayer developers, they do read this list. this is why we really hate beginner questions and incomplete bugreports here. well i made a complete bugreport in my initial post (well with a macosx backtrace instead of a gdb one, but i can of course supply an gdb one too)
about beginner question....i searched both the whole documentation, FAQ and mailing list archives and could not find anything useful about this issue
sample .VOB and problem description are still in the incoming dir on the ftp server...?
probably. but it's a known limitation, and not possible to fix in mencoder
exactly what is the limitation here? i have 14 DVDs here that work fine with 3-pass-mencoder and one that does not (crashes mencoder just like reported)...the issue doesn't seem to be the interlaced video (because transcode says it isn't interlaced)... is there any way i can know (prior to encoding) if a DVD will work or mencoder will just crash?
, without major hacks or architecture changes. i mean this isn't a bug. if this isn't a bug, mencoder should print out a message that it can't encode this DVD (or .VOB) instead of silently mysteriously failing, or crashing!
A'rpi / Astral & ESP-team
thanks, julian
Hi,
This looks like interlaced video. I think 3 pass encoding does not work with these. If that's the problem you are facing, just rm frameno.avi and do -oac mp3lame during all passes and it should be ok. the video is not interlaced! (transcode can detect that) the better word is 'field-coded', not nececssary interlaced, although thsi coding method has no much sence for progressive (non-interlaced) video. anyway i doubt that any app (be it transcode or other) can reliable detect interlacing, sometimes even teh human eye+mind combination fails... hm, if an app can render MPEG2 video, it must also know it is interlaced or not!? am i wrong here?
yes you're wrong the format/codecs itself doesnt know about the original video being interlaced. there are flags noting if its' field-coded (a sin your case) or telcined (3:2 pulldown) which both suggests interlacing but doenst force it. you can encode progressive video as interlaced and vice versa. (by losing quality)
any idea how i can draw the developers attention to that problem? the
if you mean mplayer developers, they do read this list. this is why we really hate beginner questions and incomplete bugreports here. well i made a complete bugreport in my initial post (well with a macosx backtrace instead of a gdb one, but i can of course supply an gdb one too)
about beginner question....i searched both the whole documentation, FAQ and mailing list archives and could not find anything useful about this issue
dunno if it's well documented, i'm not docs author. but it was discussed more than enough at all teh mailing lists.
sample .VOB and problem description are still in the incoming dir on the ftp server...?
probably. but it's a known limitation, and not possible to fix in mencoder exactly what is the limitation here? i have 14 DVDs here that work fine
without decoding the video stream (ie. 1st pass of 3pass encode) mencoder don't know if it's field-coded, so it have to read 2 packet to get 1 output frame, while in normal (frame-coded) case it's one packet for one frame. we could either hack a partial header decoder into demuxer/mencoder to detect it without decoding, or redesign teh whole demuxer-decoder-encoder pipeline API to pass such info back somehow. it just doesnt worth it.
with 3-pass-mencoder and one that does not (crashes mencoder just like
it means that 14 dvd are frame-coded and this one is field-coded (field-coded mpeg is rare enough)
reported)...the issue doesn't seem to be the interlaced video (because transcode says it isn't interlaced)... is there any way i can know (prior to encoding) if a DVD will work or mencoder will just crash?
no then mencoder could know too...
, without major hacks or architecture changes. i mean this isn't a bug. if this isn't a bug, mencoder should print out a message that it can't encode this DVD (or .VOB) instead of silently mysteriously failing, or crashing!
it shouldnt crash (it doesnt crash for me, just drop everty 2nd field resulting bad quality jumpy output file) A'rpi / Astral & ESP-team -- Developer of MPlayer G2, the Movie Framework for all - http://www.MPlayerHQ.hu
participants (3)
-
Arpi -
Julian Mayer -
Kim Minh Kaplan