ffmpeg filter功能扫盲

ffmpeg filter功能扫盲

simple filtergraph只有一个输入和输出,ffmpeg命令行中使用-vf、-af识别在这里插入图片描述
complex filtergraph,通常是具有多个输入输出文件,并有多条执行路径;ffmpeg命令行中使用-lavfi、-filter_complex在libavfilter, 一个filter可以包含多个输入、多个输出。
在这里插入图片描述
在这里插入图片描述
ffmpeg -i INPUT -vf “split [main][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip]; [main][flip] overlay=0:H/2” OUTPUT
ffmpeg -i A.avi -i B.mp4 -i C.mkv -filter_complex “[1:v]hue=s=0,split=2[outv1][outv2];overlay;aresample”
-map ‘[outv1]’ -an out1.mp4
out2.mkv
-map ‘[outv2]’ -map 1🅰️0 out3.mkv

在这里插入图片描述
Filter语法:
[input_link_label_1][input_link_label_2] …
filter_name=param_name1=param_value1:param_name2=param_value2
[ouput_link_lable_1][output_link_label_2]…
[input_link_label_X] :指以 label 标识的Filter的输入,label可以随意命令,它是可选的,可以有多个,用方括号分隔;
filter_name : 是fliter的名称, 必须有;它的参数是可选 的,以":“分隔或”+“号,可以有参数名,也可以没有
[output_link_label_X] : 指以 label 标识的Filter的输入,label可以随意命令,它是可选的, 可以有多个,用方括号分隔;
没有音频、视频输入的filter称为source filter;
没有音频、视频输出的filter称为sink filter。
ffmpeg -i video.avi -filter_complex ‘extractplanes=y+u+v[y][u][v]’ -map ‘[y]’ y.avi -map ‘[u]’ u.avi -map ‘[v]’ v.avi
这个抽取视频Y、U、V分量的filter,就有三个输出,分别是 [y][u][v], 抽取后,将不同的输出保存到不同的文件中;
例如:ffmpeg -i video.avi -vf ‘delogo=x=0:y=0:w=100:h=77:band=10’ output.avi
filterchain语法
filter1,filter2,…
它是多个filter的组合,以逗号分隔;并且每个filter是输入是前一个filter的输出;
ffmpeg -i audio.aac -filter_complex “aresample=async=16000,adelay=316397,volume=1.0” -acodec libfdk_aac -y output.mp4
这里用到了三个filter,分别的aresample, adelay, volume, 组成一个filterchain;
3.3 filtergraph的语法
filterchain1;filterchain2;…
它是多个filterchain的组合,以分号”;"分隔,
例如:
ffmpeg -i INPUT -filter_complex “split [main][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip]; [main][flip] overlay=0:H/2” OUTPUT
这里用到了三个filterchain, 分别是:
split [main][tmp]; // 它只有一个filter,即 split; 它有一个默认的输入,即INPUT解码后的frame;
有两个输出, 以 [main], [tmp] 标识;
[tmp] crop=iw:ih/2:0:0, vflip [flip] // 它由两个filter组成,即crop和vflip;一个输入 [tmp], 一个输出[flip];
[main][flip] overlay=0:H/2 // 它由一个filter组成,即overlay, 有两输入,分别是[main][flip], 一个默认的输出;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值