ffmpeg nvidia nv-codec编译及运用
1. 主流程,参考官网
https://developer.nvidia.com/ffmpeg
2. CUDA-Toolkit 与驱动版本对应表
3. GPU 各型号功能及特性支持matrix
https://developer.nvidia.com/video-encode-decode-gpu-support-matrix
4. 驱动安装
没有装驱动的装驱动,装驱动的通过nvidia-smi 命令查看当前的驱动版本
没有驱动的,从官网下载指定型号驱动并安装
https://www.nvidia.com/download/index.aspx?lang=en-us
5. CUDA-Toolkit ,根据驱动下载对应版本
https://developer.nvidia.com/cuda-downloads
安装:
sh cuda_10.0.130_410.48_linux
由于已经装过驱动了,第一个选no
6. 下载nv-codec-header
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers && sudo make install && cd –## 通过pkg-config 验证ffnvcodec,如果找不到,把ffnvcodec.pc路径添加到PKG_CONFIG_PATH
pkg-config --modversion ffnvcodec## Note 一定要安装pkg-config, 不然ffmpeg 获取不到nv-codec版本号会出错
nv-codec-header 与驱动版本对应关系
nv-codec-header version | driver version |
---|---|
9.1 | >435.21 |
9.0 | >418.30 |
8.2 | >396.24 (optional CUA 10 >410.48) |
… | … |
7. 下载ffmpeg
https://git.ffmpeg.org/ffmpeg.git## 我测试用的4.2
8. 编译选项
最基本的配置,最少的依赖
#--prefix为安装,自行修改
./configure --prefix=${workspace}/install/x86 --enable-cuda --enable-cuvid --enable-nvenc --enable-nonfree --disable-lzma --disable-zlib --disable-sdl2 --disable-ffplay --disable-avdevice --enable-shared --extra-cflags=" -fPIC "
9. ffnvcodec 出错
ffnvcodec条件不满足,90%的原因是nv-codec-header版本号没有获取到或者找不到头文件
保证两点: 1. pkg-config 已安装2. nv-codec-header 已安装
10. nv-codec 总结
(1). cuda 环境库
libcuda.so
libcudart.so
##只有这两个库
libnvidia-fatbinaryloader.so
## 跟加载库相关的库,这个很重要,不然会提示,不能加载libcuda.so,或者找不到libcuda.so.1
(2). nv-codec 环境库
libnvcuid.so
## 只有这一个库
(3). 贴上一个完整nvidia环境库截图,驱动版本410.78
11. ffmpeg 编程选择解码即可
+ // H264
+ // m_pVideoCodec = avcodec_find_decoder_by_name("h264_cuvid");
+ //H265
+ // m_pVideoCodec = avcodec_find_decoder_by_name("hevc_cuvid");
确保上述的库存在,运行过程如果找不到库, 添加库路径到LD_LIBRARY_PATH,或ld.conf中
ffmpeg nvidia nv-codec编译及运用相关推荐
- FFMPEG NVIDIA硬件加速总结
目录 1.NVDIA概述 2.FFmpeg集成到GPU 3.FFmpeg uses Video Codec SDK 4.ffmpeg对NVIDIA GPU的编译步骤 4.1configure命令 4. ...
- 基于 FFMPEG 的音频编解码(一):Hello FFMPEG,安装与编译
Hello FFMPEG 基于 FFMPEG 的音频编解码(一):Hello FFMPEG,安装与编译 基于 FFMPEG 的音频编解码(二):音频解码 基于 FFMPEG 的音频编解码(三):音频编 ...
- ffmpeg安装之linux编译安装
转发自白狼栈:查看原文 关于ffmpeg的安装,有的人可能要折腾很久,甚至折腾一个礼拜,究其原因,基本都是编译安装惹的祸. 我们提供4种安装方式,最复杂的莫过于centos7上的编译安装. ffmpe ...
- NVIDIA VIDEO CODEC SDK开发资源下载
NVIDIA VIDEO CODEC SDK开发资源下载 NVIDIA VIDEO CODEC SDK开发资源下载网址: https://developer.nvidia.com/nvidia-vid ...
- IMX8 ffmpeg和opencv组件编译
IMX8MINI linux 编译组件 FFMPEG: root@imx8mmevk:/bin# ffmpeg --version ffmpeg version N-97346-g07ecc46 Co ...
- 【FFmpeg笔记】03-Win10编译ffmpeg4.2.1(For Android)
Table of Contents 一.安装适用于 linux 的 Windows 子系统 二.下载 Android NDK 三.准备 ffmpeg 源文件 3.1 下载 ffmpeg 四.编写编译脚 ...
- FFmpeg集成qsv的编译安装
文章目录 FFmpeg集成qsv的编译安装 一.参考 二.编译安装流程 1. LibVA 和 Media-Driver 的安装 2. Intel Media SDK 编译 3. ffmpeg的编译安装 ...
- ffmpeg利用NVIDIA硬件加速编译
引言 前面有水另外两篇不同的ffmpeg编译的博文,主要是针对不同的命令与相关的调用形式,如果只是在shell命令下直推视频,普通编译加搭建srs3就好了,而如果是需要配合python或者其它编程语言 ...
- ffmpeg Nvidia硬件加速总结
0. 概述 FFmpeg可通过Nvidia的GPU进行加速,其中高层接口是通过Video Codec SDK来实现GPU资源的调用.Video Codec SDK包含完整的的高性能工具.源码及文档,支 ...
最新文章
- 程序员Web面试之前端框架等知识
- redis linux 文件位置,Linux下Redis的安装和部署
- 1.1 sql注入分类与详解
- GY歌谣之读懂每行代码(飞智)
- Firefox不支持input手动填写后的getAttribute(value),只能用.value(Firefox 3.5.5 Windows)。bug?...
- Android面试,View绘制流程以及invalidate()等相关方法分析
- 刷卡读取信息自动录入表格_人事自动化管理系统.xls
- 微信“再罚”今日头条;马云:没有女性就没有阿里;有赞强推 996 工作制 | 极客头条...
- SQlite数据库的C编程接口(六) 返回值和错误码(Result Codes and Error Codes) ——《Using SQlite》读书笔记
- 《数字孪生体技术白皮书》重磅发布(附完整版下载)
- 维纳滤波及其简单实现
- Mac M1版电脑安装ps、pr
- 前端基础入门课程推荐
- 盘点阿里巴巴 33 个牛逼的开源项目,你用过哪几个?
- MyBatis-Plus 如何自动生成代码
- 【云原生】Docker高级篇之网络、compose、可视化、监控
- 陈敏 Java课设实验报告
- 树莓派 无线网卡服务器,树莓派(Raspberry Pi)USB无线网卡配置方法
- C语言读取GPT分区信息
- redis查看集合中元素的数量,scard
热门文章
- 权限管理命令-其他权限管理命令
- 网络篇之三次握手(ACK)
- 深圳内推 | 粤港澳大湾区数字经济研究院招聘NLP算法研究员/实习生
- 盗版猖獗、开发难……VR游戏进阶之路“道阻且长”
- Cass7.0使用的感受
- 微信公众号编辑器排名
- python如何横向输出_PYTHON小工具-竖排表格内容转横向输出
- MATLAB写的三维魔方解算GUI 两种算法(Thistlethwaite算法和Kociemba算法)
- Windows Server 2012 R2 分布式文件系统(DFS)-深博-专题视频课程
- 服务器如何新建计算机用户名和密码,服务器上创建本地用户账户的操作步骤