FFmpeg是一款自由软件,它可以运行数字音频和视频多种格式的录影、转换和流功能。其中的FF是指FastForward,而mpeg是指动态图像专家组。由于软件自由灵活且功能强大,打破惹不同环境和平台间间对视音频档案的各种处理方法的限制,不仅可以开箱即用还可以拿来二次开发,所以被广泛使用。
FFmpeg的基本组成;
FFFmpeg框架由AVFormat、AVCodec、AVFilter、AVDevice、AVUtil等模块库组成。
(1)AVFormat库实现了目前多媒体领域中的绝大多数媒体封装格式的封装和解封装,同时还支持增加自己定制的封装格式。
(2)AVCodec库实现了目前多媒体领域中的绝大多数常用的编解码格式的编码与解码,同时还支持第三方编解码器的外挂。
(3)AVFilter库提供了一个通用的音、视、字幕等滤镜的处理框架,滤镜框架可以有多个输入输出。它是通过切割视频流的方式将需要滤镜的部分扔给滤镜,然后再将滤镜后的流交给图层再合并压制出新的视频。
(4)其中的swscale模块是负责图像转换计算的,提供了高级别的图像转换API。例如1080p转720p,YUV转RGB等。
(5)其中swresample模块是负责音频重采样功能的,它允许操作音频采样、音频通道布局转换与布局调整。
FFmpeg基本功能介绍;
编解码;
1 |
|
FFmpeg主要是通过下面六个流程来执行封装格式转换的:
1 2 3 4 5 6 7 8 9 10 11 |