常见音视频编码二进制分析笔记
文章目录
视频
H.264 (AVC)
标准来源:ITU-T H.264 | ISO/IEC 14496-10
起始码:0x00000001(NALU 分隔符,标准 7.3.1 节定义,用于区分网络抽象层单元)
NALU 类型(核心标识):
0x67:SPS(序列参数集),存储分辨率、帧率等核心解码参数(标准 7.3.2.1 节)
0x68:PPS(图像参数集),存储切片、量化参数等解码配置(标准 7.3.2.2 节)
0x65:关键帧(即时解码刷新帧),独立解码、刷新参考帧(标准 7.3.2.6 节,关键帧核心类型)
0x41:非关键帧(前向预测帧),依赖前序帧解码(标准 7.3.2.5 节)
H.265 (HEVC)
标准来源:ITU-T H.265 | ISO/IEC 23008-2
起始码:0x00000001(NALU 分隔符,标准 7.4.1 节定义,与 H.264 兼容基础格式)
NALU 类型(2 字节标识,核心标识):
0x4001:VPS(视频参数集),HEVC 独有,管理多图层、3D 视频参数(标准 7.4.2.1 节)
0x4201:SPS(序列参数集),存储分辨率、编码等级等核心参数(标准 7.4.2.2 节)
0x4401:PPS(图像参数集),存储切片解码相关配置(标准 7.4.2.3 节)
0x2601:关键帧(即时解码刷新帧),HEVC 标准定义的关键帧类型,独立解码(标准 7.4.3.3 节)
0x0201:非关键帧(清洁随机接入帧),非 IDR I 帧,支持随机接入(标准 7.4.3.5 节)
音频
AAC (Advanced Audio Coding)
标准来源:ISO/IEC 13818-7(通用音频标准) | ISO/IEC 14496-3(音频对象编码标准)
核心标识(ADTS 格式,标准 1.A.3.1 节定义):
0xFFF:12 位同步头,用于快速定位 AAC 帧起始位置(同步字字段)
ADTS:音频数据传输流,包含采样率、声道数、帧长度等 7 字节固定帧头结构
G.711A (PCMA)
标准来源:ITU-T G.711(脉冲编码调制标准)
核心特征
核心参数(标准 A.1 节定义):8kHz 采样率、8bit A 律量化、64kbps 固定码率
关键标识:静音值0xD5(标准 A.1.2 节定义,A 律量化零电平对应编码值)
G.711U (PCMU)
标准来源:ITU-T G.711(脉冲编码调制标准)
核心特征
核心参数(标准 B.1 节定义):8kHz 采样率、8bit μ 律量化、64kbps 固定码率
关键标识:静音值0xFF(标准 B.1.2 节定义,μ 律量化零电平对应编码值)
OPUS
标准来源:IETF RFC 6716(实时音频编码标准)
核心标识:TOC 字节(Table Of Contents):帧首第 1 个字节,标准 5.1 节定义,用于标识帧类型、声道数、编码模式、带宽参数
无固定同步头,依赖 RTP 协议载荷或帧长度字段定位帧边界