功能关键词:批量为视频添加水印、Logo图片水印、动态GIF水印、随机位置、水印不透明度。
工具概述
视频图片水印批量添加工具用于将现有图片、GIF文件或短视频叠加到视频帧上,可以统一放置品牌的Logo,或从素材文件夹中随机选择水印。此页面提供固定位置、随机位置、定时位置变更,可以调整大小、不透明度、旋转和静态图片的平铺。
此工具通过FFmpeg对视频重新编码,并提供输出质量、帧尺寸、帧率、音频和字幕选项。可以为多个视频设置并行处理和失败重试,操作进度和错误可以在页面日志中查看。
工具截图

主要功能
- 接受视频目录或指定的多个视频,根据需要扫描子目录,并保留相对文件夹结构。
- 为批量处理的视频统一添加一个图片、动态GIF或短视频水印,并循环播放动态素材的画面内容。
- 从水印文件夹的当前层级为每个视频随机选择1~3个素材;在视频内位置变更模式下,每个片段使用本次所选池中的一个素材。
- 从9个固定位置中选择角标位置,或在首帧预览中拖动以设置相对位置。
- 在9位置网格中使用基于规则的随机放置、帧内无限制随机放置,或按固定/随机时间间隔变更视频内的位置。
- 调整水印的缩放比例、不透明度、大小基准、边距和旋转;静态图片可以平铺并添加阴影。
- 设置CRF或码率、输出宽度、高度、帧率、音轨处理,并选择是否复制元数据、字幕和章节。
- 设置跳过同名文件、失败重试、1~4个视频的并行处理、随机片段的最大数量,并保存或加载界面预设。
使用前的准备
视频源可以使用文件夹或单个/多个文件;多个文件用半角分号分隔。支持MP4、AVI、MKV、MOV、FLV、WebM、WMV、M4V、TS、MPEG、MPG。在分号分隔的格式中,所有项目都必须是文件,不适合混合多个文件夹。
静态图片水印格式包括PNG、JPG、JPEG、BMP、TIFF、TIF、WebP;动态素材包括动态GIF和MP4、MOV、WebM、MKV、AVI。单帧GIF文件作为静态图片处理,动态素材不使用音轨,仅使用画面内容。
从多个素材中随机选择需要现有的水印文件夹,仅会读取当前层级中支持的素材,不会递归搜索水印子文件夹。
请准备一个具有足够可用空间、可写入的独立保存目录;建议在视频源之外创建一个新的空目录,并避免不同来源的同名文件。此页面没有输出容器选择,输出会保留源扩展名,但不保证所有输入容器都支持当前编码与音轨的组合。
FFmpeg目录中必须包含ffmpeg和ffprobe,可以选择bin目录或其父级ffmpeg目录;工具会在实际开始前检查路径和参数。
详细操作步骤
1. 选择视频源、保存目录和FFmpeg位置
在“路径设置→输入路径”中,点击“文件夹”选择现有视频目录,或点击“文件”选择单个/多个视频。也可以按照输入框的提示拖入现有源;多个视频文件用半角分号分隔。请勿使用分号混合多个文件夹。
如果目录内的嵌套层级中有视频,请勾选“扫描子目录”。如果需要在保存目录中保留源层级,请同时勾选“保留原路径结构”;这对递归目录源有效。
点击“保存目录→浏览”选择独立的输出文件夹;不存在的目录可以在实际处理过程中创建。由于扫描既没有排除输出目录的保护,也没有针对与源相同目录的保护,请勿将输出放在源内。
检查FFmpeg路径,根据需要点击右侧的“浏览”,选择同时包含ffmpeg和ffprobe的目录。图中仅保留了软件默认的FFmpeg位置,未选择视频目录和保存目录。

2. 选择单一素材或从多个素材中随机选择作为水印源
在“参数与控件→水印类型”中选择“单一素材”,然后点击“选择图片”选择现有图片、GIF或短视频,批量处理的所有视频将使用同一素材。如果需要透明背景的Logo,请使用已具有Alpha通道的图片;软件不会自动移除背景。
如果需要让素材有所变化,请选择“随机多素材”,原素材输入将切换为“素材文件夹”和“选择文件夹”。选择水印库后,会为每个视频不重复地随机选择1~3个素材;如果可用素材少于该数量,则使用可用数量。
在普通位置模式下,可以叠加本次选择的多个素材;在视频内定时位置变更模式下,每个片段从本次所选池中随机取出一个素材,请勿理解为每个片段同时显示3个素材。
动态GIF和视频素材会循环播放画面内容,其音轨不会混入主视频;动态素材不支持平铺和阴影,勾选这两个选项时会显示提示,并忽略它们。图中仅切换到了随机多素材,文件夹为空。

3. 选择固定位置,或设置随机位置及位置变更间隔
在“插入位置”中选择“固定位置”,从旁边的下拉列表中选择左上、右上、左中、右中、整个画面中央、左下、右下、上中或下中。如果需要通过拖动指定位置,在实际使用时准备好现有视频和水印后,点击“预览位置”,即可读取首帧并确认相对坐标。此控件会读取素材,本教程未使用它。
选择“随机位置”后,下方会展开4种方式。“基于规则随机”从9个位置中选择,“无限制随机”在帧内自由选择位置;“视频内基于规则随机”和“视频内无限制随机”按时间片段变更位置。
选择视频内模式后,右侧会显示“时间间隔(秒)”输入框;实际使用时,请输入单一秒数或“小值-大值”。最小值为0.1秒,两端数值可以相同;此输入不能为空。范围格式下,每个片段会随机选择间隔。
多个水印的布局会尝试避免重叠,但无法保证完全不重叠。对于长视频或短间隔,还需要检查更下方的随机片段上限,超过上限后,剩余部分可能没有水印。图中仅展开了视频内基于规则随机定位,未输入参数。

4. 设置大小、不透明度、基准和静态图片水印样式
“水印大小”滑块的范围为1%~50%,默认值为10%;“透明度”的范围为0~100%,默认值为50%。请注意,这里的透明度值越大,不透明度越高,0为完全不可见,100为完全不透明。
“水印样式”下拉菜单提供宽度基准、高度基准和短边基准。实现中,将所选视频基准乘以比例所得的值用作水印目标宽度,然后按照素材的宽高比计算高度,并限制边界;“高度基准”并不意味着直接将水印高度设为该比例。
“边距”的范围为0~300像素,默认值为10,也会影响平铺间隔和多个素材之间的间隙;“旋转”的范围为-180~180度,默认值为0。旋转和阴影会增加实际占用区域,无法保证在任意角度下边缘都不被裁切。
对于静态图片,根据需要勾选“平铺”以填满画面,或勾选“阴影”以添加淡阴影。平铺使用与整个视频大小相同的水印图层,即使与随机模式一起选择,也不意味着每个水印平铺块会随机且独立地变更位置。动态图片会忽略这两个选项。图中保留了原值和未勾选状态。

5. 向下滚动以设置编码、画质、尺寸和音轨
向下滚动主页面,转到“编码器、输出质量、流处理”。编码器的默认值为“CPU 稳定(推荐)”,可用的NVIDIA、Intel、AMD选项取决于FFmpeg的编码器列表;页面上的“检测”只是重新列出它们,并不能证明显卡能够实际运行,硬件编码失败时,程序会尝试回退到CPU。
“处理速度”提供高速、超高速和兼容,分别对应CPU的superfast、ultrafast、veryfast;GPU几乎不受此选项影响。在“输出质量”中选择CRF时,可在0~51范围内调整,默认值为23;值越小,越优先考虑高画质和较大的文件。选择码率时,请输入正码率,并根据需要添加k或M后缀,旁边的码率框仅在此模式下启用。
宽度和高度的范围为0~8192,0在界面上显示为原宽度或原高度;仅设置一个尺寸时,另一个会按比例计算,两者都设置时,会应用保持宽高比的缩放和补边。水印首先叠加到原始画面上,然后随整个画面一起缩放并输出。帧率范围为0~240,0显示原帧率。
在“流处理”中,可以复制音频、转换为AAC、静音或删除音频。静音仍会保留转换为AAC的无声音轨,而删除音频则不保留音轨;默认值为复制音频。根据需要勾选“保留元数据”、“保留字幕”、“保留章节”,能否复制字幕和音轨也取决于与输出容器的兼容性。

6. 检查批量处理策略后运行,并从日志判断各文件状态
向下滚动,转到“批量处理策略”。“跳过已有”仅检查是否存在同名目标路径,不检查内容;取消勾选时,会查找带有_1等编号的名称。并发处理时的命名没有原子预留,建议使用源之外的空目录,并避免同名源;起初将并行处理保持为1,确实需要多个任务时再设置为1~4。
“重试次数”的范围为0~5,默认值为1,表示失败后的额外尝试次数。“随机片段上限”的范围为20~2000,默认值为300;它并非只是限制命令长度后持续延长最后一个片段。达到上限后,后续片段会被跳过,视频剩余部分可能没有水印;在视频内模式下,片段数量需要覆盖整个视频,请根据需要增大间隔或上限。
“保存预设”记录当前路径和大部分参数,“加载预设”会覆盖当前界面。程序会在启动时尝试加载它,并在实际开始和退出时自动保存。在预览中通过拖动设置的自定义相对坐标不包含在此预设项目中,不应依赖预设恢复该位置。本教程未点击“保存”或“加载”。
实际使用时,完成检查后点击“开始”,下方“进度与日志”会显示处理信息、失败、跳过和摘要;需要中断时点击“停止”,软件会在保留已完成项目的同时,尝试终止正在运行的处理并删除未完成文件。本教程未开始处理。
结束时,进度条可能统一显示为100%或“完成”,请勿将其视为完全成功的证据,而应逐项对照日志检查。此页面没有用于打开目录、预览结果、导出日志的按钮,也没有CSV报告;请自行在设置的保存目录中检查文件,并根据需要选择和复制日志。

主要参数说明
| 参数 | 功能 | 建议 |
|---|---|---|
| 水印类型 | 单一素材;从文件夹中随机选择1~3个素材 | 在视频内模式下,每个片段从当前素材池中选择一个素材。 |
| 插入位置 | 9个固定位置;基于规则/无限制随机;视频内位置变更 | 自定义拖动需要读取首帧预览。 |
| 时间间隔 | 单一值或小值-大值,最小0.1秒 | 在视频内模式下,必须与片段上限配合使用。 |
| 大小/大小基准 | 1%~50%,默认值10%;以宽度、高度或短边为基准 | 计算水印目标宽度后,保留素材的宽高比。 |
| 透明度 | 0~100,默认值50 | 值越大,不透明度越高。 |
| 边距/旋转 | 0~300px;-180~180度 | 旋转会增加实际占用区域。 |
| 平铺/阴影 | 仅支持静态图片 | 动态素材即使勾选这些选项也会被忽略。 |
| 编码器/速度 | FFmpeg中列出的CPU和GPU;3种CPU速度 | 即使列为可用,也不意味着硬件运行会成功。 |
| 质量模式 | CRF0~51,默认值23;或正码率 | 码率框仅在码率模式下启用。 |
| 宽度/高度/帧率 | 0—8192/0—8192/0—240 | 0保留源;设置两个尺寸时,会应用保持宽高比的缩放和补边。 |
| 音频和保留选项 | 复制、AAC、静音、删除;元数据、字幕、章节 | 静音不同于删除音轨。 |
| 跳过/重试/并行处理 | 存在则跳过;重试0~5次;并行处理1~4 | 请使用独立的空输出目录,以避免同名导致的并发处理冲突。 |
| 随机片段上限 | 20~2000,默认值300 | 达到上限后,剩余视频可能没有水印。 |
| 预设 | 记录路径和大部分参数,加载时覆盖界面 | 不承诺恢复自定义预览坐标。 |
结果与保存
实际处理后,请在设置的保存目录中检查文件,输出会保留源文件名和扩展名;目录结构保留仅对递归目录源有效。视频使用H.264系列编码,并不意味着所有源容器都支持相同的输出选项组合。
未勾选跳过时,程序会尝试使用带编号的名称;由于并发处理时的命名没有独占预留,请避免不同来源的同名文件,以及与其他任务共享输出目录。即使勾选跳过,也仅检查文件是否存在,并不验证已完成的内容。
源代码以FFmpeg返回0和文件路径存在作为成功条件,不会重新读取以进行播放检查。停止时,会尝试清理未完成文件并保留已完成项目;请检查各文件和日志摘要,不要仅依赖100%或“完成”字样。
此工具没有单独的导出或下载步骤,也没有单独保存日志文件的按钮;文本日志可以选择并复制。教程中的所有页面均展示空源或设置,未进行素材的实际加载、处理、预览及成品输出验证。
常见问题与使用建议
1. 可以使用分号混合多个文件夹吗?
在分号分支中,所有项目都必须是文件。对于一个目录,请使用“文件夹”控件,如需下级内容,请勾选“扫描子目录”。
2. 随机多素材模式下,每个片段会同时显示3个素材吗?
在视频内位置变更模式下,每个片段仅从为该视频选定的素材池中选择一个素材;普通模式下可以叠加多个素材。
3. 将透明度设为100会完全消失吗?
相反,100为完全不透明,0为完全透明。
4. 可以平铺动态图片并添加阴影吗?
不支持这项操作,这两个选项都会显示警告并被忽略;大小、旋转和不透明度可以使用。
5. 为什么视频内随机模式的间隔框显示为空?
此模式需要不小于0.1秒的单一值或范围,没有它便无法开始实际处理。
6. 随机片段上限太小会怎样?
超过上限的后续片段会直接跳过,视频剩余部分可能没有水印。
7. 检测到GPU就保证能编码吗?
不,此页面依赖FFmpeg的编码器列表,驱动和硬件运行仍可能失败,并回退到CPU。
8. 静音与删除音频有什么区别?
静音会保留无声的AAC音轨,而删除音频不会保留音轨。
9. “跳过已有”会验证文件内容吗?
不,仅检查是否存在同名路径;并行处理期间也需要避免同名源。
10. 进度为100%就意味着全部成功吗?
不,结束状态可能统一显示为100%,需要阅读日志中的成功、失败和跳过信息。




