为了声明视频的原创性,防止别人抄袭搬运,很多时候我们会给视频资源添加水印进行版权保护。FFmpeg的滤镜模块支持给视频资源添加水印。这里就介绍一下如何通过FFmpeg库给视频资源添加图片水印。视频添加水印的流程如下图所示:

首先我们对原始视频文件进行解封装,分离出视频流和音频流。音频流不做处理直接输出到文件中。视频流解析之后,通过滤镜将解析出来的视频帧和图片数据进行组合拼接之后进行输出。将输出的音视频流进行封装之后输出的视频文件就携带了对应的图片水印。
定义水印滤镜
水印滤镜主要实现两个功能
1.对原始的图片尺寸进行缩放
2.将缩放后的图片和原始的视频帧进行组合
对应的滤镜实现如下所示:
//滤镜首先将图片缩放到50*50
//然后将缩放之后的图片放到原始帧的(15,15)的位置
const char *