热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Win10支持ffmpeg+cuda解码硬加速

本文主要介绍Win10上如何基于NVIDIA显卡实现ffmpeg硬件解码。1.查看电脑显卡是否支持VideoEncodeandDecodeGPUSupportMatrix[NE

本文主要介绍Win10上如何基于NVIDIA显卡实现ffmpeg硬件解码。

1.查看电脑显卡是否支持

Video Encode and Decode GPU Support Matrix [NEW] | NVIDIA Developer

2.检查显卡支持的cuda版本

方式一:win+R打开cmd,输入nvidia-smi

方式二:打开Nvidia控制面板,选择“管理3D设置”,点击左下角“系统信息”

从上图可以看到,本地显卡NVIDIA GeForce GTX 1660 Ti 的驱动版本号是 436.50,再点击此Release Notes :: CUDA Toolkit Documentation,查看 显卡驱动 436.50 版本对应的 CUDA Toolkit 版本,如下图:

由于Toolkit Driver (显卡驱动) 是向后兼容的,所以我们选择 CUDA toolkits 10.1 进行安装。 CUDA toolkits 10.1 支持的 显卡驱动 最低版本是 418.96。我们的显卡驱动 版本号是 436.50,所以用 CUDA toolkits 10.1 是没问题的。

 或者可以在控制面版上,查看“NVCUDA.DLL”,右边即为可下载的cuda版本

 3.下载CUDA

CUDA Toolkits 版本下载:CUDA Toolkit Archive | NVIDIA Developer

这里需要讲解一下 Toolkit Driver (显卡驱动) 跟 CUDA toolkits (CUDA工具套件)的关系。因为要编译硬件编解码器 NVENC 跟 NVDEC,所以需要安装 CUDA toolkits 进行编译。 CUDA toolkits 只是编译程序的时候需要,一旦编译出来 exe运行问题,CUDA toolkits 就没用了,也就是说客户的目标机器只需要安装 Toolkit Driver (显卡驱动) 就能用 ffmpeg.exe 里面的硬件编解码 NVENC 跟 NVDEC,客户的目标机器不需要 安装CUDA toolkits 。官网的教程有提及,如下:

Running a CUDA application requires the system with at least one CUDA capable GPU and a driver that is compatible with the CUDA Toolkit.
 

 4.安装cuda
 该过程不再说明,比较简单;
 5.如果需要自己编译ffmpeg按照如下教程操作;

 


推荐阅读
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 如何在PHP中安装Xdebug扩展
    本文介绍了如何从PECL下载并编译安装Xdebug扩展,以及如何配置PHP和PHPStorm以启用调试功能。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 在VS2013中编译FFMPEG时遇到的问题及解决方案
    在使用VS2013编译旧版本FFMPEG库时遇到了一些问题,因为官方并未提供预编译的LIB和DLL文件。由于对Linux环境不熟悉,只能在Windows环境下进行配置和编译。具体步骤如下:首先,下载FFMPEG的源代码;然后,安装必要的编译工具和依赖项;接着,配置Visual Studio 2013的项目设置;最后,解决编译过程中出现的各种错误和警告。通过这些步骤,最终成功编译出所需的FFMPEG库文件。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 一、Advice执行顺序二、Advice在同一个Aspect中三、Advice在不同的Aspect中一、Advice执行顺序如果多个Advice和同一个JointPoint连接& ... [详细]
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • Irish budget airline Ryanair announced plans to significantly increase its route network from Frankfurt Airport, marking a direct challenge to Lufthansa, Germany's leading carrier. ... [详细]
  • 在执行市场篮子分析时遇到性能瓶颈,尤其是在设定频繁项集的支持度阈值为1%时。本文探讨了如何通过调整代码和参数来提高分析效率。 ... [详细]
  • spring boot使用jetty无法启动 ... [详细]
  • 本文详细介绍了如何利用 Bootstrap Table 实现数据展示与操作,包括数据加载、表格配置及前后端交互等关键步骤。 ... [详细]
  • linux网络子系统分析(二)—— 协议栈分层框架的建立
    目录一、综述二、INET的初始化2.1INET接口注册2.2抽象实体的建立2.3代码细节分析2.3.1socket参数三、其他协议3.1PF_PACKET3.2P ... [详细]
  • 在Windows系统中安装TensorFlow GPU版的详细指南与常见问题解决
    在Windows系统中安装TensorFlow GPU版是许多深度学习初学者面临的挑战。本文详细介绍了安装过程中的每一个步骤,并针对常见的问题提供了有效的解决方案。通过本文的指导,读者可以顺利地完成安装并避免常见的陷阱。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有