YUV 重构文件如何在开源 x.265 编码器中生成?

How YUV reconstructed file is produced in open source x.265 encoder?

由于x.265编码器在解码后生成重建的yuv视频文件 我知道,在开源 x.265 编码器中,您输入原始 yuv 视频,它会为您生成 HEVC 文件以及重建的 YUV 文件。

我的问题是,我可以直接输入HEVC文件来生成重建的yuv文件吗? 如果是,如何?

X.265是HEVC的编码器,不是解码器。您可以使用 ffmpeg 或 openHEVC 解码 HEVC 流。

x.265 encoder produces reconstructed yuv video file after decoding

[..]

it generates HEVC file for you along with reconstructed YUV file

让我澄清一下。是的,x265(和其他编码器)可以在编码期间创建 YUV 文件。但是,它不是用于解码目的。它用于调试目的。编码器的目的是创建可以由解码器解码的视频流。为此,编码器和解码器需要就中间交换格式达成一致,即标准化比特流格式。

这似乎很明显 - 在这种情况下,我指的是 HEVC - 但您必须了解编码器(和解码器)可能存在错误。你如何找到这些错误?你测试!你如何测试?您查看编码器生成的比特流,以及编码器认为解码器在解码时会创建的 YUV 表示。然后你用独立的解码器解码文件,并检查2个YUV文件是否相同。

这里重要的是编码器实际上并没有解码它。相反,YUV 是编码器认为应该由解码器重建的实际内部位图表示,给定比特流中指定的 block/mode 选择。编码器从未解码。它只是按照它认为解码器会做的那样重建位图,然后在比特流中编码重建信息。 (对于参考帧,位图然后用作后续编码帧的目标参考。)

没有。您不能将 HEVC 文件直接输入到 HEVC 编码器,因为编码器没有任何熵解码模块(它包括其他解码模块,如运动补偿、IDCT、Inverse Qunat 等)。但编码器的全部意义在于将原始视频编码为 HEVC 比特流。相反,您可以将 HEVC 流提供给 HEVC 解码器并获得完全相同的重构 YUV。比特匹配编码器用标准解码器解码的 YUV 重建 YUV 确保编码器正常工作