专注批量处理软件
工具说明

视频图片水印批量添加工具教程

一可软件 · 工具说明视频图片水印批量添加工具教程
视频图片水印批量添加工具教程

功能关键词:批量为视频添加水印、Logo图片水印、动态GIF水印、随机位置、水印不透明度。

工具概述

视频图片水印批量添加工具用于将现有图片、GIF文件或短视频叠加到视频帧上,可以统一放置品牌的Logo,或从素材文件夹中随机选择水印。此页面提供固定位置、随机位置、定时位置变更,可以调整大小、不透明度、旋转和静态图片的平铺。

此工具通过FFmpeg对视频重新编码,并提供输出质量、帧尺寸、帧率、音频和字幕选项。可以为多个视频设置并行处理和失败重试,操作进度和错误可以在页面日志中查看。

工具截图

视频图片水印批量添加工具的主界面。显示视频路径、水印素材的位置和样式、编码参数、开始控件
主界面包含路径设置、参数和控件,向下滚动可查看进度和日志;源和水印均为空。

主要功能

  1. 接受视频目录或指定的多个视频,根据需要扫描子目录,并保留相对文件夹结构。
  2. 为批量处理的视频统一添加一个图片、动态GIF或短视频水印,并循环播放动态素材的画面内容。
  3. 从水印文件夹的当前层级为每个视频随机选择1~3个素材;在视频内位置变更模式下,每个片段使用本次所选池中的一个素材。
  4. 从9个固定位置中选择角标位置,或在首帧预览中拖动以设置相对位置。
  5. 在9位置网格中使用基于规则的随机放置、帧内无限制随机放置,或按固定/随机时间间隔变更视频内的位置。
  6. 调整水印的缩放比例、不透明度、大小基准、边距和旋转;静态图片可以平铺并添加阴影。
  7. 设置CRF或码率、输出宽度、高度、帧率、音轨处理,并选择是否复制元数据、字幕和章节。
  8. 设置跳过同名文件、失败重试、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位置,未选择视频目录和保存目录。

整个路径设置区域,包含文件夹/文件控件、递归、保存目录、结构保留和FFmpeg位置。
图1:整个路径设置区域,包含文件夹/文件控件、递归、保存目录、结构保留和FFmpeg位置。

2. 选择单一素材或从多个素材中随机选择作为水印源

在“参数与控件→水印类型”中选择“单一素材”,然后点击“选择图片”选择现有图片、GIF或短视频,批量处理的所有视频将使用同一素材。如果需要透明背景的Logo,请使用已具有Alpha通道的图片;软件不会自动移除背景。

如果需要让素材有所变化,请选择“随机多素材”,原素材输入将切换为“素材文件夹”和“选择文件夹”。选择水印库后,会为每个视频不重复地随机选择1~3个素材;如果可用素材少于该数量,则使用可用数量。

在普通位置模式下,可以叠加本次选择的多个素材;在视频内定时位置变更模式下,每个片段从本次所选池中随机取出一个素材,请勿理解为每个片段同时显示3个素材。

动态GIF和视频素材会循环播放画面内容,其音轨不会混入主视频;动态素材不支持平铺和阴影,勾选这两个选项时会显示提示,并忽略它们。图中仅切换到了随机多素材,文件夹为空。

随机多素材模式下的实际参数区域,完整显示了水印类型和素材文件夹控件。
图2:随机多素材模式下的实际参数区域,完整显示了水印类型和素材文件夹控件。

3. 选择固定位置,或设置随机位置及位置变更间隔

在“插入位置”中选择“固定位置”,从旁边的下拉列表中选择左上、右上、左中、右中、整个画面中央、左下、右下、上中或下中。如果需要通过拖动指定位置,在实际使用时准备好现有视频和水印后,点击“预览位置”,即可读取首帧并确认相对坐标。此控件会读取素材,本教程未使用它。

选择“随机位置”后,下方会展开4种方式。“基于规则随机”从9个位置中选择,“无限制随机”在帧内自由选择位置;“视频内基于规则随机”和“视频内无限制随机”按时间片段变更位置。

选择视频内模式后,右侧会显示“时间间隔(秒)”输入框;实际使用时,请输入单一秒数或“小值-大值”。最小值为0.1秒,两端数值可以相同;此输入不能为空。范围格式下,每个片段会随机选择间隔。

多个水印的布局会尝试避免重叠,但无法保证完全不重叠。对于长视频或短间隔,还需要检查更下方的随机片段上限,超过上限后,剩余部分可能没有水印。图中仅展开了视频内基于规则随机定位,未输入参数。

展开随机位置后的设置区域,已选择视频内基于规则随机,间隔输入仍为空。
图3:展开随机位置后的设置区域,已选择视频内基于规则随机,间隔输入仍为空。

4. 设置大小、不透明度、基准和静态图片水印样式

“水印大小”滑块的范围为1%~50%,默认值为10%;“透明度”的范围为0~100%,默认值为50%。请注意,这里的透明度值越大,不透明度越高,0为完全不可见,100为完全不透明。

“水印样式”下拉菜单提供宽度基准、高度基准和短边基准。实现中,将所选视频基准乘以比例所得的值用作水印目标宽度,然后按照素材的宽高比计算高度,并限制边界;“高度基准”并不意味着直接将水印高度设为该比例。

“边距”的范围为0~300像素,默认值为10,也会影响平铺间隔和多个素材之间的间隙;“旋转”的范围为-180~180度,默认值为0。旋转和阴影会增加实际占用区域,无法保证在任意角度下边缘都不被裁切。

对于静态图片,根据需要勾选“平铺”以填满画面,或勾选“阴影”以添加淡阴影。平铺使用与整个视频大小相同的水印图层,即使与随机模式一起选择,也不意味着每个水印平铺块会随机且独立地变更位置。动态图片会忽略这两个选项。图中保留了原值和未勾选状态。

整个水印参数区域,集中展示了大小、不透明度、大小基准、边距、旋转、平铺和阴影。
图4:整个水印参数区域,集中展示了大小、不透明度、大小基准、边距、旋转、平铺和阴影。

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的无声音轨,而删除音频则不保留音轨;默认值为复制音频。根据需要勾选“保留元数据”、“保留字幕”、“保留章节”,能否复制字幕和音轨也取决于与输出容器的兼容性。

滚动后的编码质量和流处理设置,显示了CPU、CRF23、原宽度、原高度、原帧率和默认流选项。
图5:滚动后的编码质量和流处理设置,显示了CPU、CRF23、原宽度、原高度、原帧率和默认流选项。

6. 检查批量处理策略后运行,并从日志判断各文件状态

向下滚动,转到“批量处理策略”。“跳过已有”仅检查是否存在同名目标路径,不检查内容;取消勾选时,会查找带有_1等编号的名称。并发处理时的命名没有原子预留,建议使用源之外的空目录,并避免同名源;起初将并行处理保持为1,确实需要多个任务时再设置为1~4。

“重试次数”的范围为0~5,默认值为1,表示失败后的额外尝试次数。“随机片段上限”的范围为20~2000,默认值为300;它并非只是限制命令长度后持续延长最后一个片段。达到上限后,后续片段会被跳过,视频剩余部分可能没有水印;在视频内模式下,片段数量需要覆盖整个视频,请根据需要增大间隔或上限。

“保存预设”记录当前路径和大部分参数,“加载预设”会覆盖当前界面。程序会在启动时尝试加载它,并在实际开始和退出时自动保存。在预览中通过拖动设置的自定义相对坐标不包含在此预设项目中,不应依赖预设恢复该位置。本教程未点击“保存”或“加载”。

实际使用时,完成检查后点击“开始”,下方“进度与日志”会显示处理信息、失败、跳过和摘要;需要中断时点击“停止”,软件会在保留已完成项目的同时,尝试终止正在运行的处理并删除未完成文件。本教程未开始处理。

结束时,进度条可能统一显示为100%或“完成”,请勿将其视为完全成功的证据,而应逐项对照日志检查。此页面没有用于打开目录、预览结果、导出日志的按钮,也没有CSV报告;请自行在设置的保存目录中检查文件,并根据需要选择和复制日志。

底部的批量处理策略、预设、开始/停止及完整日志区域,显示就绪状态、0%进度,没有处理结果。
图6:底部的批量处理策略、预设、开始/停止及完整日志区域,显示就绪状态、0%进度,没有处理结果。

主要参数说明

参数功能建议
水印类型单一素材;从文件夹中随机选择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—2400保留源;设置两个尺寸时,会应用保持宽高比的缩放和补边。
音频和保留选项复制、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%,需要阅读日志中的成功、失败和跳过信息。

继续阅读

查看全部