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


相关文章
|
编解码 Windows 内存技术
FFmpeg深入学习 1
FFmpeg深入学习
82 0
|
编解码 数据安全/隐私保护
FFmpeg深入学习 2
FFmpeg深入学习
212 0
|
1月前
|
存储 编解码 网络协议
FFmpeg学习笔记(三):FFmpeg和FFplay参数介绍
这篇文章是关于FFmpeg和FFplay参数的介绍,包括如何使用这些参数进行视频流的捕获、处理和播放。
54 0
|
编解码 并行计算 C语言
ffmpeg日日新
ffmpeg日日新
105 0
|
编解码 API Android开发
ffmpeg之硬解码
安卓使用ffmpeg实现硬解码
575 0
|
Linux Windows
FFmpeg安装
FFmpeg安装
249 0
|
Web App开发 编解码 网络协议
FFmpeg介绍
FFmpeg 是一个可以处理音视频的软件,功能非常强大,主要包括,编解码转换,封装格式转换,滤镜特效。同时也支持 各种网络协议,支持 RTMP ,RTSP,HLS 等高层协议的推拉流,也支持更底层一点的TCP/UDP 协议推拉流。
387 0
FFMPEG编译ffplay
FFMPEG编译ffplay
141 0