本文目录导读:

- 方案一:Windows 批处理 (
.bat) - 方案二:macOS / Linux Shell 脚本 (
.sh) - 方案三:Python 脚本(进阶,适合有编程基础的用户)
- 关键参数说明(用于自定义水印效果)
- 推荐操作流程
Windows 批处理 (.bat)
适用场景:Windows 系统,需提前下载 FFmpeg 并配置环境变量。
-
准备文件:
- 将您的所有视频放在一个文件夹内(
D:\videos)。 - 准备好水印图片(
logo.png,建议使用 PNG 格式以支持透明背景)。 - 在视频文件夹内新建一个文本文档,重命名为
add_watermark.bat。
- 将您的所有视频放在一个文件夹内(
-
编辑脚本: 右键点击
add_watermark.bat,选择“编辑”,粘贴以下代码:@echo off chcp 65001 >nul setlocal enabledelayedexpansion :: -------------------- 配置区域(请根据实际情况修改) -------------------- :: 设置水印图片路径(建议使用绝对路径或相对路径) set "WATERMARK=logo.png" :: 设置水印位置(参数说明:main_w=视频宽,overlay_w=水印宽) :: 10:10 表示距离视频左上角 10 像素,常用预设: :: 左上角: 10:10 :: 右上角: main_w-overlay_w-10:10 :: 左下角: 10:main_h-overlay_h-10 :: 右下角: main_w-overlay_w-10:main_h-overlay_h-10 set "POSITION=main_w-overlay_w-10:main_h-overlay_h-10" :: 设置输出文件夹名称(会在当前目录下创建) set "OUTPUT_DIR=output_with_watermark" :: -------------------- 脚本逻辑(一般无需修改) -------------------- if not exist "%OUTPUT_DIR%" mkdir "%OUTPUT_DIR%" echo 开始批量处理视频文件,请稍候... echo. for %%i in (*.mp4 *.avi *.mov *.mkv *.flv *.wmv) do ( echo 正在处理: %%i ffmpeg -i "%%i" -i "%WATERMARK%" -filter_complex "overlay=%POSITION%" -codec:a copy "%OUTPUT_DIR%\%%~ni_watermarked%%~xi" echo 完成: %%~ni_watermarked%%~xi echo. ) echo 所有文件处理完毕! pause -
使用方法:
- 将
logo.png文件放入视频文件夹。 - 双击运行
add_watermark.bat。 - 等待处理完成,带水印的视频会出现在
output_with_watermark文件夹中。
- 将
macOS / Linux Shell 脚本 (.sh)
适用场景:Mac 或 Linux 系统。
-
准备文件:
- 打开终端(Terminal)。
cd到视频所在目录。- 确保水印图片(如
logo.png)也在同一目录。
-
创建脚本: 在终端执行
nano add_watermark.sh,粘贴以下内容:#!/bin/bash # -------------------- 配置区域 -------------------- WATERMARK="logo.png" POSITION="main_w-overlay_w-10:main_h-overlay_h-10" # 右下角 OUTPUT_DIR="output_with_watermark" # ------------------------------------------------ mkdir -p "$OUTPUT_DIR" echo "开始批量处理视频文件..." # 支持常见格式,可根据需要增减 for file in *.mp4 *.avi *.mov *.mkv *.flv *.wmv; do if [ -f "$file" ]; then filename=$(basename -- "$file") extension="${filename##*.}" name="${filename%.*}" output_file="${OUTPUT_DIR}/${name}_watermarked.${extension}" echo "正在处理: $file" ffmpeg -i "$file" -i "$WATERMARK" -filter_complex "overlay=$POSITION" -codec:a copy "$output_file" echo "完成: $output_file" echo "" fi done echo "所有文件处理完毕!" -
运行脚本:
chmod +x add_watermark.sh # 赋予执行权限 ./add_watermark.sh
Python 脚本(进阶,适合有编程基础的用户)
如果需要更复杂的控制(如动态水印位置、视频元数据修改等),可以使用 Python + FFmpeg 库。
-
安装依赖:
pip install ffmpeg-python
-
脚本代码 (
add_watermark.py):import ffmpeg import os import glob # 配置 input_dir = "." # 当前目录,可修改 watermark_file = "logo.png" output_dir = "output_with_watermark" position = "main_w-overlay_w-10:main_h-overlay_h-10" # 右下角 # 创建输出目录 os.makedirs(output_dir, exist_ok=True) # 支持的视频格式 video_extensions = ["*.mp4", "*.avi", "*.mov", "*.mkv", "*.flv", "*.wmv"] video_files = [] for ext in video_extensions: video_files.extend(glob.glob(os.path.join(input_dir, ext))) print(f"找到 {len(video_files)} 个视频文件,开始处理...") for video_path in video_files: print(f"正在处理: {os.path.basename(video_path)}") try: # 构建输出路径 dir_name = os.path.dirname(video_path) base_name = os.path.basename(video_path) name, ext = os.path.splitext(base_name) output_path = os.path.join(output_dir, f"{name}_watermarked{ext}") # FFmpeg 处理 input_video = ffmpeg.input(video_path) input_watermark = ffmpeg.input(watermark_file) # 叠加水印 video = input_video.overlay(input_watermark, x=position.split(':')[0], y=position.split(':')[1]) # 输出(保留音频编码) video = ffmpeg.output(video, output_path, **{'codec:a': 'copy'}) ffmpeg.run(video, overwrite_output=True) print(f"完成: {os.path.basename(output_path)}") except Exception as e: print(f"处理 {video_path} 时出错: {e}") print("所有文件处理完毕!")
关键参数说明(用于自定义水印效果)
在 FFmpeg 命令的 -filter_complex "overlay=..." 部分,您可以调整:
-
位置:
10:10→ 左上角main_w-overlay_w-10:10→ 右上角10:main_h-overlay_h-10→ 左下角(main_w-overlay_w)/2:(main_h-overlay_h)/2→ 正中央
-
缩放水印大小(如果水印太大): 修改脚本中的
-filter_complex部分为:-filter_complex "[1]scale=100:100[wm];[0][wm]overlay=10:10"这会将水印缩放到 100x100 像素。
-
透明度(如果不想太突兀):
-filter_complex "[1]lut=a=val*0.5[wm];[0][wm]overlay=10:10"这会将水印透明度设置为 50%。
推荐操作流程
-
安装 FFmpeg(这是核心工具):
- Windows:从 ffmpeg.org 下载,解压后将其
bin目录添加到系统环境变量 PATH。 - macOS:
brew install ffmpeg - Linux:
sudo apt install ffmpeg(Ubuntu/Debian)
- Windows:从 ffmpeg.org 下载,解压后将其
-
测试单条命令: 在终端运行
ffmpeg -version,确认安装成功。 -
运行脚本: 将脚本文件放在视频文件夹根目录,按要求修改配置后运行。
这套方案无需安装任何付费软件,效率极高,如果您需要处理的是 字幕类型的文字水印(而非图片),或者需要 批量调整水印在不同视频中的位置,可以进一步说明,我可以提供相应的变体脚本。