首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于ffmpeg的GPU加速视频处理

基于ffmpeg的GPU加速视频处理
EN

Stack Overflow用户
提问于 2017-06-13 00:52:04
回答 4查看 150.3K关注 0票数 66

我想使用ffmpeg加速视频编解码与NVIDIA GPU。

来自NVIDIA网站

NVIDIA GPU包含一个或多个基于硬件的解码器和编码器(独立于CUDA核心),为几个流行的编解码器提供完全加速的基于硬件的视频解码和编码。通过卸载解码/编码,图形引擎和CPU可以自由进行其他操作。

我的问题是:我能否使用CUDA核心来编码和解码视频,也许更快?

EN

回答 4

Stack Overflow用户

发布于 2017-06-13 10:14:00

FFmpeg提供了一个硬件加速子系统,其中包括NVIDIA:https://trac.ffmpeg.org/wiki/HWAccelIntro

为了支持使用NVIDIA GPU进行GPU辅助编码,您需要:

  • 支持​的GPU
  • 支持操作系统的驱动程序
  • The NVIDIA Codec SDK
  • 配置为--enable-nvenc的ffmpeg (如果在配置时检测到驱动程序,则为默认值)
票数 36
EN

Stack Overflow用户

发布于 2020-08-25 18:50:07

​支持的GPU上快速使用

库达

代码语言:javascript
运行
复制
ffmpeg -hwaccel cuda -i input output

CUVID

代码语言:javascript
运行
复制
ffmpeg -c:v h264_cuvid -i input output

与NVDEC和NVENC的完整硬件转换代码:

代码语言:javascript
运行
复制
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input -c:v h264_nvenc -preset slow output

如果ffmpeg是在支持libnpp的情况下编译的,那么它可以用于在链中插入一个基于GPU的定标器:

代码语言:javascript
运行
复制
ffmpeg -hwaccel_device 0 -hwaccel cuda -i input -vf scale_npp=-1:720 -c:v h264_nvenc -preset slow output.mkv

来源:https://trac.ffmpeg.org/wiki/HWAccelIntro

票数 29
EN

Stack Overflow用户

发布于 2017-06-13 10:24:07

正如Mike提到的,ffmpeg封装了一些HW加速。你应该使用它,而不是去更低层次的方法(官方的NVIDIA libs)第一!

表格显示,NVENC可能是您的候选人。

但是:要小心,做一些基准测试。虽然GPU编码器应该非常快,但与视觉质量相比,它们也比CPU更差。

这里要检查的是:当某些给定比特率的质量被瞄准时,GPU编码器是否与CPU编码器竞争?我会说不(除了非常高的比特率或非常糟糕的质量),但这取决于您的用例。GPU编码并不是提供优势的银弹。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44510765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档