Как мне использовать ffmpeg для объединения 5 видео рядом? И может кто-нибудь также любезно объяснить команду, пожалуйста. Я знаю только, как писать на Python, и мне очень трудно понять более сложные команды ffmpeg. Например, этот сценарий ниже объединяет видео слева направо и сверху вниз, но как мне прочитать команду?
ffmpeg -i input0 -i input1 -i input2 -i input3 -filter_complex \
"[0:v][1:v]hstack[top]; \
[2:v][3:v]hstack[bottom]; \
[top][bottom]vstack,format=yuv420p[v]; \
[0:a][1:a][2:a][3:a]amerge=inputs=4[a]" \
-map "[v]" -map "[a]" -ac 2 output.mp4
означает ли [0: v]
0-ю строку до v-1 ' -я строка?
к каким переменным применяется команда hstack
для строки [0: v] [1: v] hstack [top]
? Почему это не hstack (input0, input1)
?
ffmpeg -i input0 -i input1 -i input2 -i input3 -i input4 -filter_complex \
"[0:v][1:v][2:v][3:v][4:v]hstack=inputs=5[v]
[0:a][1:a][2:a][3:a][4:a]amix=inputs=5[a]" \
-map "[v]" -map "[a]" output.mp4
Означают ли
[0: v]
строки от 0 до v-1?
[0: v]
относится к [input0: video]
. [3: a]
относится к [input3: audio]
. Вот как вы указываете фильтру, какие типы ввода и потока вы хотите использовать в качестве ввода. Порядок входных данных, передаваемых в hstack, определяет порядок их расположения. [v]
- это произвольное имя, данное выходу из фильтра hstack. Вы можете выбрать практически любое имя. То же самое для [a]
. -map "[v]"
инструктирует ffmpeg
поместить вывод фильтра hstack ( [v]
]) в output.mp4
. к каким переменным применяется команда
hstack
для строки[0: v] [1: v] hstack [top]
?
Два входа ( [0: v] [1: v]
), имя фильтра ( hstack
) и метка вывода ( [ top]
).
Почему это не
hstack (input0, input1)
?
Почему это должно быть? Текущий синтаксис [input0] [input1] filer = option0 = value0: option1 = value1 [output]
мне больше понятен.