ffmpeg 视频加水印

ffmpeg为视频添加水印watermark【转加补充】

想为视频添加水印,可是好多共享软件都要收费,也不是命令行方式。
google上找了半天,在一个国外的论坛看到ffmpeg,我想可能有门,因为ffmpeg是用来格式转换的,顺便添加一下水印也不是不可阿。
然后到ffmpeg的网站在hooks页面找到了关于watermark的信息。
通过调用
$ ffmpeg -i infile -vhook ‘/path/watermark.so -m 1 -f watermark.gif’ -an outfile
就可以将watermark添加到infile对应的视频文件了。
其中-i 对应输入文件,watermark.so的路径要注意填写正确。
-m用来指定工作模式,这里设置为1,表示如果watermark对应图片的像素颜色如果比-t指定的临界值大,则采用watermark对应像素颜色。
-f为水印图片对应的路径(注意采用png图片效果较好)
-an为输出文件名称
我本地上的命令为:
$ffmpeg -i /home/erlang/1.wmv -vhook ‘/usr/lib/vhook/watermark.so -m 1 -f logo.png’ test_1.mpg
处理完成后,查看test_1.mpg 我们的水印已经打进去了!
是不是发现水印图片被拉伸了,呵呵,最后提醒的是,水印图片要于视频的尺寸一直,这样才能保证水印不被拉伸!
比如我的视频尺寸为320*240则我的水印图片尺寸也要如此
 
-----------------------------------
注意点:
1:千万要主意路径权限
2:图片一定要和视频一样大,背景用透明即可
模块watermark.so是ffmepg自带的;解压后在vhook目录下;
有3个参数-m -t -f:
-f是必须的;
-t是水印图片的颜色的掩码
详细的参数说明可以参考这个文件vi /opt/software/ffmpeg/ffmpeg/vhook/watermark.c
-m 1 -t 222222 可以不用
用了图像就被水印文件的颜色给覆盖了
其实-m 和 -t 还是有用的
通过调这两个参数可以控制水印和图像本身的对比关系;
而且jpg图片本身是有要求的,不是所有的都能加上。
 
linux =====================================================================>>

1、使用ffmpeg 视频添加水印(logo)。在视频行业已经工作了两年多了,最近抽时间把一些处理视频的方法和经验写下来,一来做个记录,二来分享一下一起学习进步。

ffmpeg -i D:\input.mpg -sameq -vhook "imlib2.dll -x 10 -y 10 -i c:\logo.png" -ar 22050 c:\11.mpg

3个参数分别是 输入文件、logo文件、和输出文件。logo一定得是png图片。

dll 库在附件中可以下载到(imlib2.dll )

2、wmv转码,使用的软件是window自带的WMEncoder进行转码工作的。

转码方式:

cscript.exe wmcmd.vbs -input C:\input.mpg -output D:/d.wmv  -loadprofile E:\wmv.prx

转码参数(码率等) 在wmv.prx里面,呢 可以通过可视化编辑就行修改。

3、mencoder 转mp4 文件

mencoder.exe -sws 3 -oac lavc -ovc lavc -of lavf -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:vbitrate=300 -lavcopts acodec=libfaac:abitrate=32 -af lavcresample=16000 -vf harddup,scale=320:-10,unsharp=l3x3:0.7,expand=320:240 -ofps 15 -lavfopts format=psp -srate 16000  -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames C:\input.mpg -o D:/m1.mp4

4、mecoder 转 flv

mencoder.exe -sws  2 -of lavf  -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc
-lavcopts vcodec=flv:vbitrate=700:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=3:vb_strategy=1 -vf scale=420:-3 -ofps 12
-lavfopts i_certify_that_my_video_stream_does_not_use_b_frames z:\input.mpg -o D:/out.flv

5、

ffmpeg 转mp4
ffmpeg  -y  -i input.wmv  -f mp4 -async 1-s 480x320  -acodec libfaac -vcodec libxvid  -qscale 7 -dts_delta_threshold 1 output.mp4

相关推荐