ffmpeg+水印效果走过的一些坑

Linux version 2.6.18-371.3.1.el5 ([email protected]) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-54))
默认安装的0.6.5版本,无法使用水印效果
=======================================================
ffmpeg组件0.9.1版本
单个图片,测试成功
ffmpeg -i boss.flv -vf "movie=left.png [watermark]; [in][watermark] overlay=10:10" output.mp4
单个色块,测试成功
ffmpeg -i boss.flv -strict -2 -vf "[email protected]:100x30 [c]; [in][c] overlay=main_w-110:10" right.mp4
单个图片+色块 测试(成功,但只能生效图片)
ffmpeg -i boss.flv -vf "movie=left.png [watermark]; [in][watermark] overlay=10:10;color=gray@1:100x30 [c]; [in][c] overlay=main_w-110:10" output111.mp4
单个图片(另一种语法),测试失败
ffmpeg -i boss.flv -i left.png -filter_complex overlay=main_w-overlay_w-10:main_h-overlay_h-10 output.mp4
多个图片,测试失败
转码+水印(包含单个色块),测试成功
ffmpeg -y -i in.flv -strict -2 -vf "color=gray@1:100x30 [c]; [in][c] overlay=main_w-110:10" -acodec libfaac -ab 64k -ar 44100 -vcodec libx264 -r 25 -level 30 -b 400k -maxrate 466k -minrate 288k -flags +loop -cmp 256 -partitions +parti4x4+parti8x8 -deblockalpha 2 -deblockbeta 1 -qcomp 0.6 -me_method 8 -subq 8 -trellis 1 -refs 3 -bf 2 -coder 1 -me_range 36 -g 250 -qmin 5 -qmax 38 -qdiff 4 -qscale 4.00 -qblur 0.5 -qcomp 0.5 -i_qfactor 0.5 -bufsize 1048k -threads 6 out.mp4
======================================================
ffmpeg组件1.2.1版本
单个图片(两种语法),测试成功
ffmpeg -i boss.flv -vf "movie=left.png [watermark]; [in][watermark] overlay=10:10" output.mp4
ffmpeg -i boss.flv -i left.png -filter_complex overlay=main_w-overlay_w-10:main_h-overlay_h-10 output.mp4
两块图片(可同一图片,不同位置),测试成功
ffmpeg -i boss.flv -i left.png -i left.png -filter_complex "overlay=5:5,overlay=x=W-w:y=5" left1.mp4
单个色块(注意语法和上面版本不一样),测试成功
ffmpeg -i boss.flv -vf "[email protected]:size=100x30 [over]; [in][over] overlay=5:5" right.mp4
单个图片+单个色块 测试(成功,但只能生效图片的遮标,色块的遮标生效不了)
ffmpeg -i boss.flv -i left.png -filter_complex "overlay=x=W-w:y=5" -vf "[email protected]:size=100x30 [over]; [in][over] overlay=5:5" output.mp4
单个色块两个位置,测试失败
ffmpeg -i boss.flv -vf "[email protected]:size=100x30 [over]; [in][over] overlay=main_w-110:10,overlay=10:10" right.mp4
转码+遮标两块图片,测试成功(这里的语法和上述版本也有不一样处)
ffmpeg -y -i in.flv -i left.png -i left.png -filter_complex "overlay=5:5,overlay=x=W-w:y=5" -acodec libfaac -ab 64k -ar 44100 -vcodec libx264 -r 25 -level 30 -b 400k -maxrate 466k -minrate 288k -flags +loop -cmp 256 -partitions +parti4x4+parti8x8 -qcomp 0.6 -me_method 8 -subq 8 -trellis 1 -refs 3 -bf 2 -coder 1 -me_range 36 -g 250 -qmin 5 -qmax 38 -qdiff 4 -qscale 4.00 -qblur 0.5 -qcomp 0.5 -i_qfactor 0.5 -bufsize 1048k -threads 6 out.mp4
 
总结:ffmpeg的兼容性不太好,如要使用特别要测试版本和官方文档的语法对照。

猜你喜欢

转载自fishtangtang.iteye.com/blog/2026414