syxoi
@syxoi

Как с помощью ffmpeg кодировать в два прохода?

Не могу понять, как кодировать в два прохода.
Делаю так:
ffmpeg -i video.avi -f mp4 -vcodec h264 -pass 1 -b:a 128k -c:a aac -y newvideo.mp4 
ffmpeg -i newvideo.avi -f mp4 -vcodec h264 -pass  -b:a 128k -c:a aac -y newnewvideo.mp4

не канает вторая команда.
Не могу понять принцип кодирования в два прохода.
Так что ли? - на вход исходный файл - получаем файл, кодированный в первый проход, дальше суем уже свежий файл и кодируем во второй проход и записываем уже в третий файл? или все это дело надо проделывать с исходным файлом и записывать в конечный?
  • Вопрос задан
  • 3570 просмотров
Решения вопроса 1
sim3x
@sim3x
https://trac.ffmpeg.org/wiki/Encode/H.264#twopass
ffmpeg -y -i input -c:v libx264 -preset medium -b:v 555k -pass 1 -c:a libfdk_aac -b:a 128k -f mp4 /dev/null && \
ffmpeg -i input -c:v libx264 -preset medium -b:v 555k -pass 2 -c:a libfdk_aac -b:a 128k output.mp4


0. -pass 2
1. брать нужно всегда исходный файл
2. в первом проходе можешь писать в дев нулл
3. -f mp4 указывать нужно если твой input хреново распознался ffmpeg-oм
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы