FFmpeg 即是一款音视频编解码工具,同时也是一组音视频编解码开发套件,为开发者提供了丰富的音视频处理调用接口。
FFmpeg中的“FF”指的的是 “ Fast Forward ”,mpeg则是动态图像专家组(MPEG)
FFmpeg的基本组成
FFmpeg框架的基本组成:AVFormat、AVCodec、AVFilter、AVDevice、AVUtil等模块库。下面进行一个大概的介绍:
1、 AVFormat封装模块
AVFormat中实现了目前多媒体领域中的绝大多数媒体封装格式,包括封装和解封装,如MP4、FLV、TS等文件封装格式,RTMP、RTSP、MMS、HLS等网络协议封装格式。
FFmpeg是否支持某种媒体封装格式,取决于编译时是否包含了该格式的封装库。
2、 AVCodec编解码模块
AVCodec中实现了绝大多数常用的编解码格式,既支持编码,也支持解码。AVCodec除了支持MPEG4、AAC、MJPEG等自带的编解码格式外,还支持第三方的编解码器,比如:H264(AVC)、H265(HEVC)、MP3等。
3、 AVFilter模块
AVFilter库提供一个通用的音频、视频、字母等滤镜处理框架。在AVFilter中,滤镜框架可以有多个输入和输出。
4、 swscale视频图像转换计算模块
swscale模块提供了高级别的图像转换API,例如它允许进行图像缩放和像素格式转换,常见于将图像从1080P转换成720P或者480P等的缩放,或者将图像数据从YUV420P转换成YUYV,或者YUV转RGB等图像格式转换
5、 swresample音频转换计算模块
swresample模块提供了高级别的音频重采样API。例如它允许操作音频采样、音频通道布局转换与布局调整












网友评论