ffmpeg下libavfilter的安装配置以及利用实现添加水印

http://blog.tianya.cn/blogger/post_read.asp?BlogID=2015543&PostID=18998434

水印又叫作"watermark"
  以前ffmpeg使用-vhook来调用某个库实现水印添加.后来被废弃.现在添加了-vfilters参数调用libavfilter库来添加水印.但是这个库一直到本文发表的时候文档以及安装方法都不是很完善.
  首先要先获得libavfilter
  因为,直接从ffmpeg的download页面下载的ffmpeg是不能编译出-vfilters参数的.有了-vfilters参数我们才能得到使用filter的机会.添加水印就是把影片加上一副图片么.当然所添加图片的背景色需要去掉,只留下图片的图案和字那是最完美的.不过这里先只说如何加上一附图片.至于去掉背景色先不说了.因为我还没有弄出来.
  要想使用filter需要先下载SoC版本的libavfilter,这个下好后里边有一个checkout.sh脚本.脚本的内容很简单.主要就是下载特定版本的ffmpeg并且打补丁等等.
  SoC版libavfilter下载方法:
  svn checkout svn://svn.mplayerhq.hu/soc/libavfilter 
  
  得到libavfilter之后进入这个目录执行checkout.sh脚本.执行完毕libavfilter里边就有了ffmpeg目录了..进入ffmpeg然后编译:
  ./configure --enable-avfilter --enable-avfilter-lavf
  
  --enable-avfilter和 --enable-avfilter-lavf两个参数都要加,尤其是加水印需要用到movie filter,这个就需要加上--enable-avfilter-lavf才能激活.而前一个libavfilter的README文档是教程要求加的.
  
  剩下的就是make/make install了.
  
  下面说说如何使用:
  这个文档不多.可以说搜索就找不到文档(在我学习如何使用的时候就是这样子.包括外文文档,我用的是google)
  最详细的文档都在SoC版本的libavfilter里变呢,里边有README文档和doc目录.
  README主要讲解安装,doc目录主要是一些用法,用法讲解的比较简单.其实不够详细.再就是从网络上搜索各种用法了.也可以看看libavfilter库的那些源代码.
  只说一种粗糙地加水印的方法:
  
  用in.avi作为输入视频,out.avi作为输出视频,pp.png表示要添加的水印图片,是png格式的,
  调整水印大小(scale = 50:50)和位置(overlay=0:0)
  
  $ ffmpeg -i in.avi -s 240x320 -vfilters "movie=0:png:pp.png, scale = 50:50 [over1], [in] [over1] overlay=0:0 [out]" out.avi
  
  好就到这里.唯一遗憾就是就是水印图片的背景色没有去除,看起来很粗糙.这一部分也许我以后会补上

猜你喜欢

转载自wangxiaoxu.iteye.com/blog/1985222