The (slightly) confusing part about multicasting
When unicasting with RTSP/RTP, the SDP for the stream contains the IP address of the server which sources the stream. The client issues issues a command via RTSP to set up the session and the server begins sending data to the client.
When multicasting, things work a little a differently. The multicast IP used is the destination address that the server will send the stream to on a continual basis.
However, in order to receive the stream, the client needs to know what the multicast IP is so that it can join the multicast group (and so be part of the set of hosts which will receive the data the server’s sending). In SDP for multicast streams, the multicast IP—the destination—replaces the source address.
This works in the most mundane manner possible: multicast groups live in well-defined ranges, so it’s trivial for a client to just check if the IP listed in the SDP is a multicast address or not, and deal with it appropriately if so.
This is also why the SDP describing multicast streams must specify fixed port numbers (because the server’s sending the stream from the outset), whereas in unicast SDP, the port is usually specified as zero (meaning “pick a free port for this client when the session is launched”).
It’s easy when you know how.