FFmpeg

简介: FFmpeg

FFmpeg 项目的组成


(1)基本:


ffmpeg :是一个命令行工具,用来对视频文件转换格式;


ffsever :是一个HTTP多媒体实时广播流服务器;


ffplay :是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示;


(2)其它:


libavutil :包含一些公共的工具函数;


libavcodec :用于各种类型声音/图像编解码;


libswscale :用于视频场景比例缩放、色彩映射转换;


libpostproc :用于后期效果处理;


libavformat :用于音视频封装格式的生成和解析, 包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能。


libavutil:核心工具库,下面的许多其他模块都会依赖该库做一些基本的音视频处理操作。


libavformat:文件格式和协议库,封装了Protocol层和Demuxer、Muxer层,使得协议和格式对于开发者来说是透明的


libavcodec:编解码库,封装了Codec层,但是有一些Codec是具备自己的License的,FFmpeg是不会默认添加像libx264、FDK-AAC、lame等库的,但是FFmpeg就像一个平台一样,可以将其他的第三方的Codec以插件的方式添加进来,然后为开发者提供统一的接口


libavfilter:音视频滤镜库,该模块提供了包括音频特效和视频特效的处理,在使用FFmpeg的API进行编解码的过程中,直接使用该模块为音视频数据做特效处理是非常方便同时也非常高效的一种方式


libavdevice:输入输出设备库,比如,需要编译出播放声音或者视频的工具ffplay


libavresample:该模块可用于音频重采样,可以对数字音频进行声道数、数据格式、采样率等多种基本信息的转换


libswscale:该模块是将图像进行格式转换的模块,比如,可以将YUV的数据转换为RGB的数据”


libpostproc:该模块可用于进行后期处理,当我们使用AVFilter的时候需要打开该模块的开关,因为Filter中会使用到该模块的一些基础函数


AVFormatContext:视频格式和协议的封装上下文


AVStream:对应流格式,存在于AVFormatContext中,如音频流、视频流、文本流等

AVCodecContext:对应的编解码信息的上下文,存在于AVStream中


AVCodec:对应具体的编解码信息,存在于AVCodecContext


AVPacket:对应编码后或解码前的数据,所以存的是编码数据


AVFrame:对应解码后或编码前的数据,所以存档是解码数据


相关文章
|
2月前
|
存储 安全 Shell
vulnhub靶机实战_DC-4
本文介绍了DC-4靶机渗透测试的完整过程,包括靶机下载、环境搭建、信息扫描、漏洞利用、提权以及最终获取flag的详细步骤。通过使用工具如nmap、Hydra进行端口扫描与密码爆破,结合反向Shell与teehee命令实现权限提升,最终成功获取系统flag。内容详实,适合网络安全学习与实践。
430 0
vulnhub靶机实战_DC-4
|
Arthas 监控 Java
Java 诊断利器 Arthas使用
Java 诊断利器 Arthas使用
3592 0
|
Python
python使用pip镜像源加速安装包(清华、阿里、中科大)
python使用pip镜像源加速安装包(清华、阿里、中科大)
8807 0
python使用pip镜像源加速安装包(清华、阿里、中科大)
|
Ubuntu 安全 程序员
一文带你了解软件版本号
【9月更文挑战第3天】
3792 12
一文带你了解软件版本号
|
前端开发
前端使用多张图片生成 Gif 效果(支持循环、不循环、完成回调)
前端使用多张图片生成 Gif 效果(支持循环、不循环、完成回调)
693 0
|
JavaScript C++
使用 Vite 创建 Vue3+TS 项目并整合 ElementPlus、Axios、Pinia、Less、Vue-router 等组件或插件
本文详细介绍了如何使用Vite创建Vue3+TypeScript项目,并整合ElementPlus、Axios、Pinia、Less、Vue-router等组件或插件的步骤和配置方法。
4341 2
|
存储 Prometheus 并行计算
10倍性能提升-SLS Prometheus 时序存储技术演进
本文将介绍近期SLS Prometheus存储引擎的技术更新,在兼容 PromQL 的基础上实现 10 倍以上的性能提升。同时技术升级带来的成本红利也将回馈给使用SLS 时序引擎的上万内外部客户。
158923 7
|
Prometheus 监控 Cloud Native
Prometheus
Prometheus 是一款开源的监控和报警工具,可以用于监控各种类型的组件,例如应用程序、数据库、网络设备等等。它通过收集和处理指标来提供有关系统状态的实时和历史视图,并通过报警机制来通知管理员当系统出现异常时。
264 1
|
Arthas Java 测试技术
Arthas基础使用篇
Arthas基础使用篇
|
存储 消息中间件 编解码
下一篇
oss云网关配置