如何MUX RTP流取决于NAL单元的类型

时间:2015-05-25 18:26:12

标签: parsing directshow h.264 rtp

我的工作如下:

  1. 在流式传输视频之前,使用H.264比特流解析器提取每个NAL单元的类型,大小和起始地址。

  2. 在流式传输过程中,单个NAL单元封装在一个RTP数据包中。

  3. 我的问题:我需要使用提取的NAL单元的信息作为多路复用器的输入,因此该多路复用器可以确定RTP数据包是否包含特定的NAL单元类型,例如PPS。如果是这样,它将引导它进入TCP隧道,否则RTP数据包将被引导到UDP隧道。

    仅供参考:我正在使用集成了Qualnet和Directshow的OEFMON 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

rtp标头没有关于NAL类型的信息。您必须解析RTP有效负载以获取nal类型。 以下代码段显示了基础知识:

 nType = getbits(pRaw+12, 3, 5);

其中pRaw是整个RTP数据包的开始,这使得pRaw + 12成为RTP有效负载的开始。因此,该函数实质上从RTP有效载荷数据的开头读取从偏移3开始的5位定义的值。 这在RFC 6184中定义。