我正在使用 ffmpeg 垂直堆叠两个视频。它们的大小可能不同,所以我需要将它们缩放到相同的大小。我找到了以下命令。
第一个适用于不同的尺寸(但不会缩放到合适的尺寸):
ffmpeg -i input1 -i input2 -filter_complex '[0:v]pad=iw:ih*2[int];[int][1:v]overlay=0:H/2[vid]' -map [vid] -c:v libx264 -crf 23 -preset veryfast output
Run Code Online (Sandbox Code Playgroud)
如果视频具有相同的宽度和相同的像素格式,则第二个有效:
ffmpeg -i input1 -i input2 -filter_complex vstack output
Run Code Online (Sandbox Code Playgroud)
如何在复杂过滤器参数中获取第一个输入的宽度,以便第二个输入可以缩放到相同的宽度?这样做的命令是什么?我更喜欢 vstack 过滤器,因为它应该比 pad 和 overlay 的组合更快。