如何将x264 x265的动态库编译入Linux系统中的FFmpeg源码 - FFmpeg编译

0 前言

在Linux操作系统中实现x264库编译、x265库编译,并将他们编译入FFmpeg中。作为一个工作记录,方便后面操作。

1 下载ffmpeg

bash 复制代码
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
bash 复制代码
cd ffmpeg
git checkout n4.3

2 编译ffmpeg

安装必要的依赖库

bash 复制代码
sudo apt update
sudo apt install -y libsdl2-dev  # ffplay 依赖的 SDL2 库
sudo apt install -y build-essential yasm cmake libtool libc6 libc6-dev unzip wget libfdk-aac-dev libopus-dev
bash 复制代码
./configure --prefix=/usr/local/ffmpeg --enable-debug=3 --disable-static --enable-shared --enable-sdl2 --enable-libfdk-aac --enable-libopus --enable-vaapi --enable-hwaccel=h264_vaapi --enable-hwaccel=hevc_vaapi --enable-gpl --enable-libx264 --enable-libx265 --enable-pthreads --enable-nonfree
make -j4
sudo make install

3 配置路径

bash 复制代码
sudo echo "export PATH=/usr/local/ffmpeg/bin:\$PATH" >> /etc/profile
source /etc/profile 
bash 复制代码
echo "/usr/local/ffmpeg/lib" | sudo tee /etc/ld.so.conf.d/ffmpeg.conf
sudo ldconfig

4 验证是否集成成功

4.1 验证 FFmpeg 是否识别 x264、x265

bash 复制代码
ffmpeg -encoders | grep -E "x264|x265"

若输出类似以下内容,说明集成成功:

bash 复制代码
ffmpeg version n4.3 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04.2)
  configuration: --prefix=/usr/local/ffmpeg --enable-debug=3 --disable-static --enable-shared --enable-sdl2 --enable-libfdk-aac --enable-libopus --enable-vaapi --enable-hwaccel=h264_vaapi --enable-hwaccel=hevc_vaapi --enable-gpl --enable-libx264 --enable-libx265 --enable-pthreads --enable-nonfree
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
 V..... libx264              libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (codec h264)
 V..... libx264rgb           libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 RGB (codec h264)
 V..... libx265              libx265 H.265 / HEVC (codec hevc)

4.2 测试编码功能(可选,实际验证可用性)

bash 复制代码
# 使用x264编码视频(输出h264格式)
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium output_h264.mp4

# 使用x265编码视频(输出h265格式,更高压缩比)
ffmpeg -i input.mp4 -c:v libx265 -crf 28 -preset medium output_h265.mp4
相关推荐
Coder个人博客5 小时前
Linux6.19-ARM64 mm mmu子模块深入分析
大数据·linux·车载系统·系统架构·系统安全·鸿蒙系统
Doro再努力8 小时前
Vim 快速上手实操手册:从入门到生产环境实战
linux·编辑器·vim
wypywyp8 小时前
8. ubuntu 虚拟机 linux 服务器 TCP/IP 概念辨析
linux·服务器·ubuntu
Doro再努力8 小时前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译
android·linux·运维·服务器·编辑器·vim
senijusene9 小时前
Linux软件编程:IO编程,标准IO(1)
linux·运维·服务器
忧郁的橙子.9 小时前
02-本地部署Ollama、Python
linux·运维·服务器
醇氧9 小时前
【linux】查看发行版信息
linux·运维·服务器
No8g攻城狮9 小时前
【Linux】Windows11 安装 WSL2 并运行 Ubuntu 22.04 详细操作步骤
linux·运维·ubuntu
XiaoFan01210 小时前
免密批量抓取日志并集中输出
java·linux·服务器
souyuanzhanvip10 小时前
ServerBox v1.0.1316 跨平台 Linux 服务器管理工具
linux·运维·服务器