当前位置: 首页 > 知识库问答 >
问题:

如何使用ffmpeg在视频中心添加透明水印?

易风华
2023-03-14

我目前正在使用以下命令:

Top left corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]" outputvideo.flv

Top right corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out]" outputvideo.flv

Bottom left corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" outputvideo.flv

Bottom right corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=(main_w-overlay_w-10)/2:(main_h-overlay_h-10)/2 [out]" outputvideo.flv

如何将水印放置在视频的中心?

共有1个答案

益清野
2023-03-14

使用覆盖过滤器在视频上添加水印/徽标图像的示例。

ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" -codec:a copy output.mp4

或使用缩短覆盖选项:

overlay=(W-w)/2:(H-h)/2

这很简单,因为默认情况下,如果您没有提供覆盖选项,将图像放在左上方。

此示例添加了5个像素的填充,因此图像不会接触边缘:

overlay=5:5

5像素的填充:

overlay=main_w-overlay_w-5:5

或使用缩短的选项:

overlay=W-w-5:5

5像素的填充:

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

或使用缩短的选项:

overlay=W-w-5:H-h-5

5像素的填充:

overlay=5:main_h-overlay_h

或使用缩短的选项:

overlay=5:H-h-5

使用format和colorchannelmixer过滤器使水印50%透明的示例:

ffmpeg -i input.mp4 -i watermark.jpg -filter_complex "[1]format=rgba,colorchannelmixer=aa=0.5[logo];[0][logo]overlay=(W-w)/2:(H-h)/2:format=auto,format=yuv420p" -c:a copy output.mp4

在覆盖过滤器中使用form=auto选项可以使PNG水印看起来更好:

ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=5:H-h-5:format=auto,format=yuv420p" -c:a copy output.mp4

请注意,添加了格式过滤器(是的,与选项同名,但为独立过滤器),以将其重置为MP4输出所需的YUV 4:2:0。如果没有输出MP4,请删除,format=yuv420p

使用cale2ref过滤器:

将徽标设置为主视频大小的10%(1/10)的示例:

ffmpeg -i input.mp4 -i watermark.png -filter_complex "[1][0]scale2ref=w=oh*mdar:h=ih*0.1[logo][video];[video][logo]overlay=5:H-h-5" -c:a copy output.mp4
 类似资料:
  • 我正在尝试在h264视频上添加一个png水印(带有alpha通道),它是半透明的。通过使用叠加过滤器,我成功地将水印添加到视频中。 但覆盖过滤器不提供透明选项。所以我尝试使用混合过滤器。然而,当我使用原点解析时,会出现错误消息。 输出: 结果似乎与参数有关。所以我尝试在混合之前缩放水印。 FFMPEG使用这些参数。但是输出不是我预期的,因为水印被拉伸了。任何想法混合水印与不同的分辨率,而不拉伸到视

  • 我使用laravel框架,也使用ffmpeg PHP库。其实我做了差不多百分之七十的工作。但是我面临的问题是在视频的多个区域显示水印。我做了左上角的水印,在那个视频上运行得很好。但是我想在左上,左下,右下添加水印。我使用这个代码的左上角水印(视频):- 请帮助我如何在这些区域的左上角、左下角和右下角添加水印。提前感谢:)

  • 我想把一个颜色覆盖(蓝色,红色或绿色或十六进制值)在一个视频给它一个Instagram滤镜一样的效果。 我认为应该是这样的: 也可以使用 但我发现一个错误: 我还尝试使用,但这并没有给它一个红色(它把红色去掉了)。 我做错了什么?

  • 但是我将ffmpeg更新到了最新版本(ffmpeg version git-2012-06-16-809d71d),现在在这个版本中参数不起作用。 请告诉我如何使用将新音频添加到视频(不是混合)中。

  • 目前,我正在尝试添加一个水印,出现在我的pdf的每一页的背景使用iText7 pdfHtml,但我无法找到一个解决方案。例如,我希望文本“机密”出现在每一页的背景中。我尝试用css添加它,如下所示 我希望这对其他试图开始使用iText PDFHTML的人有所帮助!

  • 本文向大家介绍如何利用python给图片添加半透明水印,包括了如何利用python给图片添加半透明水印的使用技巧和注意事项,需要的朋友参考一下 前言 本文主要给大家介绍了关于python图片添加半透明水印的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 示例代码: 效果图: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢

  • 我试图缩放一个视频,这样它总是512宽,高度与原始视频成比例变化。缩放后,我想应用水印/覆盖到视频,因此视频将缩放,但水印不会。 我能够分别使用以下过滤器实现这些目标: 规模 水印 他们靠自己成功地工作。 然而,当试图将两者结合起来时,我遇到了一些麻烦。 将两者都作为参数当然不起作用,因为其中一个将覆盖另一个。 我试过: 我的想法是首先应用刻度,然后再应用水印,但我得到的只是一个错误 为“电影”过