On Mon, May 17, 2021 at 6:18 PM Ross Finlayson <finlay...@live555.com> wrote:
>
> A receiver of a H.264 RTSP/RTP stream cannot rely on receiving the SPS and 
> PPS NAL units inside the stream.  As you’ve discovered, if your server sets 
> “reuseFirstSource” to True, then only the first-connected receiver will get 
> the SPS and PPS NAL units (if they appeared at the start of the media source) 
> - but even this isn’t reliable, because the RTP packets are datagrams.
>
> Instead, the RTSP/RTP receiver should get the SPS and PPS NAL units from the 
> stream’s SDP description (which is returned as the result of the RTSP 
> “DESCRIBE” command).  I.e., your receiver should (after it’s handled the 
> result of “DESCRIBE”) call
>         MediaSubsession::fmtp_spropparametersets()
> on the stream’s “MediaSubsession” object (for the H.264 video ‘subsession’).  
> This will give you an ASCII string that encodes the SPS and PPS NAL units.

Well, the receiver is ffmpeg-based and is out of my control (it's
launched by an external video storage software). Looks like missing
SPS/PPS is not the only problem, in my opinion ffmpeg doesn't like a
bunch of non-IDR leading frames. Is it absolutely impossible to
discard all NALs for the given RTP stream on the server side until
SPS/PPS arrive?

- Dmitry Bely

_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to