Я хотел бы закодировать видео в 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"
Удалите фиктивный файл, созданный в первом проходе, после завершения второго прохода.