FFmpeg 中的 HuffYUV 和 ffvhuff 编解码器有什么区别?

Has*_*ziz 7 video codec ffmpeg video-conversion video-encoding

这样做ffmpeg -codecs | grep -i huffyuv表明我的 FFmpeg 版本支持三个不同版本的 HuffYUV 无损视频编解码器:

DEVI.S ffvhuff              Huffyuv FFmpeg variant
DEVI.S huffyuv              HuffYUV
D.VI.S hymt                 HuffYUV MT
Run Code Online (Sandbox Code Playgroud)

我知道 HuffYUV MT 是多线程的,我的构建似乎只支持解码它,但是标准编HuffYUV解码器和ffvhuffFFmpeg 版本之间有什么区别?这有记录在任何地方吗?

llo*_*gan 5

ffmpeg编码方面有两个主要区别。

像素格式

ffvhuff 支持更多像素格式(44 与 3)。

请参阅ffmpeg -h encoder=ffvhuffffmpeg -h encoder=huffyuv了解每个编码器支持的像素格式列表。

每帧霍夫曼表

ffvhuff 支持每帧(上下文自适应)霍夫曼表,这可以导致更小的输出文件大小。但编码速度较慢,因为它强制线程计数为 1。

默认情况下使用每帧霍夫曼表。它可以通过 启用-context 1

除了像素格式和每帧霍夫曼表之外,它们几乎完全相同。

  • @Prometheus ...为了澄清我之前的评论,这些是我在进行无损输出时使用的编码器。专业的数字档案社区已在 Matroska 中采用 FFV1 + FLAC,因此我会推荐任何档案工作使用 FFV1 + FLAC。否则,如果您只是将 VHS 数字化以供消费者级别使用,那么我会提供常规的有损 H.264(偶尔是 HEVC)。 (2认同)