【FFmpeg实战】ffmpeg 截图,水印操作

转载自原文地址:https://www.cnblogs.com/zjchao/articles/14098202.html

1.添加水印——movie过滤器:

ffmpeg -i inputfile -vf “movie=masklogo,scale= 60: 30[watermask]; [in] [watermask] overlay=30:10 [out]” outfile

参数说明:

marklogo:添加的水印图片;

scale:水印大小,水印长度*水印的高度;

overlay:水印的位置,距离屏幕左侧的距离*距离屏幕上侧的距离;mainW主视频宽度, mainH主视频高度,overlayW水印宽度,overlayH水印高度

左上角overlay参数为 overlay=0:0

右上角为 overlay= main_w-overlay_w:0

右下角为 overlay= main_w-overlay_w:main_h-overlay_h

左下角为 overlay=0: main_h-overlay_h

上面的0可以改为5,或10像素,以便多留出一些空白。

example:ffmpeg -y -i record.mp4 -vf "movie=d\:mark.jpg,scale=60:-1[watermark];[in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10[out] " output_image/output.mp4

2.添加水印——合流

ffmpeg -i input -i logo -filter_complex ‘overlay=10:main_h-overlay_h-10’ output

input:输入流

logo:水印文件,也可以是一个流。注意:需要编译时把相应的解码器编译。例如PNG图片。需要编译PNG解码器。Ffmpeg才能够识别图片文件,把图片做为一 种流。注意:PNG图片必须含有alpha通道。Overlay过滤器是根据alpha通道来进行复盖的。所以,你想要透明效果时,须先制做一张透明的PNG图片。

output:输出流

也可以用下面命令: ffmpeg -i input -vf ‘movie=long.png[logo];[in][logo]overlay=10:10[out]’ output ,movie过滤器用来把两个流组合成一个流。它有一个输出PAD。

2.1 添加文字水印

​ 左上角参数为 x=10:y=10

右上角为 x=w-text_w:y=0

右下角为 x=w-text_w:y=h-line_h

左下角为 x=0:y=h-line_h

# 添加普通水印

ffmpeg -y -i /opt/transcode/input/record.mp4 -vf "drawtext=fontfile=DejaVuSans.ttf:text=抖音:x=10:y=10:fontsize=24:fontcolor=white:shadowy=2" /opt/transcode/output/output.mp4
#添加滚动水印
ffmpeg -i https://www.qipa250.com/Video/qipa250.mp4 -vf "drawtext=fontfile=/data/web/qipa250/static/font/big.ttf: text='欢迎来到门店涨直播间': y=h-line_h-10:x=(mod(2*n\,w+tw)-tw):fontsize=34:fontcolor=yellow:shadowy=2"  qipa250_wenzi.mp4


添加底部中间水印
ffmpeg -i https://www.qipa250.com/Video/qipa250.mp4 -vf "drawtext=fontfile=/data/web/qipa250/font/big.ttf:text='欢迎来到奇葩天地网':y=h-line_h-20:x=(w-text_w)/2:fontsize=34:fontcolor=yellow:shadowy=2"  qipa250_wenzi.mp4

3. 截图以及其他命令

从视频文件中提取声音文件: ffmpeg -i xxx.mp4 -vcodec copy xxx.aac

提取视频文件:ffmpeg -i xxx.mp4 -vcodec copy -an output.mp4

视频文件裁剪: ffmpeg -threads 2 -i xxx.mp4 -ss 00:00:20 -t 20 out.mp4

原mp3文件裁剪:  ffmpeg -i source_mp3.mp3 -ss 00:01:12 -t 00:01:42 -acodec copy output_mp3.mp3

音视频合成命令 ffmpeg -i video2.avi -i audio.mp3 -vcodec copy -acodec copy output.avi
   ffmpeg -i video2.avi -i audio.mp3 output.avi

视频转GIF: ffmpeg -i input.mov -r 10 output.gif

裁剪尺寸: 将原视频缩小一半,并裁剪画面正中的正方形区域
ffmpeg -i input.mov -vf scale=iw/2:-1,crop=ih output.mp4
scale=width:height iw/ih 表示输入宽度/高度 -1 表示按输入尺寸等比自动计算
crop=width:height❌y x:y 指定裁剪的左上角位置,默认值为 (in_w-out_w)/2 和 (in_h-out_h)/2,即输出视频为原视频的中央区域

加速/减速视频: ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=0.5PTS[v];[0:a]atempo=2[a]" -map “[v]” -map “[a]” output.mp4
setpts=0.5
PTS 中的 0.5 是视频速度放慢一半
atempo=2 中的 2 是相对应的音频速度(=1/视频速度)

音频淡入/淡出 : 前 3 秒淡入,最后 3 秒淡出
ffmpeg -i input.mov -af afade=t=in:st=0:d=3,afade=t=out:st=13:d=3 output.mov

视频截图
每秒输出一张图: ffmpeg -i input.mov -vf fps=1 -q:v 2 output%03d.png
输出第 10 秒的截图:ffmpeg -i input.mov -ss 00:00:10 -vframes 1 output.jpg
每秒截图,大小为原视频的一半,输出一张 10x3 的网格图: ffmpeg -y -i input.mp4 -vf “fps=1,scale=iw/2:-1,tile=10x3” -an output.jpg

ffmpeg -y -i record.mp4 -ss 1:00 -vframes 1 -s 1080x768 output_image/image.jpg
 
 
ffmpeg -y -i record.mp4  -s 1080x768 -vf fps=1/n  output_image/image%3d.jpg
 
$cmd = ffmpeg  -y -i record.mp4 -vf "fps=1/5,scale=iw/2:-1,tile=10x3" -an  output_image/image.jpg
 
 
 
ffmpeg -y -i record.mp4  -s 352x240 -vf fps=1/5 -q:v 2  output_image/image%3d.jpg
 
水印模板
 
 
ffmpeg -y -i record.mp4 -vf "movie=d\\:mark.jpg,scale=60:-1[watermark];[in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10[out] " output_image/output.mp4

ffmpeg -i https://www.qipa250.com/Video/qipa250.mp4 -vf “drawtext=fontfile=/data/web/qipa250/static/font/big.ttf: text=‘欢迎来到门店涨直播间’: y=h-line_h-10:x=(mod(2*n,w+tw)-tw):fontsize=34:fontcolor=yellow:shadowy=2” qipa250_wenzi.mp4

  >>> 音视频开发 视频教程: https://ke.qq.com/course/3202131?flowToken=1031864 
  >>> 音视频开发学习资料、教学视频,免费分享有需要的可以自行添加学习交流群 739729163 领取
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值