Search code examples
gstreamerh.264rtpparrot

"Weird" NALU multiplexing from Parrot Anafi RTSP stream


The RTP NALU stream of a Parrot Anafi drone provided via RTSP seems to kind of "multiplex" several NAL units into a bigger outer NAL unit at RTP level. Trying to use a GStreamer pipeline, which just opens the RTSP source and then forwards them after "rtph264depay" and "rtph264pay" again does not work on the far end: The mess arrives at the browser and they obviously also never have seen such.

Here an example of SPS and PPS and a non-IDR slice send as one big chunk:

enter image description here

Up to now I never have seen such a "grouping", I'm used to see SPS and PPS as separate RTP packets. Obviously all browsers too, since they are not able to decode such a "group".


Solution

  • The payload is OK, it is STAP-A aggregated. The problem with Parrot Anafi is: They don't send IDR frames. Browsers need that. No IDR, no video.