hstack
FFmpeg命令出现问题,使我感到困惑。
input1
和input2
都是垂直的360 x640视频。我正在将input1
裁剪到一个正方形上,将其垂直与input2
合并,然后从产生的视频的每一侧裁剪一个垂直条带,然后水平地合并这三个视频(左条、中间垂直叠加的视频、右条)。
ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex [0:v]crop=360:360:0:140,fps=30[v0],[1:v]fps=30[v1],[v0][v1]vstack=inputs=2[m],[m]crop=101:ih:0:0[l],[m]crop=101:ih:259:0[r],[l][m][r]hstack=inputs=3[v];[0:a][1:a]amix[a] -map [v] -map [a] -preset ultrafast ./stackedOutput.mp4
当我运行这个程序时,我会得到一个错误:
[Parsed_hstack_6 @ 0x7ff5394482c0] Input 1 height 640 does not match input 0 height 1000. [Parsed_hstack_6 @ 0x7ff5394482c0] Failed to configure output pad on Parsed_hstack_6
(全FFmpeg输出这里.)
但是[m]
(Input 1
in hstack
)的高度是而不是 640
,它是1000
。当命令独立运行时,我已经验证了这一点。
为什么FFmpeg不认识[m]
的正确高度?任何帮助或指点都非常感谢!提前感谢!
发布于 2021-03-22 23:27:21
使用:
ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex "[0:v]crop=360:360:0:140,fps=30[v0];[1:v]fps=30[v1];[v0][v1]vstack=inputs=2,split=3[lc][m][rc];[lc]crop=101:ih:0:0[l];[rc]crop=101:ih:259:0[r];[l][m][r]hstack=inputs=3[v];[0:a][1:a]amix[a]" -map "[v]" -map "[a]" -preset ultrafast ./stackedOutput.mp4
两个问题:
[m]
,因此它不再适用于下面的裁剪和h堆栈。分割过滤器可用于制作筛选器输出的多个副本。https://stackoverflow.com/questions/66754875
复制相似问题