ffmpeg过滤器简介

ffmpeg里的过滤器功能是通过libavfilter库实现的。

在libavfilter中,一个过滤器可以有多个输入或多个输出。为了说明可能的情景,我们先看下面的示意图。

如图所示,input流通过split复制成两个流([main],[tmp]),然后其中一个通过crop和vflip过滤器,在合并前与另一个流叠加。你可以使用下面的命令来实现这一目标:

ffmpeg -i INPUT -vf "split [main][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip]; [main][flip] overlay=0:H/2" OUTPUT

该命令处理后,视频的图像变成上半部分的镜像效果。例如:

在同一个线性链的过滤器用逗号分隔,不用的线性链用分号分离。

在上面的例子中,crop和vflip在同一个线性链中,而split和overlay分开在另一个。

在线性链的交汇处使用了标签,用方括号标识。

在上面的例子里,split过滤器生成两个输出,分别用标签[main]和[tmp]标识。名为[tmp]的流先经过crop的处理,剪切掉下半部分图像,然后通过vflip将图像翻转。overlay将标签为[flip]的流(经过crop和vflip处理)叠加到未经处理的流[main]的下半部分。

一些过滤器在输入一个参数列表:他们指定过滤器的名字和一个等号后,并由冒号分开。

存在所谓的源过滤器,没有一个音频/视频输入,和水槽过滤器没有音频/视频输出。

时间: 2024-11-11 06:30:20

ffmpeg过滤器简介的相关文章

.Net Core MVC中过滤器简介

原文:.Net Core MVC中过滤器简介 在.Net Framework MVC 中有四种过滤器,授权过滤器(Authorize).Action 过滤器.结果过滤器(Result).异常过滤器(Exception)四种过滤器.在.Net Core MVC中,有五种过滤器,授权过滤器.Action过滤器.异常过滤器.结果过滤器.资源过滤器,新增了资源过滤器. .Net Core MVC和.Net Framework MVC在基本使用上差别不大,主要的还是框架的差别.其中路由是个很重要的东西,参

ffmpeg 模块简介

FFmpeg 是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.它包括了领先的音/视频编码库libavcodec 等.libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能:音视频的格式解析协议,为libavcodec 分析码流提供独立的音频或视频码流源.libavcodec:用于各种类型声音/图像编解码:该库是音视频编解码核心,实现了市面上可见的绝大部分解码器的功能,libavcodec 库被其他各大解码

过滤器简介--学习笔记

a)Filter是SUN公司提供的一个资源过滤器接口,不同的Web容器有着不同的实现b)Filter位于Web服务器和Web资源(Servlet/Jsp/Html)之间c)过滤请求和响应二者d)Filter可以进行简单判段,是否将请求放行给Web资源e)Filter的开发过程: >类 implements javax.servlet.Filter接口>在web.xml文件配置Filter过滤器,告之Web服务器有过滤器的存在web.xml中的配置信息如下:<filter><f

[原创]java WEB学习笔记44:Filter 简介,模型,创建,工作原理,相关API,过滤器的部署及映射的方式,Demo

本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 ---------------------------------

ffmpeg filter过滤器 基础实例及全面解析

目录 目录 什么是ffmpeg filter 如何使用ffmpeg filter 1 将输入的1920x1080缩小到960x540输出 2 为视频添加logo 3 去掉视频的logo 自己写一个过滤器 filter的结构体 filter_frame调用流程 1 decode_video ffmpegc 2 av_buffersrc_add_frame_flagsbuffersrcc 3 av_buffersrc_add_frame_internal buffersrcc 4 request_f

Java-ServletFilter(过滤器)实例及详解

过滤器简介: Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码.做一些业务逻辑判断(如是否登陆)等. 其工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它都会帮你拦截到请求,此时你就可以对请求或响应(Request.Response) 统一设置编码,简化操作:同时还可进行逻辑判断,如用户是否已经登陆.有没有权限访问该页面等等工作.   它是随你的web应用启动而启动的,只初始化一次,以后就可以拦截相关

Java基础——Servlet(七)过滤器&amp;监听器 相关

一.过滤器简介 Filter 位于客户端和请求资源之间,请求的资源可以是 Servlet Jsp html (img,javascript,css)等.用于拦截浏览器发给服务器的请求(Request)和服务器返回给浏览器的内容(Response).一言以蔽之:过滤器是用来筛选请求的. * 怎么实现一个过滤器? 思路如下: 1) 编写一个类, 实现javax.servlet.Filter 接口 -- destory(); -- init(FilterConfig config); -- doFil

Bloom filter(布隆过滤器)概念与原理

写在前面 在大数据与云计算发展的时代,我们经常会碰到这样的问题.我们是否能高效的判断一个用户是否访问过某网站的主页(每天访问量上亿)或者需要统计网站的pv.uv.最直接的想法是将所有的访问者存起来,然后每次用户访问的时候与之前集合进行比较.不管是将访问信息存在内存(或数据库)都会对服务器造成非常大的压力.那是否存在一种方式,容忍一定的错误率,高效(计算复杂度.空间复杂度)的实现访问量信息的跟踪.统计呢?接下来介绍的布隆过滤器(BloomFilter)就可以满足当前的使用场景(注释:基数计数法同样

过滤器应用案例分析

----------------------------------------------------------------------------------------------[版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/52077359作者:朱培      ID:sdksdk0      邮箱: [email protected] --------------------------