文档章节

ffmpeg过滤器简介

张旭0512
 张旭0512
发布于 2014/10/22 16:20
字数 412
阅读 514
收藏 2

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]的下半部分。

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

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

 

© 著作权归作者所有

共有 人打赏支持
张旭0512
粉丝 41
博文 136
码字总数 30203
作品 0
朝阳
程序员
私信 提问
FFmpeg 2.6 "Grothendieck" 发布

FFmpeg 2.6 发布,代号为 "Grothendieck",现已提供下载:http://ffmpeg.org/releases/ffmpeg-2.6.tar.bz2。 此版本是最新的稳定版本,包括 ffmpeg-mt 和 libav 方面的改进。此版本支持 NVEN...

oschina
2015/03/08
2.2K
1
Android使用FFmpeg(一)--编译ffmpeg

关于 Android使用FFmpeg(一)--编译ffmpeg Android使用FFmpeg(二)--Android Studio配置ffmpeg Android使用FFmpeg(三)--ffmpeg实现视频播放 Android使用FFmpeg(四)--ffmpeg实现音频播放(使用A...

天王盖地虎626
01/14
0
0
FFmpeg 3.3.1 发布,包含众多修复

FFmpeg 3.3.1 发布了,现在是"Hilbert"系列最新的稳定版,包含了 libavutil 55.58.100, libavcodec 57.89.100, libavformat 57.71.100, libavdevice 57.6.100, libavfilter 6.82.100, libavr......

局长
2017/05/16
1K
6
FFmpeg 3.4 发布,多媒体处理工具合集

FFmpeg 3.4 已发布。FFmpeg 是用于处理音频、视频、字幕和相关元数据的多媒体内容的库和工具的合集。 库: libavutil 55. 78.100, libavcodec 57.107.100, libavformat 57. 83.100, libavde...

周其
2018/01/01
3.4K
5
linux下使用ffmpeg将amr转成mp3

接到需求要在Linux环境下将amr转换为mp3,windows下直接使用第三方jar包封装的exe方法即可,但不支持Linux,上网爬完资料说是用ffmpeg加上amr插件可以实现,根据教程尝试了一下: 1. 首先安装...

伊森
2015/01/27
0
10

没有更多内容

加载失败,请刷新页面

加载更多

租房软件隐私保护如同虚设

近日,苏州市民赵先生向江苏新闻广播新闻热线025-84658888反映,他在“安居客”手机应用软件上浏览二手房信息,并且使用该软件自动生成的虚拟号码向当地一家中介公司进行咨询。可电话刚挂不久...

linux-tao
今天
1
0
分布式项目(五)iot-pgsql

书接上回,在Mapping server中,我们已经把数据都整理好了,现在利用postgresql存储历史数据。 iot-pgsql 构建iot-pgsql模块,这里我们写数据库为了性能考虑不在使用mybatis,换成spring jd...

lelinked
今天
4
0
一文分析java基础面试题中易出错考点

前言 这篇文章主要针对的是笔试题中出现的通过查看代码执行结果选择正确答案题材。 正式进入题目内容: 1、(单选题)下面代码的输出结果是什么? public class Base { private Strin...

一看就喷亏的小猿
今天
2
0
cocoapods 用法

cocoapods install pod install 更新本地已经install的仓库 更新所有的仓库 pod update --verbose --no-repo-update 更新制定的仓库 pod update ** --verbose --no-repo-update...

HOrange
今天
3
0
linux下socket编程实现一个服务器连接多个客户端

使用socekt通信一般步骤 1)服务器端:socker()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接。 2)客户端:socker()建立套接字,连接(connect)服务器,连接上后...

shzwork
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部