如何调整 FFmpeg 中空输入的大小以匹配现有视频流?

如何调整 FFmpeg 中空输入的大小以匹配现有视频流?

我正在尝试创建一个与我的第一个输入视频源(-i)大小匹配的彩色框,并将它们堆叠在一起。

-i movie.mov -filter_complex \
  "color=c=black,scale=w=300:h=-1[c_s]; \
  [c_s][0:v]scale2ref[c]; \
  [0:v][c]hstack=shortest=1:inputs=2[combined]" \
 -map "[combined]" out.mov

但是我得到了这个错误:

[Parsed_vstack_12 @ 0x7f94b0d0a120] Input 1 width 3840 does not match input 0 width 600.
Error configuring complex filters.

我该如何解决尺寸差异?

答案1

您的命令使用了 hstack,但错误显示 vstack。我猜这是来自另一个命令。无论如何,使用

-i movie.mov -filter_complex \
  "color=c=black[c_s]; \
  [c_s][0:v]scale2ref[c][v]; \
  [c]setsar=1[cr]; \
  [v][cr]hstack=shortest=1:inputs=2[combined]" \
 -map "[combined]" out.mov

不过,对于这个特定的要求,您只需填充视频即可。

-i movie.mov -vf pad=2*iw:ih:color=black out.mov

相关内容