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

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

前言

之前发过一篇"使用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
相关推荐
RTC实战笔记11 天前
Android 实时音视频接入教程:媒体补充增强信息(SEI)
音视频·媒体·rtc
潜创微科技11 天前
HDMI1.3 无线传输芯片方案 空旷 150 米量产级音视频方案
音视频
VidDown11 天前
VidDown 工具站:免费、本地优先的开发者工具箱
javascript·编辑器·音视频·视频编解码·视频
换个昵称都难11 天前
音频格式之WAV
音视频
AI创界者11 天前
PilotTTS 一键整合包(Win/Mac):8G 显存畅跑,实测解锁情绪与副语言的精准控制
人工智能·macos·aigc·音视频
u1521096484912 天前
S.S.Audio PRO A2音频隔离器
嵌入式硬件·音视频·实时音视频·视频编解码·视频
VidDown12 天前
显卡处理视频技术详解:从硬解码到 NVENC,GPU 如何让视频处理起飞?
javascript·编辑器·音视频·视频编解码·视频
EasyDSS12 天前
全能音视频平台/私有化音视频系统EasyDSS!直播/点播/会议/集群对讲一站式落地
音视频
Damon_X12 天前
车载音频复习
音视频
3DVisionary12 天前
告别数据中断:XTDIC-VG视频引伸计在金属疲劳测试中3个真实案例
人工智能·音视频·应用案例·xtdic-vg·视频引伸计·疲劳测试·实战复盘