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

编译 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

相关文章:

  • 什么是源文件?
  • provide,inject父传子
  • (二)Optional
  • 【计算机组成原理】实验一:运算器输入锁存器数据写实验
  • 如何防范关联方风险传导?风险监控4.0,新增关联方风险维度!
  • c++继承详解
  • 【数据结构】栈和队列(Stack Queue)
  • 使用Python免费将pdf转为docx
  • TypeScript 设计模式之【建造者模式】
  • C语言指针系列1——初识指针
  • 《算法岗面试宝典》正式发布
  • 生成式语言模型底层技术面试
  • 计算机网络发展
  • 极狐GitLab 17.4 重点功能解读【四】
  • Xcode16 iOS18 编译问题适配
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • Java面向对象及其三大特征
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • js对象的深浅拷贝
  • PermissionScope Swift4 兼容问题
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • 从零开始在ubuntu上搭建node开发环境
  • 基于Android乐音识别(2)
  • 前端之React实战:创建跨平台的项目架构
  • 一道闭包题引发的思考
  • kubernetes资源对象--ingress
  • linux 淘宝开源监控工具tsar
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​​​​​​​​​​​​​​Γ函数
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • #include<初见C语言之指针(5)>
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (16)Reactor的测试——响应式Spring的道法术器
  • (C11) 泛型表达式
  • (k8s)kubernetes集群基于Containerd部署
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • (自用)仿写程序
  • *p++,*(p++),*++p,(*p)++区别?
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .Net Remoting(分离服务程序实现) - Part.3
  • .net SqlSugarHelper
  • .NET企业级应用架构设计系列之技术选型
  • .net下的富文本编辑器FCKeditor的配置方法
  • .NET与 java通用的3DES加密解密方法
  • .NET中统一的存储过程调用方法(收藏)
  • @四年级家长,这条香港优才计划+华侨生联考捷径,一定要看!
  • [ SNOI 2013 ] Quare
  • [ 环境搭建篇 ] 安装 java 环境并配置环境变量(附 JDK1.8 安装包)
  • [ 渗透测试面试篇 ] 渗透测试面试题大集合(详解)(十)RCE (远程代码/命令执行漏洞)相关面试题