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、使用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