5

我已经安装了当前版本,ffmpeg以便访问该-filter_complex选项,希望能够将视频用作比视频更大的静态背景图像的叠加层。

最初,我只是试图在静态背景图像上叠加视频以使用以下命令(不起作用):

ffmpeg -loop 1 -i background.png -i overlay.mov -filter_complex overlay -shortest -y output.mov

唯一具有由没有视频覆盖的文件组成的output.mov单帧。background.png

我怎样才能做到这一点,并在背景上为视频添加一个特定的坐标位置?

奖励:使用单个命令,是否也可以将覆盖视频的大小调整为更大的尺寸,同时将其放置在 bg 图像的顶部?

4

1 回答 1

5

该命令对我来说很好(使用0.11.1.git-56ae592 built on Jul 19 2012or N-42914-gf5a5b43 built on Jul 26 2012);问题出在其他地方。你用的是什么版本的FFmpeg?(有许多版本的当前版本。)输出中是否有任何消息表明某些东西不起作用?

要回答您的其他问题:

  • 您可以将覆盖过滤器的坐标设置 为x=100, y=50(从左上角开始),如下所示:

    ... -filter_complex overlay=100:50 ...
    
  • 可以使用缩放过滤器调整背景叠加层的大小:

    ... -filter_complex "[0] scale=1280:960 [bg]; [bg][1] overlay" ...
    

    ... -filter_complex "[1] scale=1280:960 [over]; [0][over] overlay" ...
    
  • 作为附录,您不需-filter_complex要这样做,例如:

    ffmpeg -i over.mov -vf "movie=background.png [bg]; [bg][in] overlay" out.mp4
    

    也应该工作。我说“应该”是因为该命令实际上与我测试过的 FFmpeg 版本存在段错误,但是命令语法可以处理您想要在没有-filter_complex.

于 2012-07-31T23:48:58.647 回答