b74*_*7fp 5 video mp3 mp4 ffmpeg
我认为这会奏效,但我遇到了错误。
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"
Run Code Online (Sandbox Code Playgroud)
如果我不放置 -filter_complex "overlay=80:0" 部分(将艺术品放在“中间”),它会起作用,但艺术品不会居中(它是 480x480 jpeg)
我得到的错误是
Cannot find a matching stream for unlabeled input pad 0 on filter Parsed_overlay_0
Run Code Online (Sandbox Code Playgroud)
这与有 2 个过滤器复杂部分有关,但两者都是必需的,所以不确定如何“标记”它们?
更新:OP想要实现的是能够定位两个叠加层。在这种情况下,明显的答案是您使用第三个输入作为主输入,例如黑框:
ffmpeg -f lavfi -i color=black:800x600 -i <image1> -i <image2> -i <audio> -filter_complex 'overlay=...,overlay=' <output>
Run Code Online (Sandbox Code Playgroud)
滤波器overlay
需要两个输入:主输入和叠加输入。
您只有 2 个图像输入,因此您不能overlay
在同一命令中使用两个过滤器,因为它需要第三个视觉流。这就是为什么说它找不到匹配的流。
例如,您可以使用两个叠加过滤器向视频添加两个不同的徽标:
ffmpeg -i input -i logo1 -i logo2 -filter_complex 'overlay=...,overlay=' output
Run Code Online (Sandbox Code Playgroud)
在您的情况下,主要输入是艺术品,水印是需要放置在单个overlay
.
请查看文档,因为无论输入大小如何,有些参数都可以帮助您实现目标。查看主输入和覆盖输入的宽度和高度:main_w
, main_h
, overlay_w
, overlay_h
。
使用示例(距右下角 10 像素处叠加):
overlay=main_w-overlay_w-10:main_h-overlay_h-10
归档时间: |
|
查看次数: |
4225 次 |
最近记录: |