【FFmpeg】Filter 过滤器 ① ( FFmpeg 过滤器简介 | 过滤器概念 | 过滤器用法 | 过滤器工作流程 | 过滤器文档 | 过滤器分类 )

文章目录

  • [一、FFmpeg 过滤器 Filter 简介](#一、FFmpeg 过滤器 Filter 简介)
    • [1、FFmpeg 过滤器概念](#1、FFmpeg 过滤器概念)
    • [2、FFmpeg 过滤器用法](#2、FFmpeg 过滤器用法)
    • [3、FFmpeg 过滤器工作流程](#3、FFmpeg 过滤器工作流程)
    • [4、FFmpeg 过滤器文档](#4、FFmpeg 过滤器文档)
  • [二、FFmpeg 过滤器 分类](#二、FFmpeg 过滤器 分类)
    • [1、过滤器分类 - 根据处理数据类型分类](#1、过滤器分类 - 根据处理数据类型分类)
    • [2、过滤器分类 - 根据编码器位置分类](#2、过滤器分类 - 根据编码器位置分类)
    • [3、过滤器分类 - 根据功能分类](#3、过滤器分类 - 根据功能分类)

FFmpeg 相关文档 :

一、FFmpeg 过滤器 Filter 简介


1、FFmpeg 过滤器概念

FFmpeg 过滤器 又称为 " 滤镜 " , 是 FFmpeg 的重要的组件 , 用于 处理音视频流 和 处理多媒体操作 ;

FFmpeg 过滤器 是一种功能强大的工具 , 可以在 FFmpeg 输入 和 输出 之间 进行一系列的转换和处理 , 如 :

  • 裁剪
  • 旋转
  • 缩放
  • 变速
  • 添加水印

FFmpeg 过滤器 可以多个一起叠加使用 , 使用不同的 过滤器组合 和 调节参数 , 可以 处理复杂的 音视频 操作 , 如 :

  • 音视频转码
  • 音视频剪辑

多个 过滤器 一起使用 , 又称为 " 过滤器链 " , 或 " 滤镜链 " ;

参考之前的博客 , 有简单使用过 过滤器 / 滤镜 :

2、FFmpeg 过滤器用法

在 FFmpeg 命令行 中 , 将 过滤器 名称 作为参数进行传递 ,

  • 通过 命令行参数 -vf 设置视频过滤器
  • 通过 命令行参数 -af 设置 音频过滤器 ;

过滤器链 : 多个过滤器 可以链式组合 , 形成一个 过滤器链 Filter Chain , 同时实现多个过滤器的效果 ;

过滤器图 : 通过 命令行参数 filter_complex 选项 , 可以 创建一个 包含 多个输入 和 输出 的 复杂 过滤器图 Filter Graph ;

  • 可实现 将 多个音视频流 通过 不同的 过滤器 进行处理 ;

3、FFmpeg 过滤器工作流程

FFmpeg 过滤器工作流程 :

  • 输入 : 过滤器 接收 一个 或 多个 音视频输入流 ;
  • 处理 : 过滤器 对 输入流 进行各种操作 , 如 : 裁剪 , 混音 等操作 ;
  • 输出 : 过滤器 处理完数据后 , 输出 一个 或 多个 处理过的 输出流 ;

4、FFmpeg 过滤器文档

FFmpeg 文档主页是 https://ffmpeg.org/documentation.html

点击该页面的文档索引 , 可以跳转到对应的文档中 ;

点击 " 组件文档 " 下的 " 过滤器 " 选项 ,

可跳转到 过滤器文档页面 https://ffmpeg.org/ffmpeg-filters.html

二、FFmpeg 过滤器 分类


1、过滤器分类 - 根据处理数据类型分类

根据处理数据类型 , 可以将 过滤器 分为如下三类 :

  • 音频过滤器 Filter : 用于处理音频数据 , 如 : 音频裁剪 , 多路音频混音 , 音频变速 , 音频变调 等 ;
  • 视频过滤器 Filter : 用于处理视频数据 , 如 : 视频裁剪 , 视频缩放 , 视频旋转 , 视频叠加 等 ;
  • 字幕过滤器 Filter : 用于处理字幕数据 , 如 : 修改字幕 , 字幕翻译 等 ;

2、过滤器分类 - 根据编码器位置分类

根据 过滤器 工作时间 与编解码器工作时间 的 前后位置 , 可以将 过滤器 分为如下三类 :

  • Prefilters : 在 编码之前 使用的过滤器 , 主要进行 数据 预处理 ;
  • Intrafilters : 在 编码时 使用的过滤器 , 是 视频编解码器 的组成部分 ;
  • Postfilters : 在 解码后 使用的过滤器 , 用于 数据 的 后处理 ;

3、过滤器分类 - 根据功能分类

根据过滤器的功能 , 可以将过滤器分为很多类型 :

  • scale : 视频缩放 过滤器 ;
  • overlay : 视频叠加 过滤器 ;
  • crop : 视频裁剪 过滤器 ;
  • trim : 视频截取 过滤器 ;
  • rotate : 视频旋转 过滤器 ;
  • movie : 视频加载 过滤器 ;

更多的 视频过滤器 参考 FFmpeg 过滤器文档 的 " 11 视频滤镜 " 章节 ;

相关推荐
darkdragonking3 小时前
FLV视频封装格式详解
音视频
元争栈道5 小时前
webview和H5来实现的android短视频(短剧)音视频播放依赖控件
android·音视频
元争栈道6 小时前
webview+H5来实现的android短视频(短剧)音视频播放依赖控件资源
android·音视频
桃园码工7 小时前
8_HTML5 SVG (4) --[HTML5 API 学习之旅]
html5·svg·滤镜·文本·stroke
因我你好久不见8 小时前
springboot java ffmpeg 视频压缩、提取视频帧图片、获取视频分辨率
java·spring boot·ffmpeg
MediaTea10 小时前
Pr:音频仪表
音视频
桃园码工10 小时前
13_HTML5 Audio(音频) --[HTML5 API 学习之旅]
音视频·html5·audio
cuijiecheng201816 小时前
音视频入门基础:MPEG2-TS专题(21)——FFmpeg源码中,获取TS流的视频信息的实现
ffmpeg·音视频
γ..16 小时前
基于MATLAB的图像增强
开发语言·深度学习·神经网络·学习·机器学习·matlab·音视频
cuijiecheng201816 小时前
音视频入门基础:AAC专题(13)——FFmpeg源码中,获取ADTS格式的AAC裸流音频信息的实现
ffmpeg·音视频·aac