问题描述
我正在尝试使用ffmpeg的xstack将三个输入视频排列成一个输出视频。目前,我的操作是先使用vstack,再使用hstack,但希望将它们组合到xstack中以提高性能。
我尝试从多个位置复制语法,例如:
Vertically or horizontally stack (mosaic) several videos using ffmpeg?
我的命令如下:
C:\ ffmpeg \ bin \ ffmpeg.exe -i States_full.mp4 -i title.mp4 -i graphs.mp4“ -filter_complex” [0:v] setpts = PTS-STARTPTS,scale = qvga [a0]; [1:v] setpts = PTS-STARTPTS,scale = qvga [a1]; [2:v] setpts = PTS-STARTPTS,scale = qvga [a2]; [a0] [a1] [a2] xstack = inputs = 3:layout = 0_0 | w0_0 | w0_h0 [out]“ -map” [out]“ -c:v libx264 -t'30'-f matroska output.mp4
该命令总是在相同的位置出现错误,并显示相同的错误消息:
'w0_0'不被识别为内部或外部命令, 可操作的程序或批处理文件。
有些奇怪的行为是,即使我将布局部分更改为:
layout=w0_0|0_0|w0_h0
该错误消息仍位于中间的'0_0'上,这意味着它可能是格式错误。
这个问题很奇怪,因为vstack和hstack仍然可以工作,只有xstack失败。
解决方法
在Windows上,|
是命令解释器的特殊字符,它是默认的Shell。引用布局arg:layout='0_0|w0_0|w0_h0'