[Live-devel] Detecting/Notifying on new multicast media
Ross Finlayson
finlayson at live555.com
Wed Oct 15 14:29:26 PDT 2008
>I am writing a streaming application with live555, both on the server
>and client ends. I will be using live555 to mulitcast MPEG2 transport
>streams over RTP to the clients. Periodically, the server will stop
>multicasting the current file and switch to a new one, sending it to
>the same multicast address and port to which the previous TS was being
>sent.
>
>Now, obviously, the second TS may defer in parameters from the 1st TS.
>For example, the picture size could be different, or it could contain
>a different video codec. I am thinking that the decoder on the client
>end will need, somehow, to know of this change. Are there any
>facilities in live555, the TS protocol or the RTP protocol that would
>help with this.
No, because the RTP payload format for Transport Stream data is
extremely simple: RTP packets contain just the Transport Stream data
(in groups of 188-byte transport 'packets'), with no extra
RTP-specific parameters. In other words, you don't do anything extra
to our RTSP/RTP/RTCP code to stream your 'joined' Transport Stream
data; instead, all of the information that a client's decoder
requires needs to be in the Transport Stream data itself.
Fortunately, though, the Transport Stream header (inside the
Transport Stream data itself - independent of RTP) includes a 1-bit
"discontinuity_indicator" that you can use to indicate - to a
receiver - that a Transport Stream 'join' has taken place. (See the
ISO-IEC specification for Transport Streams: ISO-IEC 13818-1, section 2.4.3.5.)
Ross Finlayson
Live Networks, Inc. (LIVE555.COM)
<http://www.live555.com/>
More information about the live-devel
mailing list