完整命令行如下,ffmpeg -y -i input.flv -acodec copy -b 300k -vfilters “movie=0:png:watermark.png [wm];[in][wm] overlay=5:5:1 [out]” output.flv
-y 表示有同名的output.flv存在时不提示,直接覆盖
-i input.flv 表示要进行水印添加处理的视频
-acodec copy 表示保持音频不变
-b 300k 表示处理视频的比特率,用-vcodec copy时报错,使用其他工具获取到原始视频比特率后加到这里,保持比特率基本不变,不然默认为200k,视频有损。
output.flv 处理后的视频
-vfilters “…” 中间便是水印处理参数,重要的是overlay=后面的部分,第一个参数表示水印距离视频左边的距离,第二个参数表示水印距离视频上边的距离,第三个参数 为1,表示支持透明水印。使用透明的png图片进行视频编码后,成功获得带透明水印的视频,并且画质也比较好。
Top left corner
ffmpeg –i inputvideo.avi -vf “movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]” outputvideo.flv
Top right corner
ffmpeg –i inputvideo.avi -vf “movie=watermarklogo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out]” outputvideo.flv
Bottom left corner
ffmpeg –i inputvideo.avi -vf “movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]” outputvideo.flv
Bottom right corner
ffmpeg –i inputvideo.avi -vf “movie=watermarklogo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10 [out]” outputvideo.flv
有一篇-vfilters参数使用的文章可供参考,其中还例举了如何同时加入2个水印到画面不同位 置,http://www.techenigma.com/2010/05/ffmpeg-watermark-video-without- vhook-solution/。
ffmpeg -y -i sample.avi -vfilters “movie=0:png:watermark.png [wm];[in][wm] overlay=10:mainH-overlayH-10:1 [out]” -b 100k -ar 44100 -ab 24k -f flv -s 320×240 -acodec libmp3lame -ac 1 samplewithwater.flv
Which converted from AVI to FLV and added watermark. i‘ve included a couple of examples below for just adding the watermark.
Example 1 – insert transparent PNG watermark in bottom left corner of the video:
-vfilters “movie=0:png:logo.png [wm];[in][wm] overlay=10:mainH-overlayH-10:1 [out]”
Notice the last parameter to overlay “:1″ – this enables alpha blending.
Example 2 – insert 2 different transparent PNG watermarks (second watermark on bottom right corner):
-vfilters “movie=0:png:logo.png [wm];movie=0:png:logo2.png [awm];[in][wm] overlay=10:mainH-overlayH-10:1 [int];[int][awm] overlay=mainW-overlayW-10:mainH-overlayH-10:1 [out]”
You could chain and add more overlays this way but the efficiency of such approach is yet to be tested.
待解问题:H264/x264编码的flv经过上述ffmpeg加水印处理后变成了H263编码,即普通的flv编码,可能处理参数加的不对或是不全,或者就应该对普通flv和H264/x264编码的视频分别处理,后续再进一步测试想办法解决。
相关推荐
本人实现的java调用开源ffmpeg视频格式转换命令进行视频格式转换并加透明水印例子。下载后将资源放在d盘根目录下,直接运行main方法即可。
图片水印,设置透明度,宽度。水印文字和图片
java调用ffmpeg添加水印并且转换视频,代码中并没有判断哪些格式支持,那些不支持,mpg,mp4,avi,wmv基本都可以(传入格式),转换为flv avi mp4起码都没问题,其它的没事过ffmpeg是开源的支持的挺多的 补充:时间算错了,...
最简单的基于FFmpeg的AVFilter例子(叠加水印).zip
C# directShow 视频加水印,用C# 调用directshow给视频添加Logo,水印等
个人关于ffmpeg中添加水印的命令以及详细说明
ffmpeg不用filter添加水印,手动处理AVFrame内存数据,达到添加水印的目的
ffmpeg 支持水印ffmpeg 支持水印 ffmpeg 支持水印
王纲老师的录制视频的代码部分,在我的机器上还多少有些问题,不知是视频文件还是FFMPEG的问题。
用的水印方案无法直接运用于该视频压缩标准。提出了一种利用运动矢量的区域特性来隐藏水印信息的视频水 印方案,该算法的最大特点为简单、实用,并且在隐藏水印信息的过程中还可以降低H1264编码中运动估计部分的 运算...
FFMPEG采集摄像头图像数据 SDL图像渲染 avfilter库处理时间水印 MP4格式视频保存 Linux下FFMEPG应用
基于ffmpeg调用摄像头并通过sdl显示,加上了时间戳水印。其中摄像头名称记得改成自己的
之前有人反馈之前上传的下载不了,我再次上传一次,如果有问题及时给我发邮件,或者可以关注一下我,给我发私信,咱们互相学习!(android端代码,FFmpeg实现为视频加水印, 邮箱:1213236113@qq.com)
支持水印... 操作方法见http://www.cnblogs.com/jinghao/archive/2012/06/16/2552095.html
最简单的基于FFmpeg的AVFilter例子 ,本程序使用FFmpeg的AVfilter实现了水印添加功能。
ffmpeg音视频处理 直播水印culinary开发进阶C++/C视频教程全套 FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整...
本例子为引用雷霄骅博士《最简单的基于FFmpeg的AVfilter例子(水印叠加)》例子,进行了改进。(原例子对解码后的帧没有做swscale处理,导致有些宽度不是32的整数倍的视频解码后花屏。本例子在原例子的基础上针对...
因此特地制作了一个基于FFmpeg中的AVFilter的简单的水印叠加器。 本程序使用FFmpeg的AVfilter实现了视频的水印叠加功能。 可以将一张PNG图片作为水印叠加到视频上。 是最简单的FFmpeg的AVFilter方面的教程。 适合...
ffmpeg是一个强大的视频处理软件(控制台程序),可以通过C# 调用ffmpeg,并传入指令参数,即可实现视频的编辑。 功能添加水印,去除水印,快进快退,截取图片 转向
ffmpeg最简单的水印代码