Многопроходное кодирование H.264 с помощью FFmpeg

Многопроходное кодирование H.264 с помощью FFmpeg

Я хотел бы закодировать видео в H.264 с многопроходным кодированием. Я попробовал:

ffmpeg -y -ss 00:00:12.0 -i "c:\vid\example.mkv" -vframes 420 -vcodec libx264 -preset veryslow -refs 8 -b:v 1200k -an -pass 1 -f h264 /dev/null

ffmpeg -y -ss 00:00:12.0 -i "c:\vid\example.mkv" -vframes 420 -vcodec libx264 -preset veryslow -refs 8 -b:v 1200k -acodec copy -pass 2 "c:\vid\encoded.mkv"

но он показывает сообщения об ошибках:

/dev/null: такого файла или каталога нет

ratecontrol_init: не удается открыть файл статистики

Ошибка при открытии кодировщика для выходного потока #0:0 - возможно, неверные параметры, такие как bit_rate, rate, width или height

Я что-то не так сделал? Кстати, я не уверен, как использовать многопроходный режим с FFmpeg, есть идеи, как исправить ошибку?

решение1

В Windows нет /dev/null. NULВместо этого используйте .

Более подробную информацию см.Статья FFmpeg Wiki о кодировании H.264.

решение2

Пытаться

ffmpeg -y -ss 00:00:12.0 -i "c:\vid\example.mkv" -vframes 420 -vcodec libx264 -preset veryslow -refs 8 -b:v 1200k -an -pass 1 -f matroska dummy

ffmpeg -y -ss 00:00:12.0 -i "c:\vid\example.mkv" -vframes 420 -vcodec libx264 -preset veryslow -refs 8 -b:v 1200k -acodec copy -pass 2 "c:\vid\encoded.mkv"

Удалите фиктивный файл, созданный в первом проходе, после завершения второго прохода.

Связанный контент