0 前言
在Linux操作系统中实现x264库编译、x265库编译,并将他们编译入FFmpeg中。作为一个工作记录,方便后面操作。
Ubuntu 系统编译 x264 库完整步骤
你需要在 Ubuntu 系统中编译 x264 库,以下是分步详细操作,涵盖依赖安装、源码获取、配置编译及安装验证的全流程:
一、安装编译依赖工具
首先需要安装编译 x264 所需的基础工具链和依赖库,打开终端执行以下命令:
bash
# 更新软件源索引(可选,确保获取最新依赖版本)
sudo apt update
# 安装编译必备工具(gcc、g++、make等)及依赖
sudo apt install -y build-essential git pkg-config
build-essential:包含 gcc、g++、make 等核心编译工具,是 Linux 下编译源码的基础git:用于克隆 x264 官方源码仓库pkg-config:用于编译时查找依赖库路径,辅助配置 x264 编译参数
二、获取 x264 源码
x264 的官方源码托管在 VideoLAN 仓库,通过 git 克隆获取最新源码:
bash
# 克隆 x264 源码仓库(默认克隆到当前目录的 x264 文件夹)
git clone https://git.videolan.org/git/x264.git
# 进入 x264 源码目录(后续操作均在此目录下执行)
cd x264
三、配置 x264 编译参数(核心步骤)
使用源码目录下的 configure 脚本配置编译选项,这里提供两种常用配置方案,你可根据需求选择:
方案1:通用编译(生成动态库+静态库,支持系统全局调用)
适合大多数场景,编译后生成 .so 动态库和 .a 静态库,并安装到系统默认路径(/usr/local/):
bash
./configure --enable-shared --enable-static --prefix=/usr/local
也可以先生成在本源码目录./out中
bash
./configure --enable-shared --enable-static --prefix=./out
参数说明:
--enable-shared:启用动态库(.so)编译(可选,若仅需静态库可移除该参数)--enable-static:启用静态库(.a)编译(可选,若仅需动态库可移除该参数)--prefix=/usr/local:指定安装路径(默认也是此路径,可自定义为其他路径如~/local/x264)
方案2:高性能编译(针对本地CPU优化,推荐生产环境)
额外添加 CPU 优化参数,充分利用本地硬件性能,编译出更高效的库:
bash
./configure --enable-shared --enable-static --prefix=/usr/local --enable-pic --cpu=native
也可以先生成在本源码目录./out中
bash
./configure --enable-shared --enable-static --prefix=./out --enable-pic --cpu=native
额外参数说明:
--enable-pic:生成位置无关代码,便于后续将 x264 库链接到其他动态库中--cpu=native:自动检测本地 CPU 型号,启用针对性优化(仅在当前机器使用时推荐)
配置成功标识
终端输出末尾会显示 x264 配置信息(如支持的功能、安装路径、库类型等),无报错即配置成功。
四、编译 x264 源码
使用 make 命令进行编译,可通过 -j 参数指定编译线程数(提升编译速度,建议设为 CPU 核心数,如 4 核则 -j4):
bash
# 多线程编译(推荐,替换 4 为你的 CPU 核心数,可通过 nproc 命令查看核心数)
make -j$(nproc)
编译过程中终端会输出编译日志,无报错(无 error 提示)即编译成功,此时源码目录下会生成对应的库文件。
五、安装 x264 库
编译完成后,将库文件、头文件等安装到之前 configure 指定的 --prefix 路径下,需要使用 sudo 提升权限(若安装到用户目录可无需 sudo):
bash
sudo make install
安装成功后,系统会自动将:
- 头文件安装到
/usr/local/include/x264/ - 库文件安装到
/usr/local/lib/ - 配置文件安装到
/usr/local/lib/pkgconfig/
六、配置动态库链接路径(解决运行时库找不到问题)
编译安装后,系统默认可能无法识别 x264 动态库的路径,需要手动配置:
bash
# 1. 将 x264 库路径写入系统动态库配置文件
echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/x264.conf
# 2. 更新动态库缓存,使配置生效
sudo ldconfig
七、验证 x264 库安装成功
通过以下两种方式验证安装是否有效:
方式1:查看 x264 版本
bash
# 查看 x264 工具版本(同时验证库可用)
x264 --version
若终端输出 x264 的版本信息、编译参数等,说明安装成功。
方式2:通过 pkg-config 验证库配置
bash
# 查看 x264 库的编译链接信息
pkg-config --libs --cflags x264
若终端输出 x264 的头文件路径(-I 参数)和库文件路径(-L 参数及 -lx264),说明库配置正常,可用于后续其他项目的编译链接。
补充说明
- 若需卸载 x264 库:进入源码目录执行
sudo make uninstall即可 - 若编译时需要关闭某些功能(如禁用汇编优化):可在
configure时添加--disable-asm参数 - 若自定义安装路径(如
~/local/x264):需在验证时指定路径,或添加环境变量PKG_CONFIG_PATH=~/local/x264/lib/pkgconfig