前言

ffmpeg 作为一个数一数二的视频转码程序,有很多基本的操作可以用ffmpeg进行操作。之前我已经提过了很多基础用法了。

ffmpeg 多分辨率切片

ffmpeg快速无损合并两个视频文件bash脚本

ffmpeg MP4 高清视频压制参数H.264格式,文件大小只需50%

在一些特殊的场景中需要给一些视频资源添加水印标识视频所有权,这样能有效降低别人盗取视频的几率,即使被别人盗取也能让观众了解到自己的存在。

如今自媒体从业者众多,各种偷盗视频的现象层出不穷,加个水印还是有用处的。

图片水印

直接先上代码再一一解释

ffmpeg -i test.mp4 -vf "movie=2demo_top.png[watermark];[in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10[out] " output.mp4

-i test.mp4  #输入test.mp4文件

-vf #添加滤镜

2demo_top.png #待添加的图片水印

overlay=x:y #水印的所处位置可以是相对数值也可以是具体的,先X轴后Y轴。

main_w/h #视频宽度/高度

overlay_w/h #水印宽度/高度

#整个命令就是给test.mp4 的右下角添加2demo_top.png的水印,下间距和右间距10PX

另外一种方式

ffmpeg -i test.mp4 -i 2demo_top.png -filter_complex 'overlay=main_w-overlay_w-10:main_h-overlay_h-10' output.mp4 这两种不能混用

文字水印

ffmpeg -i test.mp4 -vf "drawtext=fontfile=simhei.ttf: text=‘2demo.top 从入门到跑路’:x=10:y=10:fontsize=24:fontcolor=white:shadowy=2" output.mp4
可以设置文字字体文件:simhei.ttf
水印位置
字体大小:fontsize=24
字体色彩:fontcolor=white
文字阴影:shadowy=2

注意事项:如果需要多行文字水印或者是图片文字水印都有这种情况可以通过PS先做一个透明背景的水印图片,纯文字可以考虑利用内嵌字幕的形式。

特定时间水印

特定时间水印其实只需要限制一下水印位置即可。例如前30秒水印可以通过

overlay=x=if(lt(t\,30)\,10\,NAN ):y=10

其实想要什么效果完全可以先用一个简单的小视频实际操作实验一番,达到自己想要的效果之后再进行正式业务才是最快的。