1

Я делаю некоторый опыт с форматом необработанного видео YUV. Это видео YUV, которое я создал (с ppmtoy4m из mjpegtools, из серии снимков экрана, сделанных со скоростью 24 кадра в секунду), хорошо воспроизводит тотем, правильную скорость, правильные цвета, все. Плюс, ffmpeg может конвертировать его в .mpg просто отлично. Но mplayer и mencoder теряются. Я использую версию 1.0-0.47.svn20100703 в CentOS 6.

Я старался...

mplayer video.yuv -demuxer rawvideo -rawvideo w=1152:h=864:format=i420

... но в результате получается странное смещение кадра, как у старого телевизора с нерегулируемым горизонтальным положением. По-видимому, он интерпретирует заголовки фрейма так, как если бы они были частью фрейма.

YUV-файл bzipped можно найти здесь (ВНИМАНИЕ: сжатие 34 мегабайта, несжатое 3,5 гига!)

В indiviual м.д. кадры здесь (2,8 мегабайта сжатый, 557 мегабайт несжатого)

Видео было создано с

cat *.ppm | ppmtoy4m -F 24:1 >video.yuv

Есть ли параметр, который я пропускаю?

1 ответ1

0

Ваша проблема в том, что формат y4m не является yuv. Как упомянул slhck, yuv не имеет метаданных и не имеет четной информации о ширине и высоте (не говоря уже об указании 4:2:0 4:2:2 или 4:4:4; 8-битные, 10-битные, 16-битные варианты).

Я нашел описание формата Y4M по адресу https://wiki.multimedia.cx/index.php?title=YUV4MPEG2, и он определенно содержит метаданные.

Если вам нужны необработанные потоки yuv, которые может воспроизводить mplayer , ppmtoy4m не будет их генерировать. Вы могли бы использовать

ffmpeg -i %04d.ppm -c:v rawvideo -f rawvideo -pix_fmt yuv420p video.yuv

Если вместо этого вы хотите воспроизвести поток y4m, кто-то другой должен будет найти правильные аргументы для mplayer (или другого инструмента).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .