FFMPEG结合了图像,mp3和徽标水印

时间:2015-09-19 20:18:36

标签: video ffmpeg mp3 mp4

我认为这会有效,但我收到了错误。

db_file="szs.db"

如果我没有将-filter_complex“overlay = 80:0”部分放置(将图稿放在“中间”)它可以正常工作,但艺术品不会居中(它是一个480x480 jpeg)

我得到的错误是

ffmpeg -loop 1 -i "ARTWORK.jpg" -filter_complex "overlay=80:0" -i "MUSIC.mp3" -i "WATERMARK.gif" -filter_complex "overlay=10:350" -s 640x480 -shortest -vcodec libx264 -acodec aac -strict experimental -movflags faststart "CONVERTED.mp4"

它与2个过滤器复杂部分有关,但两者都是必要的,所以不确定如何“标记”它们?

1 个答案:

答案 0 :(得分:2)

更新:OP希望实现的目标是能够定位两个叠加层。在这种情况下,显而易见的答案是您使用第三个输入作为主输入,例如黑框:

 ffmpeg -f lavfi -i color=black:800x600 -i <image1> -i <image2> -i <audio> -filter_complex 'overlay=...,overlay=' <output>

overlay过滤器需要两个输入:主输入和叠加输入。

您只有2个图像输入,因此您不能在同一个命令中使用两个overlay过滤器,因为它需要第三个可视流。这就是为什么说它找不到匹配的流。

例如,您可以使用两个叠加过滤器为视频添加两个不同的徽标:

ffmpeg -i input -i logo1 -i logo2 -filter_complex 'overlay=...,overlay=' output

在您的情况下,主要输入是艺术品,水印是需要定位在单个overlay中的叠加层。

看一下the documentation,因为有些参数可以帮助您实现目标,无论输入大小如何。查看主要和叠加输入的宽度和高度:main_wmain_hoverlay_woverlay_h

示例用法(从右下角10px覆盖):

overlay=main_w-overlay_w-10:main_h-overlay_h-10