如何将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
相关推荐
coding_fei2 小时前
将FFmpeg集成到aosp
ffmpeg
路溪非溪2 小时前
Linux下蓝牙框架的数据流
linux·arm开发·驱动开发
能不能别报错2 小时前
openclaw-linux部署教程+mimo-v2-pro
linux·运维·服务器
济6173 小时前
ARM Linux 驱动开发篇---基于 pinctrl+GPIO 子系统的蜂鸣器驱动开发(设备树版)--- Ubuntu20.04
linux·嵌入式·嵌入式linux驱动开发
AiGuoHou14 小时前
Debian/Ubuntu 各个版本一键更换国内镜像源
linux·ubuntu·国内源·debian·镜像源·换源
蓝羽天空4 小时前
Ubuntu 24.04 安装 Docker
linux·ubuntu·docker
T0uken4 小时前
WSL:离线配置 Ubuntu 开发环境
linux·运维·ubuntu
�羡阳丶4 小时前
ubuntu22.04+5060显卡双系统安装,各种黑屏踩坑记录
linux·经验分享·ubuntu
b_xinjun11204 小时前
树莓派 Ubuntu 24.04.3 LTS 安装 OpenClaw 操作说明
linux·ubuntu·arcgis
硅基导游5 小时前
Linux内核观测与跟踪的利器BPF环境测试
linux·服务器·性能监控·bpf