当前位置: 首页 > article >正文

编译 FFmpeg 以支持 AV1 编解码器以及其他硬件加速选项(如 NVENC、VAAPI 等)

步骤 1: 安装必要的依赖

sudo apt update
sudo apt install -y \
  autoconf automake build-essential cmake git libass-dev libfreetype6-dev \
  libsdl2-dev libtool libva-dev libvdpau-dev libxcb1-dev libxcb-shm0-dev \
  libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev nasm yasm \
  libx264-dev libx265-dev libnuma-dev libvpx-dev libfdk-aac-dev libmp3lame-dev \
  libopus-dev libaom-dev libdav1d-dev

其中libaom-dev、 libdav1d-dev以及libfdk-aac-dev可能需要源码安装

libaom-dev源码安装
git clone https://aomedia.googlesource.com/aom
cd build/
cmake .. -DENABLE_NASM=on -DCMAKE_INSTALL_PREFIX=/usr/local
make -j$(nproc)
sudo make install
libdav1d-dev 源码安装
git clone https://salsa.debian.org/multimedia-team/dav1d.git
sudo apt install meson
meson setup ..
ninja
ninja install

libfdk-aac-dev源码安装
git clone https://github.com/mstorsjo/fdk-aac.git
cd fdk-aac/
autoreconf -fiv
./configure --prefix=/usr/local
make -j$(nproc)
sudo make install

步骤2 编译安装ffmpeg

git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg

./configure \
  --prefix=/usr/local \
  --enable-gpl \
  --enable-nonfree \
  --enable-libx264 \
  --enable-libx265 \
  --enable-libvpx \
  --enable-libfdk-aac \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libdav1d \
  --enable-libaom \
  --enable-nvenc \
  --enable-vaapi \
  --enable-libass \
  --enable-libfreetype \
  --enable-libxcb \
  --enable-libdrm
make -j$(nproc)
sudo make install
  • AV1 支持:–enable-libdav1d(解码)和 --enable-libaom(编码)
  • NVENC:–enable-nvenc 用于 NVIDIA 的硬件加速
  • VAAPI:–enable-vaapi 用于 Intel 和 AMD 的硬件加速

步骤 3: 验证安装

ffmpeg -encoders | grep av1
ffmpeg -encoders | grep nvenc
ffmpeg -decoders | grep vaapi

设置.bashrc

打开.bashrc 添加export LD_LIBRARY_PATH=/usr/local/lib/x86_64-linux-gnu:/usr/local/lib/:$LD_LIBRARY_PATH


http://www.kler.cn/news/321262.html

相关文章:

  • 谷歌深度学习研究揭示OpenAI O1模型优化策略:比规模更重要的计算效率
  • Java中的锁总结
  • Qt信号说明
  • 【Linux】项目自动化构建工具-make/Makefile 详解
  • Linux系统之部署web-resume静态个人简历网页
  • 时序,这很Transformer!颠覆传统,实现了性能的全面超越!
  • Vue3+Element-UI Plus登录静态页
  • vite ts vue中配置@路径别名报错标红
  • 机械设备产品资料方案介绍小程序系统开发制作
  • 【数据结构】排序算法---桶排序
  • SVM原理
  • docker-compose.yml entrypoint 和command 关系
  • 利用 Flink CDC 实现实时数据同步与分析
  • 使用vite+react+ts+Ant Design开发后台管理项目(一)
  • 以数赋能实景三维创新“科技+文旅”
  • 数据结构-3.1.栈的基本概念
  • Redis常用命令笔记
  • Leetcode - 139双周赛
  • Snap 发布新一代 AR 眼镜,有什么特别之处?
  • sentinel-dashboard数据 redis 持久化
  • 甘蔗茎节检测系统源码分享
  • Elasticsearch——介绍、安装与初步使用
  • C语言指针系列1——初识指针
  • CSDN文章导出md并迁移至博客园
  • 数据结构——初始树和二叉树
  • Spring AOP - 配置文件方式实现
  • 【IEEE 独立出版,快速EI检索】第四届人工智能、虚拟现实与可视化国际学术会议(AIVRV 2024)
  • 【编程基础知识】Cookie、Session和JWT(JSON Web Token)
  • Linux 学习 awk 和sed 命令使用
  • 欧洲欧盟药品数据库:EMA、HMA、EDQM-一键查询