| # | 类型 | 名称 | 偏移 | 长度 | Frame | 起始码 | Ref IDC | TID |
|---|
上传码流文件
拖拽 .h264 或 .h265 裸流文件到此处
— 或 —
支持 Annex B 字节流格式(起始码 0x000001 / 0x00000001)
解析结果
| # | NAL # | 类型 | POC | Frame Num | TID | GOP |
|---|
解析错误
关于 H.264/H.265 码流结构
NAL 单元与 Annex B 字节流
H.264(AVC)与 H.265(HEVC)编码的视频在传输和存储时通常采用 Annex B 字节流格式。该格式通过起始码(Start Code)来分隔连续的 NAL(Network Abstraction Layer)单元。起始码可以是 3 字节的 0x000001 或 4 字节的 0x00000001,解析器通过扫描这些特征字节序列来定位每个 NAL 单元的边界,从而完成码流解析的第一步。
参数集:SPS、PPS 与 VPS
H.264 码流中,SPS(序列参数集)包含图像分辨率(通过 frame_cropping 偏移量计算实际宽高)、profile 与 level 标识、色度采样格式(chroma_format_idc)等全局信息。H.265/HEVC 在此基础上增加了 VPS(视频参数集),用于描述多层编码、可伸缩视频等高级特性。VPS 中的 profile_tier_level 结构定义了编码器的能力等级,而 conformance_window 标志用于从编码分辨率推导显示分辨率。
帧类型识别与 GOP 分析
通过解析 VCL NAL 单元中的 Slice Header,可以提取 slice_type 字段,从而判断当前帧是 I 帧(帧内预测)、P 帧(前向预测) 还是 B 帧(双向预测)。连续的编码帧组成一个 GOP(Group of Pictures),通常以 I 帧为起始。GOP 长度和结构直接影响视频的随机访问性能和压缩效率。本工具自动统计 I/P/B 帧数量与 GOP 分布,辅助分析编码器配置。
SEI 消息与补充增强信息
SEI(Supplemental Enhancement Information)负载携带不影响解码的辅助信息,常见的包括缓冲周期(buffering_period)、图像时序(pic_timing)、用户自定义数据(user_data_unregistered)等。这些消息在码流分析、调试和合规性检测中具有重要价值。
位流读取与标准参照
裸码流解析的核心是基于标准的位流读取。H.264 语法参照 ITU-T H.264 (08/2024) 第 7.3 节,H.265 语法参照 ITU-T H.265 (01/2026) 第 7.3 节。本解析器实现了完整的 Exp-Golomb 熵解码、定长和变长字段读取,以及对 ue(v)、se(v) 等描述符的精确处理。所有解析逻辑在 Web Worker 中异步执行,确保大文件解析时不影响页面交互。