1、简介

FFmpeg用来处理音视频,实现处理功能的核心就是filter(滤镜),和我们使用的美颜功能的滤镜意思差不多,FFmpeg的filter(滤镜)不仅可以处理视频,还能处理音频、字幕等。

官方说明:
在编码之前,ffmpeg可以使用 libavfilter 库中的过滤器处理原始音频和视频帧。几个链接的过滤器形成一个过滤器图。ffmpeg区分两种类型的过滤器图:简单和复杂。

简单的过滤器图:只有一个输入和输出,两者都是相同类型的。

复杂的过滤器图:有多个输入或多个输出的过滤器构成。

2、使用流程

滤镜(filter)处理的是未压缩的原始音视频数据(RGB/YUV视频帧,PCM音频帧等),对应FFmpeg中AVFrame。因此这里只关注滤镜(filter)对AVFrame的处理流程,使用滤镜(filter)前后的编解码过程先忽略。

2.1 初始化滤镜

对应FFmpeg为初始化一个过滤器流(AVFilterGraph

【FFmpeg】ffmpeg工具源码分析(四):filter(过滤器、滤镜)详解相关推荐

  1. bytebuddy实现原理分析 源码分析 (三)- advice 详解

    advice详解 八.advice 8.1 AsmVisitorWrapper 8.1.1 ForDeclareFields 8.1.1.1 Entry 8.1.1.2 DispatchingVisi ...

  2. 从源码分析RocketMQ系列-MQClientInstance类详解

    导语   在之前的分析中,看到有一个类MQClientInstance,这个无论是在Producer端还是在Consumer端都是很重要的一个类,很多的功能都是从这个类发起的,这边分享中就来详细的看看 ...

  3. 从源码分析RocketMQ系列-start()方法详解

    导语   在之前的分析中主要介绍的是关于Producer 发送消息的逻辑,但是在实例代码中有一个操作是producer.start()方法,在Consumer中看到的方法是consumer.start ...

  4. FFmpeg简述,源码分析,录制/压缩/水印/剪切/旋转/滤镜/美颜/上传视频等(CPU软编码和解码)

    > ffmpeg源码分析 ffmpeg源码简析(一)结构总览- https://blog.csdn.net/Louis_815/article/details/79621056 FFmpeg的库 ...

  5. 【投屏】Scrcpy源码分析四(最终章 - Server篇)

    Scrcpy源码分析系列 [投屏]Scrcpy源码分析一(编译篇) [投屏]Scrcpy源码分析二(Client篇-连接阶段) [投屏]Scrcpy源码分析三(Client篇-投屏阶段) [投屏]Sc ...

  6. ABP源码分析四十七:ABP中的异常处理

    ABP源码分析四十七:ABP中的异常处理 参考文章: (1)ABP源码分析四十七:ABP中的异常处理 (2)https://www.cnblogs.com/1zhk/p/5538983.html (3 ...

  7. gSOAP 源码分析(四)

    gSOAP 源码分析(四) 2012-6-2 邵盛松 前言 本文主要说明gSOAP中对Client的认证分析 gSOAP中包含了HTTP基本认证,NTLM认证等,还可以自定义SOAP Heard实现认 ...

  8. Spring 源码分析(四) ——MVC(二)概述

    随时随地技术实战干货,获取项目源码.学习资料,请关注源代码社区公众号(ydmsq666) from:Spring 源码分析(四) --MVC(二)概述 - 水门-kay的个人页面 - OSCHINA ...

  9. Caddy源码阅读(一)Run详解

    Caddy源码阅读(一)Run详解 前言 本次系列会讲解 caddy 整个生命周期涉及到的源码. 平时我们使用 caddy 都是使用 它的 二进制 分发文件,现在来分析 caddy 的 Run 函数. ...

  10. Mybatis源码学习(三)SqlSession详解

    前言 上一章节我们学习了SqlSessionFactory的源码,SqlSessionFactory中的方法都是围绕着SqlSession来的.,那么SqlSession又是什么东东呢?这一章节我们就 ...

最新文章

  1. wait跟sleep的区别
  2. 没有最快,只有更快!富士通74.7秒在ImageNet上训练完ResNet-50
  3. IaaS,PaaS,SaaS 的区别
  4. pwn学习总结(三) —— 栈溢出经典题型整理
  5. CentOS安装KVM步骤虚拟机,绝对实用!
  6. python 桌面数据库_python数据库操作笔记
  7. sql统计不为空的字段数_SQL太难?你离完全理解SQL就差这10步!
  8. (Java)idea连接数据库
  9. linux c 进程池 简单实现
  10. java date 格式化 yyyymmdd_如何将LocalDate格式化为yyyyMMDD(不含JodaTime)
  11. SPSS正态分布,泊松分布,指数分布,均匀分布检验
  12. simm计算机专业英语翻译,计算机专业英语翻译
  13. 西工大NOJ数据结构理论——013.以十字链表为存储结构实现矩阵相加(严5.27)
  14. DS栈—波兰式,逆波兰式
  15. 淘宝模块中宝贝跳转链接
  16. 大众点评Cat--架构分析
  17. MATLAB强化学习工具箱(十一)训练DDPG智能体控制飞行机器人
  18. java 插入排序及希尔排序
  19. 微信小程序实战篇-电商(一)
  20. Verilog初级教程(4)Verilog中的标量与向量

热门文章

  1. 有源晶振和无源晶振的区别
  2. Linux那些事儿 之 戏说USB(1)它从哪里来
  3. 树莓派视觉小车 -- OpenCV巡线(HSL色彩空间、PID)
  4. 【杠精】问卷星防切屏解除方法-解除问卷星平台模拟考试防作弊切屏和最大化全屏的方法
  5. 关于 linux io_uring 性能测试 及其 实现原理的一些探索
  6. shell脚本自动执行,top命令无输出
  7. thinkphp5框架一小时搭建一个php后端(1)
  8. Linux下控制环境变量
  9. linux ngxtop安装安装及使用
  10. CarTool 使用,获取图片资源