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

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

前言

之前发过一篇"使用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
相关推荐
启雀AI10 小时前
AI 驱动的视频课程自动摘要与知识点提取:ASR + LLM 流水线工程实践
人工智能·阿里云·华为云·音视频·培训saas平台
FinelyYang12 小时前
基于 LiveKit 实现一对一视频通话:从信令到媒体进房的完整实践
音视频·媒体
程序员老陆18 小时前
M3U8(HLS 索引协议)深度详解:它不存一帧画面,却指挥了整个互联网视频
音视频·hls·m3u8
雪的季节19 小时前
音视频(51-52)
音视频
hz5678919 小时前
视频会议终端品牌如何选择?主流产品特点与选型标准
安全·音视频·实时音视频·信息与通信
NutShell Wang1 天前
国产全模态开源潮:从语言模型到视频模型,中国开源生态再升级
人工智能·语言模型·开源·大模型·音视频·多模态·vibe coding
民乐团扒谱机1 天前
【读论文】复调音乐信号的主旋律提取:方法、应用与挑战
开发语言·人工智能·算法·音视频·音乐
byte轻骑兵1 天前
【AVDTP】规范精讲[8-3]: 流配置核心三步:从参数下发到动态重配置全拆解
音视频·avrcp·蓝牙耳机·蓝牙车机·蓝牙音频控制
微帧Visionular1 天前
GenOpt像素智绘引擎|AI生成视频需要怎样的视觉优化算法?
人工智能·aigc·音视频
杀生丸学AI2 天前
【世界模型】MotionForesight:视频模型应用于未来的三维场景流预测
音视频