FFmpeg — два прохода в VP9 создают пустой выходной файл для первого прохода.

Когда я пытаюсь закодировать видеофайл с двумя проходами в ffmpeg, выходной файл первого прохода пуст, используя vp9. Поэтому я не могу продолжить вторую часть.

Код для двухпроходного:

1.пасс:

ffmpeg -y -s:v 3840x1920 -framerate 30 -i video_framerate_resolution.yuv -c:v libvpx-vp9 -crf 20
-pass 1 -an -f avi NULL && \

2. пройти

ffmpeg -s:v 3840x1920 -framerate 30 -i video_framerate_resolution.yuv -c:v libvpx-vp9
-pass 2 -b:v 1000K -f avi out.avi

Любая помощь будет принята с благодарностью. Спасибо.


person MrTomHat    schedule 28.06.2017    source источник


Ответы (1)


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

Итак, проход 1

ffmpeg -s:v 3840x1920 -framerate 30 -i video_framerate_resolution.yuv -c:v libvpx-vp9 -b:v 1000k -pass 1 -an -f null -

Проход 2

ffmpeg -s:v 3840x1920 -framerate 30 -i video_framerate_resolution.yuv -c:v libvpx-vp9 -pass 2 -b:v 1000K out.avi
person Gyan    schedule 28.06.2017
comment
Спасибо за ответ! Я попробовал ваш код, но при первом проходе снова появляется то же желтое сообщение: «Выходной файл пуст, ничего не закодировано». Если я проигнорирую это и перейду ко второй части, появится красное сообщение об ошибке: «Опция частоты кадров не найдена». - person MrTomHat; 29.06.2017
comment
Ах. Первое — это предупреждение, а не ошибка. Игнорируй это. Для второго добавьте -f rawvideo перед -i. Если это все еще не работает, вставьте полную консоль для прохода 2. Добавьте -report в журнал. - person Gyan; 29.06.2017