Video streaming 在RTP UDP上以FU-A模式打包h264流时出现问题

Video streaming 在RTP UDP上以FU-A模式打包h264流时出现问题,video-streaming,h.264,mp4,rtp,Video Streaming,H.264,Mp4,Rtp,我在通过UDP使用SIP和RTP打包h.264流时遇到一些问题。 我在mp4中使用FU-A打包模式制作视频avc曲目。 我花了时间来获得正确的分段,在RTP数据包上加上持续时间戳,并在分段单元的最后一个数据包上设置标记位。 有人可以看一看我在下面的链接中发布的数据包,它流式传输下面所示的mp4。您需要使用ssrc 0x1653检查wireshark pcap中的第一个h264 RTP流,这是我尝试打包的流。正在接收流的视频电话没有显示流,我正在尝试排除原因。谢谢你的分析。 保罗 首先,我不知道

我在通过UDP使用SIP和RTP打包h.264流时遇到一些问题。 我在mp4中使用FU-A打包模式制作视频avc曲目。 我花了时间来获得正确的分段,在RTP数据包上加上持续时间戳,并在分段单元的最后一个数据包上设置标记位。 有人可以看一看我在下面的链接中发布的数据包,它流式传输下面所示的mp4。您需要使用ssrc 0x1653检查wireshark pcap中的第一个h264 RTP流,这是我尝试打包的流。正在接收流的视频电话没有显示流,我正在尝试排除原因。谢谢你的分析。 保罗


首先,我不知道mp4文件结构,但知道H.264打包。 根据我对H.264打包的了解,似乎有两个问题

碎片单元结构本身看起来很好

在您的数据包文件中“http://antinori.us/h264.packets.pcap“

  • 可能是PPS(数据包#72)不正确。该值与SPS(数据包#71)完全相同。让我们假设PPS是正确的。 通常PPS比SPS短(在我的例子中,只有4个字节—H.264基线配置文件,甚至H.264高配置文件)
  • 在SDP(数据包#67)的中间,有一个字段“a”,带有参数“profile level id”。该值应为NAL IDR后面的前3个字节,因此该值应为“42C01E”
  • 为您提供信息,我制作了一份SPS(序列参数集-数据包#71)

    6742C01E924405017FCB080000300800003018078B177FFFFFFFFFF0

    在第一个NAL单元序列参数设置字节(67)之后,接下来的三个字节用于“配置文件级别id”