如何在FFMPEG中制作带静态图像背景的视频?

时间:2011-09-07 20:29:35

标签: ffmpeg

我有一张图片。我有一个透明的FLV。我想使用图像作为透明FLV的背景,并将其输出为FLV。

此命令有效但视频长度为一帧:

ffmpeg -i background.png -f flv -vcodec flv -b 1500k -vf "movie=test_videos/alpha.flv [logo]; [in][logo] overlay=0:0 [out]" -s 800x464 -y output.flv

我试图使用-t和-vframes参数无济于事。

有没有人有任何提示?

2 个答案:

答案 0 :(得分:6)

我为我的初步评论道歉,我的搜索最初产生的结果很少。

现在看documentation我实际上看到你 能够做到这一点。我没有时间测试这个,但我会尝试两次通过。第一遍应该将您的PNG变成具有透明背景的电影,其持续时间与您的其他电影相同。类似的东西:

ffmpeg -loop_input -f image2 -i background.png -r 25 -vframes 250 -an -vcodec png test.mov

我为视频编解码器选择了PNG,因为根据this post,它支持MOV容器的透明度。

然后,您应该能够将该影片传输到您拥有图像的原始命令中。

答案 1 :(得分:3)

让我想要的完整解决方案就是这个命令:

ffmpeg -loop_input -f image2 -i background.png -r 25 -vframes 2500 -an -vcodec libx264 -b 1500k -vf "movie=test_videos/alpha.flv [logo]; [in][logo] overlay=0:0 [out]" -s 800x464 -y output.mov