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. The receiver may be able to use this ASCII string directly (e.g., if it’s using a “H264VideoFileSink” object to write the H.264 data to a file); see, for example, the code for “openRTSP”. Alternatively, the receiver can convert this ASCII string into the actual H.264 NAL unit data (for SPS and PPS), by calling parseSPropParameterSets() (There are several examples of this in the code.) Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel