0

我在使用 SIP 和 RTP over UDP 打包 h.264 流时遇到了一些问题。我正在对 mp4 中的视频 avc 轨道使用 FU-A 打包模式。我花了一些时间来获得正确的分段,RTP 数据包上的持续时间时间戳,以及在分段单元上的最后一个数据包上设置标记位。有人可以看看我在链接下面发布的数据包,这些数据包流式传输下面指示的 mp4。您将需要使用 ssrc 0x1653 检查wireshark pcap 中的第一个h264 RTP 流,这是我要打包的流。正在接收流的视频电话不显示流,我正在尝试解决原因。感谢您的任何分析。保罗

http://antinori.us/h264.packets.pcap

http://antinori.us/beck-videoplayback.mp4

4

1 回答 1

1

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

Fragmentation Unit 结构本身看起来不错。

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

  1. 可能是 PPS (Packet #72) 不正确。该值与 SPS(Packet #71) 完全相同。让我们假设 PPS 是正确的。通常 PPS 比 SPS 短(在我的情况下只有 4 个字节 - H.264 Baseline profile 甚至 H.264 High Profile。)
  2. 在 SDP(数据包 #67)中间,有一个字段“a”,参数为“profile-level-id”,值应该是 NAL IDR 之后的前 3 个字节,因此值应该是“42C01E”

为了您的信息,我制作了 SPS 的副本(序列参数集 - 数据包 #71)

6742c01e924405017fcb080000030008000003018078b177ffffffffffffe0

在第一个 NAL 单元序列参数集字节 (67) 之后,接下来的三个字节用于“profile-level-id”

于 2012-08-16T12:28:23.050 回答