我有一台AXIS IP摄像机(M1054),可通过RTSP发送H264 / RTP流。

不幸的是,它们根本不发送SPS和PPS NALU,它们仅传输(分段的)编解码器片。

我正在尝试使用iOS的VideoToolbox框架解码该流,该框架需要H264 SPS和PPS元组正确设置CMFormatDescription

我不知道如何通过查看实际的H264 slice 来综合必要的参数集?

更新:我已经捕获了一个示例 session ,其中mplayer设法通过Wireshark显示流。捕获文件is here,您可以看到整个RTSP设置以及几秒钟的RTP。

最佳答案

RTP包含3组流。

媒体的

  • RTP
  • RTSP用于控制连接
  • RTCP,用于发送方确认和时间戳。

  • 尽管SPS / PPS通常在流中处于频带内,并通过RTP进行传输-但它不必在那里(也可能不应该在那里)。 SPS / PPS作为设置过程(RTSP)的一部分进行传输。我通常建议在调试器中运行http://www.live555.com/以了解该过程的详细信息-但http://www.live555.com/当前处于关闭状态。

    在极少数情况下,您可以从众所周知的受限H.264流中重新创建SPS / PPS。但是总的来说你不能。因此,SPS / PPS是H.264流的元数据,不会在其他任何位置重复存储。

    因此,如果您熟悉设置过程-RTSP-这将非常明显。

    10-08 00:18