ffmpeg利用libavfilter在视频中生成水印,替换原来的vhook方法,
Linux 环境下:
编译ffmpeg的时候记得加上 --enable-avfilter
完整的编译参数:
--enable-libx264 --disable-ffplay --enable-shared --enable-gpl --enable-pthreads --enable-libfaac --enable-postproc --enable-x11grab --enable-swscale --enable-nonfree --enable-avfilter --disable-mmx
在视频中加入水印
ffmpeg -i input.mp4 -s 640x360 -vf "movie=0:png:logo.png [wm];[in][wm] overlay=(main_w-overlay_w)/2:main_h-overlay_h:1 [out]" -b 512k -y output.mp4
水印logo.png将增加到视频底部中间位置,水印的位置由(main_w-overlay_w)/2:main_h-overlay_h:1来控制
Windows环境下:
先下载特点版本的ffmpeg,
在视频中加入水印方法
ffmpeg -i input.mp4 -vfilter "movie=0:png:logo.png [logo]; [in][logo] overlay=(mainW-overlayW)/2:(mainH-overlayH):1 [out]" -s 640x360 -pix_fmt yuv420p -ab 64K -b 200K output.mp4
这样生成水印版视频质量不是很好,有点模糊,可以参考我另一篇文章《FFMPEG生成高质量的h264编码视频》http://gudao8192.iteye.com/blog/903204
,只要将参数-vf "movie=0:png:logo.png [wm];[in][wm] overlay=(main_w-overlay_w)/2:main_h-overlay_h:1 [out]"
(这是linux下的命令,windows下请用相应命令)加入到第一条命令中即可