Я никогда раньше не работал с ffmpeg, и мне интересно, какую оптимизацию я могу использовать для моей ситуации.
В цикле у меня есть несколько файлов input.mp4, которые я сначала конвертирую один за другим, чтобы иметь общий масштаб и скорость звука с помощью этой команды:
ffmpeg -i input_01.mp4 -vf 'scale=1280:720,setdar=16/9' -ar 44100 -ac 1 input_01_tmp.mp4
Позже я снова добавляю изображения в каждый файл input.mp4 по одному:
ffmpeg -i input_01_tmp.mp4 -i input_01_logo.png -filter_complex "[0:v][1:v]overlay=10:10:enable='between(t,2,11)',fade=t=in:start_time=1.5:d=0.5:alpha=1,fade=t=out:start_time=10.5:d=0.5:alpha=1[fg];[0][fg]overlay=format=auto,format=yuv420p" -c:a copy input_01_unified.mp4
Наконец, после цикла я объединяю их с помощью mkvmerge:
mkvmerge -o output.mkv \+ input_01_unified.mp4 +\ input_02_unified.mp4 ...
Я уверен, что это не оптимальное решение, и мне интересно, как мне его изменить.
Можно ли сделать все это одной командой? Либо для каждого файла, либо для всего процесса.
Одна команда будет длинной, но вот пример для 3 входов.
ffmpeg -i input_01.mp4 -loop 1 -t 11 -i input_01_logo.png
-i input_02.mp4 -loop 1 -t 11 -i input_02_logo.png
-i input_03.mp4 -loop 1 -t 11 -i input_03_logo.png
-filter_complex
"[0]scale=1280:720,setsar=1[0v];
[1]fade=t=in:st=1.5:d=0.5:alpha=1,fade=t=out:st=10.5:d=0.5:alpha=1[0l];
[2]scale=1280:720,setsar=1[1v];
[3]fade=t=in:st=1.5:d=0.5:alpha=1,fade=t=out:st=10.5:d=0.5:alpha=1[1l];
[4]scale=1280:720,setsar=1[2v];
[5]fade=t=in:st=1.5:d=0.5:alpha=1,fade=t=out:st=10.5:d=0.5:alpha=1[2l];
[0v][0l]overlay=10:10:format=auto:enable='between(t,2,11)'[0vl];
[1v][1l]overlay=10:10:format=auto:enable='between(t,2,11)'[1vl];
[2v][2l]overlay=10:10:format=auto:enable='between(t,2,11)'[2vl];
[0]pan=1c,aresample=r=44100[0a];
[2]pan=1c,aresample=r=44100[1a];
[4]pan=1c,aresample=r=44100[2a];
[0vl][0a][1vl][1a][2vl][2a]concat=n=2:v=1:a=1[v][a]"
-map "[v]" -map "[a]" -pix_fmt yuv420p output.mkv
Вам могут понадобиться одинарные кавычки в map
зависимости от вашей оболочки.
Используйте последнюю версию ffmpeg, не ниже 4.0.
Гьян
заказы