如何調整 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

相關內容