乐闻世界logo
搜索文章和话题

How to add transparent watermark in center of a video with ffmpeg?

4 个月前提问
4 个月前修改
浏览次数10

1个答案

1

使用 FFmpeg 添加透明水印到视频中心的步骤如下:

  1. 准备水印图片: 首先,需要准备一个透明背景的PNG图片作为水印。这个图片应保留有透明度信息(比如使用 Photoshop 保存为PNG格式时保留透明度)。

  2. 确定水印位置: 为了将水印放置在视频中心,需要获取视频的分辨率信息。可以通过 FFmpeg 命令 ffmpeg -i video.mp4 来查看视频的宽度和高度。

  3. 使用 FFmpeg 添加水印: 使用 FFmpeg 的 overlay filter 可以将水印图片叠加到视频上。计算水印的位置时,使用视频宽度和高度的一半减去水印宽度和高度的一半即可。具体命令如下:

    bash
    ffmpeg -i input_video.mp4 -i watermark.png -filter_complex "overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" -codec:a copy output_video.mp4

    这里的 input_video.mp4 是原视频文件,watermark.png 是你的水印文件。overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2 这部分是计算水印位置的表达式,确保水印位于视频中心。-codec:a copy 表示音频不进行重新编码。

示例:

假设有一个视频文件名为 example.mp4,宽1920px,高1080px,你有一个200px宽100px高的透明水印 logo.png。使用以下命令:

bash
ffmpeg -i example.mp4 -i logo.png -filter_complex "overlay=(1920-200)/2:(1080-100)/2" -codec:a copy output.mp4

这个命令会将 logo.png 以透明水印的形式添加到 example.mp4 的中心,生成的输出文件为 output.mp4,音频部分保持原样不变。

通过上述步骤和示例,您可以灵活地将透明水印添加到任何位置和任何视频文件中,只需要调整相关参数即可。

2024年8月9日 01:51 回复

你的答案