【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 视频滤镜 " 章节 ;

相关推荐
正在走向自律4 分钟前
第二章-AIGC入门-开启AIGC音频探索之旅:从入门到实践(6/36)
人工智能·aigc·音视频·语音识别·ai音乐·ai 音频·智能语音助手
Java患者·2 小时前
【小白】linux安装ffmpeg | java转码 【超详细】
ffmpeg
suifen_2 小时前
RK平台ffmpeg支持硬件编解码
ffmpeg
feiyangqingyun2 小时前
全网唯一/Qt结合ffmpeg实现手机端采集摄像头推流到rtsp或rtmp/可切换前置后置摄像头/指定分辨率帧率
qt·智能手机·ffmpeg
美狐美颜sdk8 小时前
跨平台直播美颜SDK集成实录:Android/iOS如何适配贴纸功能
android·人工智能·ios·架构·音视频·美颜sdk·第三方美颜sdk
melonbo11 小时前
使用FFmpeg将H.264码流封装为MP4
ffmpeg·音视频·h.264
aqi0013 小时前
FFmpeg开发笔记(七十七)Android的开源音视频剪辑框架RxFFmpeg
android·ffmpeg·音视频·流媒体
慢行的骑兵15 小时前
Android音视频探索之旅 | CMake基础语法 && 创建支持Ffmpeg的Android项目
ffmpeg·音视频
Just_Paranoid15 小时前
华为云Flexus+DeepSeek征文|基于Dify构建音视频内容转录工作流
华为云·音视频·dify·maas·deepseek·flexusx
go546315846516 小时前
修改Spatial-MLLM项目,使其专注于无人机航拍视频的空间理解
人工智能·算法·机器学习·架构·音视频·无人机