用了ffmpeg这么多年,感觉其就是一个开源库的集合体。ffmpeg包含的八个库:
1、libswscale(视频像素数据格式转换)
2、libswresample(音频采样数据格式转换)
3、libpostproc(后加工)
4、libavutil(工具库)
5、libavformat(封装格式处理)
6、libavfilter(滤波特效处理)
7、libavdevice(各种设备的输入和输出)
但是这些库依赖于其他许多开源库,感觉就是一个开源库大杂烩:
1、bzip2
bzip2 是一个基于Burrows-Wheeler 变换的无损压缩软件,压缩效果比传统的LZ77/LZ78压缩算法来得好。
2、enca
'Enca'基于对其语言的了解来检测文本文件的编码。 它还可以将它们转换为其他编码,让您在不知道当前编码的情况下重新编码文件。 它支持大多数中欧和东欧语言,以及一些独立于语言的Unicode变体。
3、expat
Expat是一个用C语言开发的、用来解析XML文档的开发库,它最初是开源的、Mozilla 项目下的一个XML解析器。
4、fdk-aac
fdk-aac软件包提供Fraunhofer FDK AAC库,据称是高质量的高级音频编解码实现。
5、Fontconfig
Fontconfig是一个用于配置和自定义字体访问的库。
6、freetype2
FreeType是一个免费提供的软件库,用于渲染字体。
7、FriBidi
FriBidi是Unicode双向(BiDi)算法的免费实现。 它还提供实用程序功能,以帮助开发实现BiDi功能的交互式编辑器和小部件。 BiDi算法是支持从右到左脚本的先决条件,例如希伯来语,阿拉伯语,叙利亚语和Thaana。
8、game-music-emu
game-music-emu是各种视频游戏控制台硬件的音频模拟器集合。 它最初由Blargg开发,在转换为库之前用作其他几个软件产品的基础。 然后将其修复为在其他平台上构建,并用于支持其他库的音频插件,例如GStreamer和FFmpeg。
9、gmb
GMP是一个免费的库,用于任意精度算术,对有符号整数,有理数和浮点数进行操作。 精度没有实际限制,除了机器GMP中可用内存所暗示的那些限制。 GMP具有丰富的功能,并且功能具有常规接口。
10、gnutls
GnuTLS是一个安全的通信库,实现了围绕它们的SSL,TLS和DTLS协议和技术。 它提供了一个简单的C语言应用程序编程接口(API)来访问安全通信协议以及用于解析和编写X.509,PKCS#12和其他所需结构的API。
11、harfbuzz
HarfBuzz是一个文本整形引擎。 它主要支持OpenType,还支持[Apple Advanced Typography | https://developer.apple.com/fonts/TrueType-Reference-Manual/RM06/Chap6AATIntro.html]]。 HarfBuzz用于Android,Chrome,ChromeOS,Firefox,GNOME,GTK +,KDE,LibreOffice,OpenJDK,PlayStation,Qt,XeTeX等场所。
12、lame
LAME是LGPL许可的高质量MPEG Audio Layer III(MP3)编码器。
13、libaacs
libaacs是一个实现高级访问内容系统规范的研究项目。
14、libass
libass是ASS / SSA(高级变电站Alpha / Substation Alpha)字幕格式的便携式字幕渲染器,允许比传统SRT和类似格式更高