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:对应解码后或编码前的数据,所以存档是解码数据


相关文章
|
8月前
|
编解码 Windows 内存技术
FFmpeg深入学习 1
FFmpeg深入学习
59 0
|
8月前
|
编解码 数据安全/隐私保护
FFmpeg深入学习 2
FFmpeg深入学习
151 0
|
5月前
|
编解码 Linux
ffmpeg
ffmpeg
37 0
|
11月前
安装FFmpeg
安装FFmpeg
172 0
|
11月前
|
编解码 文件存储 iOS开发
FFmpeg学习笔记汇总(下)
FFmpeg学习笔记汇总
158 0
|
11月前
|
编解码 Ubuntu 网络协议
FFmpeg学习笔记汇总
FFmpeg学习笔记汇总
133 0
|
Linux Windows
FFmpeg安装
FFmpeg安装
193 0
FFMPEG编译ffplay
FFMPEG编译ffplay
118 0
FFMPEG libfdk-aac编译
FFMPEG libfdk-aac编译
82 0
|
开发工具 C语言 git
DeepFace坑之ffmpeg
踩坑之ffmpeg
1630 0