Как указать битрейт при использовании объединения видео? - PullRequest
0 голосов
/ 02 июля 2018

Я пытался написать команду ffmpeg, которая бы брала 3 видео mp4 (intro, main, outro) и 1 изображение (логотип), а затем изменяла размер вступления и объединяла их при добавлении логотипа в основное видео.

ffmpeg -i intro.mp4 -i main.mp4 -i outro.mp4 -i logo.png -filter_complex "[0:v]scale=1280:720,setsar=sar=1[scaled]; [1][3]overlay=5:5[main]; [scaled][0:a][main][1:a][2:v][2:a]concat=n=3:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" -c:a aac output.mp4

Пока это работает нормально, но когда я пытаюсь указать битрейт выходного файла. Здесь это говорит о том, что мне нужно использовать двухпроходный метод, но я не знаю, как правильно применить этот метод в моем случае, потому что в показанном примере используется только 1 видео, в то время как мое объединяет их. Должен ли я даже использовать двухпроходный метод или есть какой-либо другой способ указать битрейт?

1 Ответ

0 голосов
/ 02 июля 2018

Рекомендуется метод CRF по умолчанию.

Значение по умолчанию для CRF - 23. Вы можете установить это вручную. Более низкие значения обеспечивают лучшее качество, но большие размеры файлов. 18-28 - рекомендуемый диапазон.

Вы также можете установить битрейт вручную. 2 прохода не требуется, но рекомендуется.

ffmpeg -i intro.mp4 -i main.mp4 -i outro.mp4 -i logo.png -filter_complex "[0:v]scale=1280:720,setsar=sar=1[scaled]; [1][3]overlay=5:5[main]; [scaled][0:a][main][1:a][2:v][2:a]concat=n=3:v=1:a=1 [v] [a]" -map "[v]" -map "[a]" -c:v libx264 -b:v 1500k -c:a aac output.mp4
...