一、前言
近期花了两周时间闭门啃硬骨头,主要就解决三个问题(音视频同步存储和推流、图片水印并将水印信息存储到文件或者推流、rtsp推流),这三个问题困扰了很多年,以至于找遍了网络和翻遍ffplay代码以及ffmpeg示例的代码,通过不下于上百次方案的调整和测试,几乎每次都是在接近崩溃的时候,灵机一动就成了,能存储成功基本上就能推流成功,毕竟推流就是将存储的文件地址改成推流地址就行。
在ffmpeg中除了编解码以外,滤镜应该就是第二强大的功能,纵观现在市面上各种视频处理软件中的特效,几乎都是底层用ffmpeg去处理的,因为ffmpeg中的滤镜处理可以从源头上解决问题,他可以直接应用好特效后更改帧数据,这样收到的帧就已经是带了特效的帧,意味着保存的时候也就是带了水印和特效的帧,当然滤镜越多占用CPU越高,一般不建议过多的特效,比如文字水印控制在4个,图片水印控制在2个,其中文字水印支持换行显示,对标vlc和mpv中的水印,也是固定支持2-4路,超过了也没有。文章来源:https://www.toymoban.com/news/detail-576974.html
很早以前就把ffmpeg中的文字水印搞定了,包括了各种方框图形、模糊滤镜等,唯独图片滤镜没搞定,单独用movie滤镜设置一个图片水印是可以的,但是和文字水印以及其他水印一组合,就歇菜了,导致所有水印失效,在avfilter_graph_parse_ptr会报错,其他的滤镜只需要将滤镜内容用逗号隔开就行,而图片滤镜就是不行,后面想着是不是要创建多个avfilter中的in来处理,也不行,而且也有点多余,查阅了各种资料,尤其是官网的信息,终于找到问题所在,原来一旦加了图文章来源地址https://www.toymoban.com/news/detail-576974.html
到了这里,关于Qt音视频开发47-文字和图片水印(可存储到MP4中)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!