x264/x265源码编译

132 阅读2分钟

安装编译环境

更新包与数据库并安装Git

pacman -Syu
pacman -S git
git --version

获取代码

  • 打开 Msys2 MingW64 ,此时位于Msys2安装路径下 /home/{username}/
  • 创建 x264/x265 源代码目录
mkdir x264
mkdir x265

获取代码

  • 克隆 x264/x265 代码仓库
cd x264
git clone https://code.videolan.org/videolan/x264.git
cd ..
cd x265
git clone https://bitbucket.org/multicoreware/x265_git.git
cd ..

编译工具

  • 安装编译工具
pacman -S mingw-w64-x86_64-toolchain
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make
pacman -S mingw-w64-x86_64-nasm
pacman -S make
pacman -S cmake

编译x264

  • 进入x264源码目录
cd x264/x264 
  • 配置编译选项
./configure --enable-static --enable-shared
  • 编译 make (使用所有CPU核心加速构建)并安装至 msys 系统
make -j$(nproc)
make install

x264编译.png

编译x265

  • 进入x265源码构建目录
cd ..
cd ..
cd x265/x265_git
cd build/msys
  • 修改 make-Makefiles.sh 文件
  • 将文件中 MSYS Makefiles 改为 Unix Makefiles, 去掉 cmake-gui 相关的命令
  • 编译
make -j$(nproc)

x265编译.png

构建编码器库

  • 在外部创建视频编码器目录,如 D:\VideoEncoder\x264
  • 将 x264 文件夹下的 x264.exe 取出放到 VideoEncoder\x264 目录下
  • 用 cmd 打开 VideoEncoder 目录

x264与dll.png

  • 再运行以下命令,此时能正确打印出x264的版本信息
x264 --version

x264版本信息.png

  • 将 x265_git/build/msys 文件夹下的 x265.exe 和所有 .dll文件 取出放到 VideoEncoder/x265 目录下
  • 用 cmd 打开 VideoEncoder/x265 目录
  • 运行以下命令,此时可能会出现缺少某些动态链接库.dll文件的异常,记录缺失dll的文件名
x265 --version

x265缺失dll.png

  • 打开msys2的mingw64/bin目录,将缺失的 .dll文件 复制到 VideoEncoder\x265 目录下
  • 再运行以下命令,此时能正确打印出x265的版本信息
x265 --version

x265与dll.png

x264版本信息2.png