LINUX.ORG.RU

mencoder не кодирует видео при втором проход


0

0

В общем, некоторые файлы не могут перекодироваться, причем первых проход осуществляется нормально, а при втором кодируется только звук, на консоль выводится множество ошибок... Если по порядку, конкретный пример:

первый проход:
nice -n 19 mencoder -vf crop=752:560:8:8,yadif,scale=448:336 -oac mp3lame -lameopts cbr:br=64 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1:turbo:vbitrate=1000:mbd=2:trell:v4mv:autoaspect -o npass1.avi f1-2009-06-Monaco-q.asf

заканчивается все нормально, качество, естественно, хромает. Запускаю второй проход:

nice -n 19 mencoder -vf crop=752:560:8:8,yadif,scale=448:336 -oac mp3lame -lameopts cbr:br=64 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate=1000:mbd=2:trell:v4mv:autoaspect -o npass2.avi f1-2009-06-Monaco-q.asf

вывод консоли:

MEncoder 2:1.0~rc2-0ubuntu13.1 (C) 2000-2007 MPlayer Team
CPU: AMD Duron(tm) Processor (Family: 6, Model: 7, Stepping: 1)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled with runtime CPU detection.
success: format: 0 data: 0x0 - 0x6aeb851b
ASF file format detected.
[asfheader] Video stream found, -vid 1
[asfheader] Audio stream found, -aid 2
VIDEO: [DX50] 768x576 24bpp 1000.000 fps 2047.8 kbps (250.0 kbyte/s)
[V] filefmt:6 fourcc:0x30355844 size:768x576 fps:1000.00 ftime:=0.0010
==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
AUDIO: 32000 Hz, 2 ch, s16le, 1024.0 kbit/100.00% (ratio: 128000->128000)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
Opening video filter: [scale w=448 h=336]
Opening video filter: [yadif]
Opening video filter: [crop w=752 h=560 x=8 y=8]
Crop: 752 x 560, 8 ; 8
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
MP3 audio selected.
VDec: vo config request - 768 x 576 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
SwScaler: reducing / aligning filtersize 8 -> 8
SwScaler: reducing / aligning filtersize 8 -> 8
SwScaler: reducing / aligning filtersize 8 -> 7
SwScaler: reducing / aligning filtersize 8 -> 7
[swscaler @ 0x880f730]SwScaler: BICUBIC scaler, from yuv420p to yuv420p using MMX2
[swscaler @ 0x880f730]SwScaler: using 8-tap MMX scaler for horizontal luminance scaling
[swscaler @ 0x880f730]SwScaler: using 8-tap MMX scaler for horizontal chrominance scaling
[swscaler @ 0x880f730]SwScaler: using n-tap MMX scaler for vertical scaling (YV12 like)
[swscaler @ 0x880f730]SwScaler: 752x560 -> 448x336
videocodec: libavcodec (448x336 fourcc=34504d46 [FMP4])
[VE_LAVC] High quality encoding selected (non-realtime)!
[mpeg4 @ 0x8814710]requested bitrate is too low
Could not open codec.
FATAL: Cannot initialize video driver.
VDec: vo config request - 768 x 576 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
videocodec: libavcodec (448x336 fourcc=34504d46 [FMP4])
[VE_LAVC] High quality encoding selected (non-realtime)!

38 duplicate frame(s)!
Writing header...
ODML: vprp aspect is 16384:12206.
Writing header...
ODML: vprp aspect is 16384:12206.
Writing header...
ODML: vprp aspect is 16384:12206.
Writing header...
ODML: vprp aspect is 16384:12206.

(Далее идет стремящееся к бесконечности число повторений строк
Writing header...
ODML: vprp aspect is 16384:12206.
изредка (на сорок повторений вышеупомянутых одно нижеприведенное) перемежающихся строками вроде
Pos: 12.6s 318f ( 0%) 6.97fps Trem: 267min 71mb A-V:-0.002 [0:64]
40 duplicate frame(s)!

при прерывании выполнения (а терпения ждать не хватало, хотя эксперимента ради многие часы однажды кодировалось) заканчивается чем-то вроде:

Video stream: 0.000 kbit/s (0 B/s) size: 0 bytes 12.649 secs 319 frames

Audio stream: 64.000 kbit/s (7999 B/s) size: 105120 bytes 13.140 secs

И в соответствии с последними строками в результирующем файле только аудиопоток.

Многие часы просидел за экспериментами, выяснилось, что трабла не проявляется с кодеком xvid (для меня не альтернатива, поскольку компьютер слабенький (Duron-1300), а время кодирования не то, чтобы критично, но важно, ибо кодировать нужно много, соответственно x264 тем более не катит), проявляется таким же образом с msmpeg4 из того же lavc. Пересобрал mplayer (вместо дистрибутивного ubuntu собрал последнюю версию с mplayerhq.hu) - результат тот же. Пробовал играться значением aspect (вместо autoaspect, т.к. аспект упоминался в выводе) - не помогло. Проявляется не со всеми файлами, однако строгой закономерности не нашел (все-таки слишком много времени требуется на первый проход для больших файлов).

В чем может быть трабла и как все-таки заставить mplayer нормально перекодировать видео в два прохода с lavc? Cистема ubuntu 8.04 с обновлениями.

Спасибо, если вы сумели дочитать все до конца, буду очень благодарен, если кто-нибудь предложит пути выхода из кризиса :) .

может так?

-oac lavc -ovc lavc -lavcopts acodec=mp3:abitrate=??:vcodec=xvid:vbitrate=1000:vpass=?

gingerino
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.