视频添加水印批处理-漫剧版

视频添加水印批处理-漫剧版

前言

之前发过一篇"使用ffmpeg+python实现自动给视频添加移动水印",对于视频教学可以,但用在漫剧制作的话,会特别影响观看体验。需提先安装好ffmpeg和设置好环境变量。

单独放一个目录,路径不要有中文,要处理的视频名称不要有中文,水印图片和批处理放在同一个目录下,水印名称"logo.png"

参考水印:

参考目录:

一、漫剧左下角平滑水印 (极致微动版)

bash 复制代码
@echo off
chcp 65001 >nul
title GPU 编码 - 漫剧左下角平滑水印 (极致微动版)

echo ==========================================
echo 🚀 功能:左下角超低频平滑位移水印
echo 🎬 目的:防盗录的同时,最大程度减小视觉干扰
echo ⏱️ 效果:约 2 分钟完成一次极小范围的"呼吸"运动
echo ==========================================

:: --- 配置区域 ---
:: 基础边距:距离左侧和底部的像素距离
set "PADDING=60"
:: 移动范围:在 15 像素内微调,确保不遮挡主要画面或字幕
set "MOVE_RANGE=15"
:: 速度系数:0.05 为极慢速,视觉上几乎感知不到在动
set "SPEED=0.05"
:: 输出文件名
set "OUTPUT_FILE=output_bottom_left.mp4"

:: --- 自动查找视频文件 ---
for %%f in (*.mp4 *.mov *.avi *.mkv) do (
    if "%%f" neq "%OUTPUT_FILE%" (
        set "INPUT_FILE=%%f"
        goto found
    )
)

:found
if "%INPUT_FILE%"=="" (
    echo ❌ 错误:文件夹内未发现视频文件!
    pause
    exit /b
)

if not exist "logo.png" (
    echo ❌ 错误:未找到 logo.png 水印文件! [cite: 2]
    pause
    exit /b
)

echo ✅ 匹配视频:%INPUT_FILE%
echo ✅ 目标位置:左下角 (呼吸感微动)

:: --- 坐标修改说明 ---
:: X 坐标:%PADDING% 确保从左侧开始,sin 函数提供横向平滑波动
:: Y 坐标:H-h-%PADDING% 定位到底部,减去波动值使其产生纵向平移 
set "X_COORD=%PADDING%+(%MOVE_RANGE%*(1+sin(t*%SPEED%))/2)"
set "Y_COORD=H-h-%PADDING%-(%MOVE_RANGE%*(1+cos(t*%SPEED%))/2)"

:: 封装滤镜表达式
set "FILTER=[0:v][1:v]overlay=x='%X_COORD%':y='%Y_COORD%'"

echo ⏳ 正在调用显卡硬件加速 (NVENC) 渲染... 

:: --- 执行渲染命令 ---
:: -c:v h264_nvenc: 使用 NVIDIA 显卡硬件编码 
:: -b:v 8M: 针对 1080p 画质的稳定码率
ffmpeg -i "%INPUT_FILE%" -i logo.png -filter_complex "%FILTER%" -c:v h264_nvenc -preset p4 -b:v 8M -c:a aac -y "%OUTPUT_FILE%"

if %errorlevel% equ 0 (
    echo.
    echo ==========================================
    echo ✅ 任务完成!保存为:%OUTPUT_FILE%
    echo ==========================================
) else (
    echo.
    echo ❌ 渲染失败,请检查 FFmpeg 路径或显卡驱动。
)

pause

二、 漫剧边缘环绕水印 (慢速平滑版)

bash 复制代码
@echo off
chcp 65001 >nul
title GPU 编码 - 漫剧边缘环绕水印 (慢速平滑版)

echo ==========================================
echo 🚀 功能:超低频、慢速平滑的边缘环绕水印
echo 🎬 目的:防盗录的同时,大范围移动增加干扰,速度更慢更平滑
echo ⏱️ 效果:约 10 分钟完成一次画面的边缘椭圆环绕
echo ==========================================

:: --- 配置区域 ---
:: 基础边距:距离各边缘的最小像素距离
set "PADDING=60"
:: 速度系数:将速度调至 0.01,使得移动极其缓慢和平滑
set "SPEED=0.01"
:: 输出文件名
set "OUTPUT_FILE=output_edge_slow_orbit.mp4"

:: --- 自动查找视频文件 ---
for %%f in (*.mp4 *.mov *.avi *.mkv) do (
    if "%%f" neq "%OUTPUT_FILE%" (
        set "INPUT_FILE=%%f"
        goto found
    )
)

:found
if "%INPUT_FILE%"=="" (
    echo ❌ 错误:文件夹内未发现视频文件!
    pause
    exit /b
)

if not exist "logo.png" (
    echo ❌ 错误:未找到 logo.png 水印文件!
    pause
    exit /b
)

echo ✅ 匹配视频:%INPUT_FILE%
echo ✅ 目标位置:全画面的边缘慢速环绕

:: --- 坐标修改说明 ---
:: X 坐标:以画面中心为基础,结合 cos 产生沿画面边缘的大范围椭圆环绕
:: Y 坐标:以画面中心为基础,结合 sin 产生沿画面边缘的大范围椭圆环绕
set "X_COORD=(W-w)/2+((W-w-2*%PADDING%)/2)*cos(t*%SPEED%)"
set "Y_COORD=(H-h)/2+((H-h-2*%PADDING%)/2)*sin(t*%SPEED%)"

:: 封装滤镜表达式
set "FILTER=[0:v][1:v]overlay=x='%X_COORD%':y='%Y_COORD%'"

echo ⏳ 正在调用显卡硬件加速 (NVENC) 渲染... 

:: --- 执行渲染命令 ---
ffmpeg -i "%INPUT_FILE%" -i logo.png -filter_complex "%FILTER%" -c:v h264_nvenc -preset p4 -b:v 8M -c:a aac -y "%OUTPUT_FILE%"

if %errorlevel% equ 0 (
    echo.
    echo ==========================================
    echo ✅ 任务完成!保存为:%OUTPUT_FILE%
    echo ==========================================
) else (
    echo.
    echo ❌ 渲染失败,请检查 FFmpeg 路径或显卡驱动。
)

pause
  • end
相关推荐
nashane13 分钟前
HarmonyOS 6学习:句柄泄漏(Fd Leak)从“崩溃现场”到“代码行”的精准狙击指南
学习·华为·音视频·harmonyos
君为先-bey2 小时前
VideoReward: 人类反馈优化视频生成文献深度阅读分析
人工智能·音视频·扩散模型
byte轻骑兵3 小时前
【AVRCP】规范精讲[25]: 大数据包拆分传输的完整流程与实战
智能手机·音视频·avrcp·音视频控制·车机蓝牙
君为先-bey4 小时前
CineMaster: 3D感知电影级视频生成框架文献深度阅读分析
3d·音视频·扩散模型
weixin_419936924 小时前
Grok Imagine 双模型登陆 MetaChat:Arena 榜首图生视频超越seedance2.0 + 旗舰级图像编辑
音视频·grok
南山有乔木7894 小时前
怎么把音频ncm/kgg/m4a格式转换成mp3?手机App和电脑软件都能用的教程
智能手机·音视频
VOOHU-沃虎5 小时前
PoE供电在专业音频设备中的应用:从电源变压器到音频隔离的完整方案
音视频
Deitymoon5 小时前
RV1136——获取VENC的H264码流
音视频
音视频牛哥5 小时前
SmartMediaKit 还是云服务厂商?企业级音视频系统选型背后的技术逻辑
音视频·大牛直播sdk·低延迟rtsp播放器·轻量级rtsp服务器·rtmp同屏推流·smartmediakit·低延迟rtmp播放器
李二。15 小时前
鸿蒙原生ArkTS-鸿蒙6.0新特性-动态模糊视频背景登录页
华为·音视频·harmonyos