首页 > 其他分享 >编译ffmpeg 并支持 NVIDIA 硬解码

编译ffmpeg 并支持 NVIDIA 硬解码

时间:2024-07-12 09:09:21浏览次数:14  
标签:enable ffmpeg -- 解码 sudo dev cuda NVIDIA

1.简述

所谓硬件解码就是利用专用的硬件(比如说nvenc)进行解码 区别与利用通用计算单元进行解码(CPU,cuda)

2.所需要的 sdk

  • cuda 11.1
  • nvcc
  • ffmpeg 5.1.2
  • nv-codec-header 11.1.5.2 下载位置

4.安装ffnvcodec

省略 安装cuda 和nvcc 的方法 显卡驱动 最好大于430.1.4

  • 安装 ffnvcodec
cd nv-codec-headers 
sudo make install

5.编译ffmpeg

  • 安装依赖
sudo apt update
sudo apt install build-essential yasm nasm cmake libx264-dev libx265-dev libvpx-dev libfdk-aac-dev libmp3lame-dev libopus-dev libass-dev libwebp-dev libssl-dev

  • 进入文件夹 并配置选项
cd ffmpeg_5.1.2
sudo ./configure --enable-gpl --enable-libx264 --enable-libx265 --enable-libvpx --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libass --enable-libwebp --enable-openssl --enable-nonfree  --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --disable-static --enable-shared --nvccflags="-gencode arch=compute_86,code=sm_86 -O2" --enable-cuda-nvcc --enable-cuvid --enable-nvenc --enable-shared

--enable-cuda-nvcc --enable-cuvid --enable-nvenc
其中这几个选项是重点 也最容易出错

sudo make - j 8
sudo make install

如果一切顺利已经完成。

6. 填坑

  • 进入到配置ffmpeg环节如果出现 failed checking for nvcc错误 首先进入 vim configue 修改

标签:enable,ffmpeg,--,解码,sudo,dev,cuda,NVIDIA
From: https://www.cnblogs.com/ryzemagic/p/18297526

相关文章

  • 生成式 AI 的新引擎:探索 Amazon EC2 P5 实例与 NVIDIA H100 GPU 的结合
    欢迎来到雲闪世界。人工智能(AI)和机器学习(ML)正以前所未有的速度改变我们的世界。为  欢迎来到雲闪世界。了支持这些技术的进步,计算能力的需求也在不断增加。2023年3月,AWS和NVIDIA宣布了一项深度合作,重点是构建最具可扩展性的按需AI基础设施,专为训练日益复杂的大型语言模型(LLM......
  • 解码特征的力量:SKlearn中特征重要性评估全攻略
    解码特征的力量:SKlearn中特征重要性评估全攻略在机器学习模型的开发过程中,理解各个特征对预测结果的贡献度是至关重要的。特征重要性评估不仅可以帮助我们识别最有影响力的特征,还可以用于模型解释和简化。Scikit-learn(简称sklearn),作为Python中一个功能丰富的机器学习库,提供......
  • nvidia docker Cannot load libnvcuvid.so.1
    问题使用docker对runtime进行封装,程序需要用到GPU且在host正常运行,在容器内则报错:Cannotloadlibnvcuvid.so.1[hevc_cuvid@0x559da3fbd80]Failedloadingnvcuvid.terminatecalledafterthrowinganinstanceof'std::runtime_error'what():failedtoopenavcod......
  • GPU加速视频编解码技术:原理、优势与应用
       NVIDIA是一家全球知名的图形处理芯片(GPU)制造商,致力于为个人电脑、游戏机、移动设备等平台提供高性能的GPU解决方案。其产品和技术在视频加速领域具有广泛的应用,本文将详细介绍NVIDIA的视频加速技术及其相关解决方案。一、NVIDIA的视频加速技术概述NVIDIA的视频加速......
  • c#winfrom+ffmpeg视频一键自动化剪辑批量生成视频软件(一)
    简单介绍一下1,设置字幕字体内容2,视频素材库自定义文件夹3,视频背景音乐库4,一键全自动配置剪辑,多选背景音乐,多选字体字幕样式,无限批量生成视频数量个数设置。我历时一个月开发了一套全新的视频批量剪辑软件,结合了C#WinForms和FFmpeg技术,旨在提供一种简单而功能强大的解决方案......
  • NVIDIA H100 Tensor Core GPU摘要
    NVIDIAH100TensorCoreGPU的特性概括如下:先进的制造工艺与规模:H100基于NVIDIAHopper架构,采用台积电定制的4N工艺,集成高达800亿个晶体管,是目前世界上最为先进的芯片。性能飞跃:针对大规模人工智能(AI)和高性能计算(HPC)应用,H100相较于上一代A100TensorCoreGPU实现了数......
  • 音频demo:使用opencore-amr将PCM数据与AMR-NB数据进行相互编解码
    1、READMEa.编译编译demo由于提供的.a静态库是在x86_64的机器上编译的,所以仅支持该架构的主机上编译运行。$make编译opencore-amr如果想要在其他架构的CPU上编译运行,可以使用以下命令(脚本)编译opencore-amr[下载地址]得到相应的库文件进行替换:#!/bin/bashtarxzf......
  • 解码Python字符串:拯救失落的字符世界!
    一、字符串的定义在Python中,字符串可以用单引号('')或双引号("")括起来定义。例如:s='HelloWorld!'print(s)输出:HelloWorld!你还可以使用三重引号('''或""")来定义多行字符串。但大多数时候三重引号用来注释文档例如:s='''HelloWorld!''&#......
  • NVIDIA+CUDA Toolkit+Pytroch安装
    1NVIDIA驱动安装一般来说,驱动可以使用兼容的最新版本window安装https://www.nvidia.cn/geforce/drivers/2CUDAToolkit安装(1)CUDAToolkit版本要求win+R输入nvidia-smi查询可以安装CUDAToolkit版本,CUDAToolkit版本小一点没有关系(2)下载CUDAToolkit并直接运行安装h......
  • 解码技术债:AI代码助手与智能体的革新之道
    技术债技术债可能来源于多种原因,比如时间压力、资源限制、技术选型不当等。它可以表现为代码中的临时性修补、未能彻底解决的设计问题、缺乏文档或测试覆盖等。虽然技术债可以帮助快速推进项目进度,但长期来看,它会增加软件维护的成本和风险,降低系统的稳定性和可维护性。今天,我们......