【问题标题】:Some HEVC videos must be decoded with LAV某些 HEVC 视频必须使用 LAV 解码
【发布时间】:2022-01-27 02:32:49
【问题描述】:

我尝试在这些参数中使用 ffmpeg(足够现代的版本)将一系列 png 文件编码为 HEVC 编解码器视频:

ffmpeg -hwaccel cuda -r 60000/1001 -f image2 -i output%05d.png -c:v hevc_nvenc -preset slow -profile:v main10 -level 6.2 -pix_fmt yuv444p16le 输出。 mkv

然后我得到一个 mkv 视频文件,我发现它不能用 DXV2 解码,而是用 LAV 解码器解码,这占用了我很多 CPU。但是,我还发现其他 HEVC 编解码器视频文件具有与我的视频相似的属性,可以使用我的 GPU 使用 DXV2 解码器进行解码。谁能帮我找到一种方法,使 HEVC 编解码器视频可以使用 GPU 解码?非常感谢。

【问题讨论】:

    标签: ffmpeg


    【解决方案1】:

    我猜你的问题是-pix_fmt yuv444p16le。我不知道你的 PNG 是什么格式,但它通常是 8 位/分量 RGB。您将其上采样为 16 位/分量 4:4:4 YUV,然后将其用作 HEVC 编码器的输入,无论是其最接近支持的邻居(10 位/分量 YUV-4:4:4,根据到源代码中的 cmets)。

    4:4:4 有时不受硬件解码器支持(请参阅here)。另请参阅here 的引用:

    许多现有的终端客户端设备/GPU/SoC 支持硬件解码 4:2:0 但不支持 4:4:4,而新的硬件和 GPU 正在引入 4:4:4 解码器,许多现有设备仅支持 4:2 :0 解码。

    我会尝试-pix_fmt p010le,这应该会产生 YUV-4:2:0 10-bits/component,它应该适用于所有硬件解码器。

    【讨论】:

    • 非常感谢。我今天将尝试使用 p010le 进行编码
    • 非常感谢!它有效
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-01
    相关资源
    最近更新 更多