确定目标
最近项目新需求,需要给视频和图片后向添加水印,而前向的添加直接在surfaceview中添加水印相关的bitmap,让每一帧都有水印,然而后向添加一时不知如何处理,所以开始寻找后向添加水印的方式.
了解分析
通过google百度,了解到ffmpeg开源框架有处理图像音频视频的能力,当然项目时间紧,只能先过一遍拿来就用,所以开始深入查询相关库,开始是ffmpeg-Android,封装到位,通过demo试错,无奈视频加水印时间太长,2s视频需要10分钟,完全不能忍.几经周折,后面发现了下面博客
,通过博客给的demo,速度可以接受,只需要修改封装成相关库即可
实践
有了上面那位的详细介绍,并且还提供了github上的地址,所以也就直接使用.但是提供的仅仅只是一个demo,还是需要修改一下的.
封装过并针对水印功能做了so size裁剪,可以在项目中直接使用.
https://github.com/callmeli/ffmpeg-jni
坑点
- 视频的尺寸和图片水印的大小位置不符
水印通过尺寸比列重建bitmap,位置通过视频的宽高