StreamParser
打开工具
Codec Comparison

H.264 和 H.265 有什么区别?

H.264 更成熟、兼容性更广;H.265 压缩效率更高,但编码复杂度和设备兼容要求也更高。对码流解析来说,两者的 NAL header、参数集和 slice 语法都有明显差异。

维度 H.264 / AVC H.265 / HEVC
定位 高清和通用视频编码标准,兼容性强。 面向更高压缩效率,常用于 4K/8K/HDR。
参数集 SPS、PPS。 VPS、SPS、PPS。
NAL header 包含 forbidden_zero_bit、nal_ref_idc、nal_unit_type。 包含 forbidden_zero_bit、nal_unit_type、nuh_layer_id、nuh_temporal_id_plus1。
帧类型判断 主要结合 VCL NAL 类型和 slice_type。 需要结合 HEVC VCL NAL 类型、IRAP 类型和 slice_type。
兼容性 浏览器、播放器、硬件解码支持更普遍。 新设备支持较好,旧设备或浏览器可能受限。

压缩效率不是唯一指标

H.265 通常可以在相近画质下降低码率,但这取决于编码器、preset、码率控制、内容复杂度和播放设备。对实时场景来说,编码延迟、硬件编码支持和解码功耗同样重要。

为什么解析时不能混用规则

H.264 和 H.265 的 NAL header 位宽不同,参数集结构不同,slice header 条件分支也不同。如果用 H.264 的逻辑读 H.265,字段值会整体错位;反过来也一样。解析器必须先检测编码格式,再按对应协议读取字段。

选择建议