连接过滤器

连接过滤器

我在连接多个视频并使用缩略图时遇到问题。

我尝试了以下方法:

ffmpeg -i "concat:GX014185.MP4|GX024185.MP4" -i ./scaled.png -filter_complex "overlay=main_w-overlay_w-5:main_h-overlay_h-5" output.MP4

这会将缩略图放在正确的位置,但只会连接第一个视频GX014185.MP4

使用

ffmpeg -i GX014185.MP4 -i GX024185.MP4 -i GX034185.MP4 -i GX044185.MP4 -i GX054185.MP4 -c copy ../$(date +%Y%m%d_%H%M%S)_merged.mp4

不支持缩略图,但我希望它支持,因为它速度非常快。

如何将视频与缩略图连接起来?

答案1

连接过滤器

不应将 concat 协议与 MP4 一起使用。这是一个常见错误。您可以使用连接过滤器反而:

ffmpeg -i GX014185.MP4 -i GX024185.MP4 -i GX034185.MP4 -i GX044185.MP4 -i GX054185.MP4 -i scaled.png -filter_complex "[0:v][0:a][1:v][1:a][2:v][2:a][3:v][3:a][4:v][4:a]concat=n=5:v=1:a=1[vv][a];[vv]overlay=main_w-overlay_w-5:main_h-overlay_h-5[v]" -map "[v]" -map "[a]" output.mp4

concat 过滤器在过滤时最有用,因为它需要对视频重新编码(所有过滤器都需要重新编码)。

因为您必须重新编码,由于覆盖,这可能需要一些时间。

连接解复用器

或者你可以使用连接解复用器. 首先创建一个名为的文本文件input.txt

file "GX014185.MP4"
file "GX024185.MP4"
file "GX034185.MP4"
file "GX044185.MP4"
file "GX054185.MP4"

然后运行ffmpeg

ffmpeg -f concat -i input.txt -i scaled.png -filter_complex "overlay=main_w-overlay_w-5:main_h-overlay_h-5" output.mp4

concat 解复用器可用于连接视频而无需重新编码(与 一起使用时-c copy),但当您需要重新编码(例如由于任何过滤)时,它也同样好用。

因为您必须重新编码,由于覆盖,这可能需要一些时间。

相关内容