我有一张图片。我有一个透明的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参数无济于事。
有没有人有任何提示?
答案 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