【发布时间】:2014-07-17 23:02:40
【问题描述】:
我正在使用 TCP/RTSP/RTP 在 Wireshark 中处理一堆 H264 数据。现在我正在尝试识别 NAL 标头。我该怎么做呢?如何判断我的 H264 数据是原始数据还是具有 NAL 标头?
谢谢
【问题讨论】:
标签: h.264 wireshark rtsp packet rtp
我正在使用 TCP/RTSP/RTP 在 Wireshark 中处理一堆 H264 数据。现在我正在尝试识别 NAL 标头。我该怎么做呢?如何判断我的 H264 数据是原始数据还是具有 NAL 标头?
谢谢
【问题讨论】:
标签: h.264 wireshark rtsp packet rtp
NAL 标头以前缀代码 0x000001 开头(有时为 0x00000001,具体取决于编码器实现。)两个前缀代码之间的所有数据都由 NAL 单元的数据组成。因此,如果搜索起始前缀代码,您需要做的是,它之后的下一个字节将是 NAL 标头。
您还可以做的是查看 Wireshark 是否可以使用“Decode As..”->“RTP”对流进行解码,Wireshark 可能会显示类似
的内容Real-Time Transport Protocol
10.. .... = Version: RFC 1889 Version (2)
..0. .... = Padding: False
...1 .... = Extension: True
.... 0000 = Contributing source identifiers count: 0
0... .... = Marker: False
Payload type: DynamicRTP-Type-96 (96)
Sequence number: 35525
Timestamp: 2966614680
Synchronization Source identifier: 0x00000001 (1)
Defined by profile: 48862
Extension length: 3
Header extensions
Header extension: 1711276032
Header extension: 2615214809
Header extension: 1912602625
H.264
NAL unit header or first byte of the payload
0... .... = F bit: No bit errors or other syntax violations
.01. .... = Nal_ref_idc (NRI): 1
...1 1000 = Type: STAP-A (24)
H264 bitstream
用于该 RTP 数据包信息。
【讨论】: