序、简介

FFmpeg

  • 一个完整的跨平台解决方案,用于记录、转换和流化传输音频和视频的工具
  • 文档:https://www.ffmpeg.org/documentation.html
  • 官方网站:https://www.ffmpeg.org

这里记录 CentOS7 系统结合部分第三方依赖来源码编译安装 FFMPEG

(比较适合与在个人环境下搭建 ffmpeg,在公共环境下要注意 pkg-config 的注册问题,因为编译安装的时候,下面的指令并不会自动注册到 pkg-config 中,会导致最终 ffmpeg 安装的时候会无法从 pkg-config 中调出第三方安装包的环境信息。)

在私人目录下创建一个新目录,将所有源代码放入:

一、NASM

NASM(The Netwide Assembler),是一款基于 80×86 和 x86-64 平台的汇编语言编译程序,其设计初衷是为了实现编译器程序跨平台和模块化的特性。NASM支持大量文件格式,包括 Linux,*BSM,a.out,ELF,COFF,Mach-O,Microsoft 16-bit OBJ,Win32 以及 Win64,同时也支持简单的二进制文件生成。

有两种方法:源码编译安装 或者 系统安装

系统安装:

这种方法需要联网状态,但是安装的 NSAM 可能会显示版本太低

源码编译安装:

二、YASM(基于NASM,故装这个最好先装NASM)

YASM 是一个完全重写的 NASM 汇编,基于 NASM 开发的,有较好的优化,对于 NASM 中一些不合理的地方进行了修改。目前,支持 x86 和 AMD64 指令集。

有两种方法:源码编译安装 或者 系统安装

系统安装:

同样必须要联网状态,但是安装的 YASM 可能会显示版本太低,也有一个好处,就是顺便将YASM的依赖也一起安装了

源码编译安装:

三、libx264

x264 是一款免费的用于编码 H.264/MPEG-4 AVC 格式的视音频码流库。

官方网站:https://www.videolan.org/developers/x264.html

源码安装:libx264

四、libx265

x265 是一款免费的用于编码 H.265/MPEG-H HEVC 格式的视音频码流库。

官方网站:https://www.videolan.org/developers/x265.html

源码安装:libx265

五、libfdk_acc

Fraunhofer FDK AAC(libfdk_acc),是一款不会提供在已编译的 FFMPEG 可执行包中的第三方依赖库,用于 AAC-LC 编码 和 HE-AAC(v1/2) 编码。所以需要在FFMPEG中加入相关包重编译。

源码安装:libfdk_aac

六、libmp3lame

LAME 是一款免费的+最好的 MP3 编码器,编码高品质 MP3 的最好也是唯一的选择。

源码安装:libmp3lame

七、libopus

Opus 是一种声音编码格式。其前身是 celt 编码器。在当今的有损音频格式中,拥有众多不同编码器的 AAC 格式打败了颇有潜力的 Musepack、Vorbis 等格式。在低码率下 Opus 完胜 HE-AAC。

源码安装:libopus

八、libogg

Ogg(oggVorbis) 是一种音频压缩格式,类似于 MP3 等音乐格式。Ogg是完全免费、开放、没有专利限制的。其文件拓展名为”.ogg”。

源码安装:libogg

九、libvorbis

同为为 FFMPEG 提供 oggVorbis 文件格式的压缩编码。

源码安装:libvorbis

十、speex

Speex 是一款开源免费的、无专利保护的、针对语音设计的音频压缩格式。Speex 编解码器已经被 Opus 编解码器淘汰,但还是可以继续使用。虽然 Opus 比 Speex 好,但 Opus 只支持编码和解码,不支持噪音抑制、声学回音消除等其他处理功能。

(这里并没有将Speex加入FFMPEG编译中,但可以支持的)

十一、libvpx

libvpx 是一款开源的 VP8 编码解码器。为 FFMPEG 提供 VP8 编码解码的支持。如编码YUV->VP8(On2 VP8)。

源码安装:libvpx

十二、FFmpeg