You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改FFmpeg单视频动态水印脚本以实现批量视频添加水印

FFmpeg批量添加动态水印实现方案

注意:请先确保FFmpeg已安装并配置到系统环境变量中,所有待处理视频与logo.png需放在脚本所在的同一目录下

批量处理的核心逻辑就是保留你原有单文件命令的滤镜参数不变,仅通过脚本遍历目录下所有视频文件,逐个调用FFmpeg执行命令,自动生成不重名的输出文件。

Linux/macOS 批量处理脚本

  1. 新建脚本文件batch_watermark.sh,填入以下内容:
#!/bin/bash
# 可自行修改括号内的后缀,添加你需要支持的视频格式
video_exts=("mp4" "mov" "mkv" "avi")
for ext in "${video_exts[@]}"; do
  for file in *."$ext"; do
    [ -f "$file" ] || continue
    output="watermarked_${file}"
    echo "正在处理:${file}"
    ffmpeg -i "$file" -i logo.png -filter_complex "[1]colorchannelmixer=aa=0.6,scale=iw*0.7:-1[a];[0][a]overlay=x='if(lt(mod(t\,16)\,8)\,W-w-W*5/100\,W*5/100)':y='if(lt(mod(t+4\,16)\,8)\,H-h-H*2.5/100\,H*2.5/100)'" -c:v libx264 -an "$output"
  done
done
echo "全部处理完成"
  1. 给脚本添加执行权限:chmod +x batch_watermark.sh
  2. 运行脚本即可批量处理:./batch_watermark.sh

Windows 批量处理脚本

  1. 新建脚本文件batch_watermark.bat,填入以下内容:
@echo off
chcp 65001 >nul
:: 可自行在括号内添加需要支持的视频格式后缀
for %%i in (*.mp4,*.mov,*.mkv,*.avi) do (
    echo 正在处理:%%~ni%%~xi
    ffmpeg -i "%%i" -i logo.png -filter_complex "[1]colorchannelmixer=aa=0.6,scale=iw*0.7:-1[a];[0][a]overlay=x='if(lt(mod(t\,16)\,8)\,W-w-W*5/100\,W*5/100)':y='if(lt(mod(t+4\,16)\,8)\,H-h-H*2.5/100\,H*2.5/100)'" -c:v libx264 -an "watermarked_%%~ni%%~xi"
)
echo 全部处理完成
pause
  1. 直接双击bat文件即可运行批量处理。

可选调整项

  • 不需要静音输出就删掉命令中的-an参数,即可保留原视频的音频
  • 要统一输出到指定文件夹的话,先新建output目录,将输出路径替换为output/${file}(Linux/macOS)或output\%%~ni%%~xi(Windows)
  • 水印的透明度、大小、移动规则直接修改filter_complex中的对应参数即可,修改逻辑和你原来单文件命令完全一致

内容的提问来源于stack exchange,提问作者dmkq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 22:06:00