ffmpeg学习:滤镜(实现视频缩放,裁剪,水印等) -

一.滤镜

滤镜可以实现多路视频的叠加,水印,缩放,裁剪等功能,ffmpeg提供了丰富的滤镜,可以使用ffmpeg -filters来查看: 
Filters: 
T.. = Timeline support 
.S. = Slice threading 
..C = Command support 
A = Audio input/output 
V = Video input/output 
N = Dynamic number and/or type of input/output 
| = Source or sink filter 
T.. adelay A->A Delay one or more audio channels. 
… aecho A->A Add echoing to the audio. 
… aeval A->A Filter audio signal according to a specified expression. 
T.. afade A->A Fade in/out input audio. 
… aformat A->A Convert the input audio to one of the specified formats. 
… ainterleave N->A Temporally interleave audio inputs. 
… allpass A->A Apply a two-pole all-pass filter. 
… amerge N->A Merge two or more audio streams into a single multi-channel stream. 
… amix N->A Audio mixing. 
… anull A->A Pass the source unchanged to the output. 
T.. apad A->A Pad audio with silence. 
… aperms A->A Set permissions for the output audio frame. 
… aphaser A->A Add a phasing effect to the audio. 
… aresample A->A Resample audio data. 
… aselect A->N Select audio frames to pass in output. 
… asendcmd A->A Send commands to filters. 
… asetnsamples A->A Set the number of samples for each output audio frames. 
… asetpts A->A Set PTS for the output audio frame. 
… asetrate A->A Change the sample rate without altering the data. 
… asettb A->A Set timebase for the audio output link. 
… ashowinfo A->A Show textual information for each audio frame. 
… asplit A->N Pass on the audio input to N audio outputs. 
….. 
这里只是列出其中一小部分,可见ffmpeg提供了非常丰富的滤镜。

滤镜的几个基本概念


Filter:代表单个filter
FilterPad:代表一个filter的输入或输出端口,每个filter都可以有多个输入和多个输出,只有输出pad的filter称为source,只有输入pad的filter称为sink
FilterLink:若一个filter的输出pad和另一个filter的输入pad名字相同,即认为两个filter之间建立了link
FilterChain:代表一串相互连接的filters,除了source和sink外,要求每个filter的输入输出pad都有对应的输出和输入pad

splite:将输入的流进行分裂复制,分两路输出。
crop:根据给定的参数,对视频进行裁剪
vflip:根据给定参数,对视频进行翻转等操作
overlay:将一路输入覆盖到另一路之上,合并输出为一路视频

Filter:代表单个filter 
FilterPad:代表一个filter的输入或输出端口,每个filter都可以有多个输入和多个输出,只有输出pad的filter称为source,只有输入pad的filter称为sink 
FilterLink:若一个filter的输出pad和另一个filter的输入pad名字相同,即认为两个filter之间建立了link 
FilterChain:代表一串相互连接的filters,除了source和sink外,要求每个filter的输入输出pad都有对应的输出和输入pad 
**FilterGraph:**FilterChain的集合 
经典示例: 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值