[mencoder] запретить xvid удалять повторяющиеся кадры

alexkravchuk

Есть следующая проблема - перекодирую mencoder'ом видео файлы, при этом при перекодировке выводится что-то вроде
==============
Pos: 1.8s 61f ( 0%) 28.90fps Trem: 12min 53mb A-V:0.067 [524:127]
Skipping frame!
==============
а полученное изображение дёргается. Причина понятна - кодек xvid считает, что кадры слишком похожи друг на друга, и удаляет "повторный", из за чего плавное движение становится дёрганным. Вопрос - как с этим бороться, как заставить кодировать все кадры? Пробовал опцию frame_drop_ratio, как отдельно, так и с max_bframes=0 (из man) - никакой разницы. С -vf hurddup аналогично (что логично, впрочем, она для другого, всё же). По идее, это достаточно распространённая проблема, как с ней бороться?

dgaf

-noskip ?
man ?

ppplva

Причина понятна

Ошибаешься
Причина - в неправильном ofps, если эта надпись вылезает регулярно.

dgaf

а я вот я кодирую "mixed progressive and telecine"
-vf pullup,softskip -ofps 24000/1001 и оно сцуко пропускает больше чем нужно (меньше длина получается)
даже если таким же макаром сделать -oac copy и приклеить звук к тому что получилось, то явно слышны пропуски в звуке.

ppplva

Эээ как могут возникнуть пропуски в звуке при -oac copy ? Это же просто копирование аудиодорожки.

dgaf

видео кодирую так
-nosound -vf pullup,softskip -ofps 24000/1001 -ovc raw ...
а потом аудио
-vf pullup,softskip -ofps 24000/1001 -oac copy -oac lavc, и вырезаю от туда звук.
и даже в этом случае есть небольшая рассинхронизация

KISSA

А исходное видео по fps и pulldown какое?

KISSA

кодек xvid считает, что кадры слишком похожи друг на друга
Кодек XviD при стандартных настройках фреймы не выкидывает, тем более похожие, и вообще никак их особо не обрабатывает. Он просто сжимает последовательность кадров и всё.
Некоторые кодеки выкидывают часть кадров, если слишком малый битрейт, но в XviD такой фичи вроде бы нет.
У тебя проблема скорее всего на этапе перед подачей кадров в кодировщик.
Например, в ряде фильмов IVTC нужно делать, иначе как раз описаная картина и будет (поскольку по дефолту есть одинаковые фреймы, на них будет маленькая пауза).
Либо при неправильном деинтерлейсинге, можно сделать последовательность кадров "наворот", т. е. у тебя будут периодически возникать после кадра предыдущий по времени.

dgaf

>А исходное видео по fps и pulldown какое?
VIDEO: MPEG2 1920x1080 (aspect 3) 29.970 fps 38810.4 kbps (4851.3 kbyte/s)
demux_mpg: обнаружено 24 кадра/сек поступательное [progressive] NTSC содержимое,
переключаю частоту кадров.
...
demux_mpg: обнаружено 30 кадров/сек NTSC содержимое, переключаю частоту кадров.
...
demux_mpg: обнаружено 24 кадра/сек поступательное [progressive] NTSC содержимое,
переключаю частоту кадров.
...
demux_mpg: обнаружено 30 кадров/сек NTSC содержимое, переключаю частоту кадров.
...
по описанию получается mixed progressive and telecine
хм... хотя по определению 1080i - interlace
Оставить комментарий
Имя или ник:
Комментарий: