并排显示 5 个视频

并排显示 5 个视频

如何使用 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)

答案1

并排显示 5 个视频

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]"指示将 hstack 过滤器 ( )ffmpeg的输出放入。[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]对我来说更有意义。

相关内容