使用 nvdecode(nvidia video sdk 7.1)和 ffmpeg 解码视频

使用 nvdecode(nvidia video sdk 7.1)和 ffmpeg 解码视频

如何启用和使用解码(nvidia video sdk 7.1)ffmpeg解码视频??

谢谢

答案1

根据FFmpeg Wiki:硬件加速

CUVID 提供 H264、HEVC、MJPEG、mpeg1/2/4、vp8/9、vc1 解码器。编解码器支持因硬件而异。全套编解码器仅在 Pascal 硬件上可用,增加了 VP9 和 10 位支持。

在这种情况下,使用 CUVID 进行示例解码,将帧复制到系统内存:

ffmpeg -c:v h264_cuvid -i input output.mkv

使用 CUVID 和 NVENC 进行完全硬件转码:

ffmpeg -hwaccel cuvid -c:v h264_cuvid -i input -c:v h264_nvenc -preset slow output.mkv

部分硬件转码,帧通过系统内存(这对于转码 10 位内容是必要的):

ffmpeg -c:v h264_cuvid -i input -c:v h264_nvenc -preset slow output.mkv

如果 ffmpeg 编译时支持 libnpp,则可以使用它将基于 GPU 的缩放器插入链中:

ffmpeg -hwaccel_device 0 -hwaccel cuvid -c:v h264_cuvid -i input -vf scale_npp=-1:720 -c:v h264_nvenc -preset slow output.mkv

-hwaccel_device选项可用于指定 ffmpeg 中的 cuvid hwaccel 要使用的 GPU。

相关内容