企业内部资料出现外泄,往往是由当事人故意或无意识的错误所引发的。加强这方面意识的同时,作为资料的内部发布者,也可以有所作为,一方面降低无意识行为的发生概率,一方面提高资料外传和违规的成本。这对于培训工作者尤为重要。
除去版权声明外,为资料添加水印是一种最为常见和普遍的做法。本文总结了一些 Mac 下简单实用的水印添加方法和注意事项。
水印的作用
我们为资料或文件添加水印,主要有两个目的:
-
最常见的目的是明确来源和版权,让材料的使用者很容易获知材料的创作者以及可用和可传播范围。如果材料的发布对象是公众群体,比如对外公开的信息或对内公开的信息,很适合添加版权方 Logo 、名称及版权信息。这种目的之下,主要起到告知和警示的作用。生活里常见的例子是微博图片可以添加博主ID,商业世界里比如企业发布的白皮书往往全程或在重要数据部分打水印。
- 除了声明版权所有,水印也可以明确目标使用者,对传播进行溯源。这种目的下一般会添加被授权者的相关信息,当在非正常渠道看到材料时,能够很容易获知材料的传播来源。如果材料的价值很高或非常敏感,往往会采用这种方式,随之带来的是水印添加成本的增加。工作里常见的例子是企业微信聊天窗口会有用户的姓名和电话尾号,商业世界里比如商业培训网站会在视频材料上打用户账号水印。
水印添加方法
明白了水印的作用,下面介绍简单的添加水印的方法。无需不可信软件,也无需付费软件,轻动手指,水印完成。
一般说来,用于发布的多为视频和文字材料,我们就不同材料分别来说。
视频资料
对于视频资料,我们介绍三种工具来添加水印,分别是iMovie
、剪映专业版
和 ffmpeg
,大家可以根据场景进行选择。
- 当视频颜色多样,需要较多人工干预和调整,或视频本身由
iMovie
或剪映专业版
制作而成时,使用这些软件进行精细化调整是非常合适的。 -
剪映专业版
横空出世之后,如果未来它依然是免费的,那么不要犹豫,让iMovie
寿终正寝吧,剪映在手,天下我有。 - 对于底色相对单一的成品视频,尤其是批量处理多个视频时,使用 ffmpeg 是快速有效的。
iMovie
iMovie 是一款 Mac 预装的上手简单的视频制作处理软件,因此它是一个很好的选择。可以用它添加图片水印,甚至视频水印。
主要思路是使用视频叠层设置,采用画中画的方式,将水印图片置于视频上层并调整到合适的位置,达到视频和图片同时显示的效果。
制作方法见视频,并不复杂。
实际上,iMovie 也可以用来添加文字水印,但由于其文字添加方式只有预置的几种字幕主题,并不能很好地支持文字水印的添加功能,因此我们只介绍图片水印的添加方式。
只是无论素材大小, iMovie 导出的文件一般都比较大,导出后还需要其他视频处理软件进行压缩,因此如果你不喜欢使用视频处理软件,我会推荐 剪映专业版
,如果你会一点 Shell 脚本,我会推荐 ffmpeg
。
剪映专业版
随着手机短视频的流行,剪映成为最火的视频处理软件之一,很开心也出了电脑版。
使用剪映制作水印,其思路和 iMovie 相同,操作也没有太大的区别,然而步骤简化了很多,更加亲民,几乎所见即所得,非常容易上手。因此,我认为此处无需额外的视频教学。
相较于 iMovie,这款软件有以下几大好处:
- 丰富的素材库,包括文本、贴纸、动画、特效等等
- 文本样式多,可以随心拖拽到合适的位置,所见即所得
- 文件导出速度快、压缩率高,但不影响视频的观看质量
因此,对单个视频的水印,使用剪映添加制作,是省时省力的。
ffmpeg
ffmpeg 是一款免费的跨平台的音视频处理软件,功能非常强大。不过安装后需要在命令行使用。
那么剩下的就很简单了,不用畏惧浩如烟海的 ffmpeg 的命令,我们用下面几条简单的命令就可以完成大部分添加水印的场景。
有哪些场景呢?
- 图片水印
- 文本水印
- 加很多水印
- 随机位置加水印
这些场景都会在下面的命令中都会覆盖到,大家看了想必会举一反三。
下面的命令都带有例子,套用即可。有些命令解释起来太费劲,所以不解释。大家有兴趣的话查查文档就明白了。
图片水印
- 将图片作为遮罩放在视频的某个位置
# command 1
ffmpeg -i input.mp4 -i watermark.png -filter_complex 'overlay={x}:{y}' output.mp4
# sample 1: 右下角
ffmpeg -i input.mp4 -i watermark.png -filter_complex 'overlay=main_w-overlay_w-10:main_h-overlay_h-10' output.mp4
# sample 2: 左下角
ffmpeg -i input.mp4 -i watermark.png -filter_complex 'overlay=10:10' output.mp4
- 如果想添加多个图片,那么多加输入水印和遮罩位置即可
# command 2
ffmpeg -i input.mp4 -i watermark1.png -i watermark2.png -filter_complex 'overlay={x1}:{y1},overlay={x2}:{y2}' output.mp4
# sample: 左上角加一个,右下角加一个
ffmpeg -i input.mp4 -i watermark1.png -i watermark2.png -filter_complex 'overlay=main_w-overlay_w-10:main_h-overlay_h-10, overlay=10:10' output.mp4
- 如果希望缩放图片,然后再作为水印添加
# command 3 分成两条命令执行
# 缩放图片命令如下,执行完之后调用 command 1 或 command 2
ffmpeg -i in.png -y -v quiet -vf scale={x}:{y} out.png
# Sample 1 长200像素,宽按比例缩放
ffmpeg -i in.png -y -v quiet -vf scale=200:-1 out.png
# Sample 2 长按比例缩放,宽200像素
ffmpeg -i in.png -y -v quiet -vf scale=-1:200 out.png
# command 4 一条命令搞定一切
# 当存在多个过滤器时,用 ";" 分隔
ffmpeg -i input.mp4 -i watermark.png -filter_complex '[1:v] scale={s1}:{s2}[tmp]; [0:v][tmp] overlay={x}:{y}' output.mp4
# sample: 将水印设置为宽100像素,放在右下角
ffmpeg -i input.mp4 -i watermark.png -filter_complex '[1:v] scale=100:-1[tmp]; [0:v][tmp] overlay=main_w-overlay_w-10:main_h-overlay_h-10' output.mp4
文本水印
文本水印的内容会更丰富一些,颜色、大小和透明度大概是必设的部分。其它属性参见ffmpeg-drawtext。
- 简单加个文本水印
# command 1:其中 alpha值为 0-1,越接近0透明度越高
ffmpeg -i input.mp4 -filter_complex "drawtext='fontsize={fontSize}:alpha={alpha}:fontcolor_expr={color}:text='\'text\':x={x}:y={y}" output.mp4
# Sample:
ffmpeg -i input.mp4 -filter_complex "drawtext='fontsize=40:alpha=0.15:fontcolor_expr=1972ba:text='\'Internal Only\':x=20:y=60" output.mp4
- 如果想加多个水印
# Sample: 多重复几次,给出不同的坐标
ffmpeg -i input.mp4 -filter_complex "drawtext='fontsize=40:alpha=0.15:fontcolor_expr=1972ba:text='\'Internal Only\':x=20:y=60, drawtext='fontsize=40:alpha=0.15:fontcolor_expr=1972ba:text='\'Internal Only\':x=120:y=360"" output.mp4
- 如果想在随机位置加水印
# 用 if 函数根据时间变量取不同的值,用 rand 函数在设置范围内计算随机位置
# x=if(eq(mod(t\,{internal})\,0)\,rand(w/6\,(w/2-text_w-0))\,x)
# Sample: 每隔 15 秒变换一次位置,位置为视频的上半部分区域的随机值
ffmpeg -i input.mp4 -filter_complex "drawtext='fontsize=40:alpha=0.15:fontcolor_expr=1972ba:text='\'Internal Only\':x=if(eq(mod(t\,15)\,0)\,rand(w/2\,(w-text_w-20))\,x):y=if(eq(mod(t\,15)\,0)\,rand(20\,(h/2-text_h-0))\,y)" output.mp4
到此为止,你已经能够搞定多数的视频水印需求了。 如果想全屏倾斜水印怎么办呢?其实也很简单,做一个这样的图片遮罩就可以了。
Slides 和文本资料
无论是 Slides(PPT,Keynote,Google Slides)还是文本资料(MS Doc,Pages, Google Doc),在对外传播时,大都会先行导出为 PDF 格式。因此,对这些材料的水印添加操作都可以转化为向 PDF 文件添加水印的操作。
相比直接制作 Slides 模板和文本模板,这种方式更为简单直接,不会影响创作过程,仅需要在发布和传播时进行操作。
主要思路是使用视频叠层设置,采用画中画的方式,将水印图片置于视频上层并调整到合适的位置,达到视频和图片同时显示的效果。
制作方法见视频,并不复杂。其主要思路是:
- 利用 Mac 自带的工具
Automator
制作打印机插件工作流 - 使用系统自带的打印机功能打印要添加水印的文件,并选择之前保存的工作流
相比于使用 Google Slides 或 Keynote 自带的导出 PDF 功能,这种方式的导出比例都是打印机纸张的比例,这里需要调整打印机纸张设置以匹配 Slides 的大小。
制作水印图片
以上写了这么多,你一定已经发现,诸多水印的添加都会依赖于水印图片。
水印图片区别于其他图片的一大特点在于:背景要透明。而主流截图工具很难做到这一点,那么这会是问题吗?
没错,不是问题!这里还有一种方便易学的水印制作方法,只需要用到两样工具,它们同样是 Mac 自带,绿色便捷无污染:Keynote
和 Preview
.
制作方法见视频,可谓是非常简单。其主要思路是:
- 使用 Keynote 布局文字和图片
- 选中文字和图片,复制到剪贴板
- 使用 Preview 的
从剪贴板新建
功能保存图片
舒适的水印
写到这里,方法和技巧就讲完了。最后聊一聊什么是好的、舒适的水印。
添加水印的目的是为了保障材料创作者的权益,但不能因此损失材料本身的价值,即有效地传递信息。假如水印遮挡了材料内容,影响读者获取到信息,那么它的存在就是错误的。因此,水印不宜喧宾夺主,要在承担自身职责的同时不影响材料本身的内容。
基于此,需要在两方面加以注意:
- 水印颜色
- 水印的颜色应与材料背景色有足够的色差,使水印能够很容易被看到
- 调整水印的透明度,以不影响文字或图片阅读,又能看到水印为宜
- 水印覆盖面
- 材料核心处应有水印,以达到保护商业秘密的目标
- 水印部分大小可以根据需要调节,少数大水印全面覆盖和多处小水印覆盖都是可以的
写在最后
保护知识产权有很多方法,技术上也有很多学者进行了探索和研究,数字水印、隐形水印都是为了避免商业信息泄露而研发和采用的高科技手段。
本文所述的水印添加方法适用面向特定群体公开的一般性材料,可以使用现有工具安全方便地添加,达到低成本大范围的对知识产权的保护,当然它的作用只能是体系中的一环,防君子不防小人,产权保护是个大话题,需要系统的设计和实施。