FFmpeg中的滤镜(一):滤镜概念及命令规则

  1. 概述
    本文介绍libavfiter库提供的filter、sources、sink组件

  2. Filter介绍
    在ffmpeg框架中,滤镜(filter)功能通过libavfilter库实现。
    一个filter可以同时有多个输入和输出。以图为例:
    这里写图片描述
    图中的一系列操作共使用了四个filter,分别是
    splite:将输入的流进行分裂复制,分两路输出。
    crop:根据给定的参数,对视频进行裁剪
    vflip:根据给定参数,对视频进行翻转等操作
    overlay:将一路输入覆盖到另一路之上,合并输出为一路视频
    整个过程的命令为下图:
    这里写图片描述
    最终实现的效果是,视频的上半部分水平翻转,下半部分被覆盖,输出一个水平对称的视频。

    命令行分析:splite有两路输出,分别被标签标记为[main]和[tmp],在命令中,可以用这种形式来标记输入输出,在后面命令中,对被标记的输出进行引用。其中一路输出[tmp]作为输入传递给crop。crop的参数格式为w:h:x:y,其中w、h为输出视频的宽和高,x、y标记输入视频中的某点,将该点作为基准点,向右下进行裁剪得到输出视频。示例中crop的参数为iw:ih/2:0:0,iw、ih分别为输入流视频的宽和高,因此该参数表明,以原视频左上角为基准点,宽度不变,裁剪原视频的上半部分。从crop得到的输出被传递给vflip,vflip对输入做水平翻转处理,得到输出[flip]。然后将splite的另一路输出[main]和[flip]一起传递给overlay,其中第一个输入[main]为主流,第二个输入[flip]是副流,overlay根据参数指定的规

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值