在视频中添加图像叠加层FFmpeg

8
我有一个视频文件test.mp4和一张图片文件test.png。其中test.png是一个带有透明“孔”的黑色图片。我想用FFmpeg实现以下目标:
1. 将test.png覆盖在视频上,只显示视频的圆形部分。 2. 如果可能的话,将test.png调整为与视频相同的大小,覆盖整个视频。
请问能够实现吗?

仅作一点评论 - 如果这只是为了在网页上显示,那么更简单的方法就是在视频div上放置一个“遮罩”div。我猜这不是你想要的,你实际上想制作一个带有黑色环绕的新视频,但以防万一... - Mick
不,我真的想要一个视频。但是谢谢你的评论,我相信它可以帮助其他人。 - user1361491
2个回答

10

试试这个:

ffmpeg -i test.mp4 -framerate 30000/1001 -loop 1 -i test.png -filter_complex "[1:v] fade=out:st=30:d=1:alpha=1 [ov]; [0:v][ov] overlay=10:10 [v]" -map "[v]" -map 0:a -c:v libx264 -c:a copy -shortest out.mp4

这帮助我实现了在将输入视频的音频正确地映射到输出时叠加图像。谢谢。 - speedynomads
对我有效的唯一答案。我们如何在此命令中设置PNG图像的大小? - Eftekhari
在这个URL上遇到了崩溃。 - Dhara Patel

0

我在安卓上使用它,它运行良好 :-

String[] cmd = new String[]{ "-i", video.mp4, "-i", image.png, "-filter_complex", "overlay=0:main_h-overlay_h", outputFile.getPath()};

1
你能解释一下你是如何为Android应用程序做的吗? - Abhishek Gupta
只需使用此命令,它就可以工作。Video.mp4是您想要添加覆盖的视频。image.png是您想要添加的图像。outputfile是视频输出。还请阅读FFmpeg文档。 - Saurav Prakash
我的Android项目需要包含哪些库? - pallavi richhariya
我们要使用这个库来给视频添加图片吗? - pallavi richhariya
@Hangman https://github.com/madhavanmalolan/ffmpegandroidlibrary/issues/28 你能告诉我这个问题的解决方案吗?!!!1 - pallavi richhariya
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接