参数排列方式
[输入流|标记名]滤镜参数[临时标记名];[输入流|标记名]滤镜参数[临时标记名]……
案例
给视频加图片水印
ffmpeg -i Christmas.mp4 -i app_logo.png -filter_complex "[1:v] scale=176:144 [logo];[0:v][logo]overlay=x=0:y=0" out.mp4
各参数的意义(猜想加验证):
-
i
:输入流,可以将-i
理解为设置输入流,后面跟的即为输入流 -
[1:v]
:即第二个视频流,v
应该就是视频的意思,这个作为scale
的输入流 -
[logo]
:scale
处理后的流标记 -
scale=176:144
:水印的大小 -
overlay=x=100:y=0
:控制水印的位置
[0:v][logo]overlay=x=0:y=0
-
[0:v]
:索引为0
的那路流 -
[logo]
:标记了缩放后的那路流,把[logo]
覆盖到[0:v]
上,其中[logo]
为缩放后的临时标记名 -
x=100:y=0
属性的设置,用冒号隔开
官方直言:The overlay filter requires exactly two video inputs
,也就是overlay
需要两个明确的视频输入流
修改该参数,对比
ffmpeg -i Christmas.mp4 app_logo.png -filter_complex "[1:v] scale=176:144 [logo];[0:v][logo]overlay=x=100:y=0" out.mp4
给视频加文字水印
1 尝试一下
ffmpeg -i Christmas.mp4 -vf "drawtext=fontsize=100:fontfile=撒盐体.ttf:text='圣诞快乐':x=20:y=20" output.mp4
2 修改水印的颜色
ffmpeg -i Christmas.mp4 -vf "drawtext=fontsize=10:fontfile=撒盐体.ttf:text='圣诞快乐':x=20:y=20:fontcolor=green" -y output-green.mp4
3 设置标题
ffmpeg -i Christmas.mp4 -title="简单即快饿了" -vf "drawtext=fontsize=10:fontfile=撒盐体.ttf:text='圣诞快乐':x=20:y=20:fontcolor=green" -y output-green.mp4
网友评论