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

[FFmpeg] windows下安装带gpu加速的ffmpeg

1.显卡能力排查

目前只有 NIVIDIA 支持 ffmpeg 的 gpu加速(AMD貌似也陆续开始支持)。

在下述网站中查找自己的显卡能够支持的编解码格式。https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-newicon-default.png?t=N7T8https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new




2.更新显卡驱动 (可选)

https://www.nvidia.cn/content/DriverDownloads/icon-default.png?t=N7T8https://www.nvidia.cn/content/DriverDownloads/




3.安装 cuda tool kit

https://developer.nvidia.com/cuda-downloads?target_os=Windowsicon-default.png?t=N7T8https://developer.nvidia.com/cuda-downloads?target_os=Windows




4.安装包含NVIDIA加速组件的ffmpeg

在gyan.dev发布网站中找到并下载  ffmpeg-git-full.7z ,essential版本不包含NVIDIA编解码器组件,不要下载。

Builds - CODEX FFMPEG @ gyan.devicon-default.png?t=N7T8https://www.gyan.dev/ffmpeg/builds/




5.配置ffmpeg在windows下的环境




6.测试是否安装成功

C:\Users\Alienware>ffmpeg -encoders|findstr /i "nvenc"
ffmpeg version 2024-07-04-git-03175b587c-full_build-www.gyan.dev Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 13.2.0 (Rev5, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libopenjpeg --enable-libquirc --enable-libuavs3d --enable-libxevd --enable-libzvbi --enable-libqrencode --enable-librav1e --enable-libsvtav1 --enable-libvvenc --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxeve --enable-libxvid --enable-libaom --enable-libjxl --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-dxva2 --enable-d3d11va --enable-d3d12va --enable-ffnvcodec --enable-libvpl --enable-nvdec --enable-nvenc --enable-vaapi --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      59. 28.100 / 59. 28.100
  libavcodec     61.  9.100 / 61.  9.100
  libavformat    61.  4.100 / 61.  4.100
  libavdevice    61.  2.100 / 61.  2.100
  libavfilter    10.  2.102 / 10.  2.102
  libswscale      8.  2.100 /  8.  2.100
  libswresample   5.  2.100 /  5.  2.100
  libpostproc    58.  2.100 / 58.  2.100
 V....D av1_nvenc            NVIDIA NVENC av1 encoder (codec av1)
 V....D h264_nvenc           NVIDIA NVENC H.264 encoder (codec h264)
 V....D hevc_nvenc           NVIDIA NVENC hevc encoder (codec hevc)




7.转码试试效果

E:\videos\8k>ffmpeg -hwaccel cuda -i 8K.mp4 -c:v hevc_nvenc -b:v 40M -c:a copy -f hls -hls_time 2 -hls_list_size 0 index.m3u8

相关文章:

  • 高考后的IT专业启航:暑期预习指南与学习路线图
  • [ACM独立出版]2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024)
  • 微软子公司Xandr遭隐私诉讼,或面临巨额罚款
  • 每天一个数据分析题(四百二十三)- 置信区间
  • 研华PCI-1711板卡在WIN10教育版系统无法安装驱动
  • 【04】微服务通信组件Feign
  • 【Vue3组件】LottieAnimation组件封装,用于流畅的页面动画效果
  • 【常见开源库的二次开发】基于openssl的加密与解密——openssl认识与配置(一)
  • C/C++高性能网络库libhv
  • statswrapper.sh 对多个fastq/fasta文件进行基础信息计算
  • Python爬虫速成之路(1):获取网页源代码
  • Qt编程技巧小知识点(1)TCP缓存区数据读取
  • LabVIEW实现LED显示屏视觉检测
  • 相机光学(三十一)——暗房设置的要求
  • Java面试八股之Redis单线程为什么性能高
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • CSS盒模型深入
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • java8 Stream Pipelines 浅析
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • Just for fun——迅速写完快速排序
  • php的插入排序,通过双层for循环
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • Travix是如何部署应用程序到Kubernetes上的
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • 初识MongoDB分片
  • 大整数乘法-表格法
  • 第十八天-企业应用架构模式-基本模式
  • 高性能JavaScript阅读简记(三)
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 手写双向链表LinkedList的几个常用功能
  • 项目管理碎碎念系列之一:干系人管理
  • 学习笔记:对象,原型和继承(1)
  • 用Canvas画一棵二叉树
  • 自动记录MySQL慢查询快照脚本
  • 最近的计划
  • Spring Batch JSON 支持
  • ​ArcGIS Pro 如何批量删除字段
  • ​ssh免密码登录设置及问题总结
  • ​第20课 在Android Native开发中加入新的C++类
  • ## 基础知识
  • #include
  • #pragma multi_compile #pragma shader_feature
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (13)DroneCAN 适配器节点(一)
  • (2)MFC+openGL单文档框架glFrame
  • (7) cmake 编译C++程序(二)
  • (C++)八皇后问题
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (二开)Flink 修改源码拓展 SQL 语法
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (十) 初识 Docker file