尝试使用 NVDEC 解码 4K 视频时出错

Posted

技术标签:

【中文标题】尝试使用 NVDEC 解码 4K 视频时出错【英文标题】:Error trying to decode 4K video using NVDEC 【发布时间】:2018-07-01 14:40:09 【问题描述】:

我正在尝试将 70GB 的 4K HEVC MKV 文件转换为另一个 HECV 文件,但大小更小。我正在使用带有 Nvidia 加速的 FFmpeg,但是当我执行以下命令时出现错误:

ffmpeg -y -vsync 0 -hwaccel_device 0 -hwaccel cuvid -c:v hevc_cuvid -i input.mkv -c:a copy -c:v hevc_nvenc -preset slow -b:v 10M -bufsize 10M -maxrate 15M -qmin 0 -g 250 -bf 2 -temporal-aq 1 -rc-lookahead 20 -i_qfactor 0.75 -b_qfactor 1.1 output.mkv

错误是:

[hevc_nvenc @ 0000021036b0d000] Provided device doesn't support required NVENC features
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

视频文件有以下详细信息:

似乎 FFmpeg 无法将我的 GPU 识别为支持解码的设备,但我读到 Nvidia 支持我的带有 NVDEC 的卡。

我正在运行带有 i7 4790 和 GTX 1080 的 Windows 10 64 位

【问题讨论】:

这里和nvdec无关。该错误消息来自 hevc_nvenc,并告诉您您的编码参数与 nvenc 不兼容。 【参考方案1】:

NVENC 不支持编码 B 帧,因此 -bf 0 并删除 -b_qfactor 1.1

【讨论】:

感谢您的回复Mulvya,您怎么知道NVENC不支持这些参数?有没有可以找到支持哪些参数的网页? 查看devtalk.nvidia.com/default/topic/1011921/video-codec-sdk/…Nvidia 开发人员的评论

以上是关于尝试使用 NVDEC 解码 4K 视频时出错的主要内容,如果未能解决你的问题,请参考以下文章

使用 FFMPEG 裁剪视频时出错

Spring Boot OAuth2/OpenID Connect Client 尝试解码 Jwt: Malformed Jwk set 时出错

解码 JSON 时出错 - keyNotFound(CodingKeys

我在 Swift 5 上解码 json 时出错

JSON解码时出错:Swift.DecodingError.keyNotFound(CodingKeys(stringValue:“cast”,intValue:nil)

UIImagePickerController 抛出错误:185:创建聚合音频设备时出错:尝试选择视频时出现“啥”