ffmpeg加水印

一、ffmpeg加水印命令,主要从直播和视频文件加水印
1)直播推流加水印示例
ffmpeg -i rtmp://localhost/live/name  -vf "movie=/path/2.png [watermark]; [in][watermark] overlay=10:10 [out]" -c:v libx264 -c:a copy -f flv rtmp://locahost:1936/live/name   
2)视频文件夹水印命令

ffmpeg -i input.avi -vf "movie=logo.png [logo]; [in][logo] overlay=10:10 [out]" output.avi

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

二、ffmpeg水印参数说明ffmpeg水印参数说明
 
 
 关于更多的参数可以参考ffmpeg官网filter的描述:https://ffmpeg.org/ffmpeg-filters.html 

三、加水印可能遇到的问题

1)水印位置

 
2)视频码率降低

上面加水印后发现视频画面变差,后来对比发现是因为编码方式变了

原来的编码格式

加水印后的编码格式音频编码格式adpcm_swf,视频编码flv1。水印前编码格式是aac和h264

原来的水印指令没有带“-c:v libx264 -c:a copy”这两个参数导致的

ffmpeg -i rtmp://localhost/live/name  -vf "movie=/path/2.png [watermark]; [in][watermark] overlay=10:10 [out]"-f flv rtmp://locahost:1936/live/name  

解决办法:转成和之前同样的编码格式,音频流直接copy。或者也可以加上-b码率和原始视频试试看 

例如我的这个加上“-c:v libx264 -c:a copy 参数后,对比图

3)转264的时候编译的ffmpeg必须支持x264

         否则 加-c:v libx264参数的时候可能会报错Unknown encoder 'libx264' 

         解决办法:先安装x264的库,然后在编译的时候加上./configure --enable-libx264


注意:1)水印视频必须要重新编码"-c:v libx264",音频流直接"-c:a  copy"

         2) -vcodec copy -acodec copy好像2.x版本以后可以直接简写成-c copy 

             -vcodec -c:v copy表示视频流可以直接copy

         3)加-c copy会报Filtering and streamcopy cannot be used together.注意不要加-c copy

4)注意水印图片的尺寸大小不能大于视频尺寸,要不然水印会全部覆盖。以上视频尺寸800x432,水印尺寸196 × 106


--------------------- 
作者:思心  
原文:https://blog.csdn.net/wu5215080/article/details/81018953 
 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值