Multicasting
is bandwidth-conserving technology that reduces bandwidth usage by simultaneously
delivering a single stream of information to multiple network recipients. This technology is used
primarily on delimited networks (intranets), as each user needs an uninterrupted data flow and should
not rely on network routers.
3.6 How to Stream H.264
Deciding on the combination of protocols and methods to use depends on your viewing
requirements and on the properties of your network.
RTP+RTSP:
This method (actually RTP over UDP and RTSP over TCP) should be your first
consideration for live video, especially when it is important to always have an up-to-date video
stream, even if some images are lost due to network problems. This could be configured as
Multicast or Unicast.
Multicasting
provides the most efficient usage of bandwidth, especially when there are large
numbers of clients viewing simultaneously. Note however, that a multicast broadcast could not pass
a network router unless the router is configured to allow this. For example, it is not possible to
multicast over the Internet.
Unicasting
should be used for video-on-demand broadcasting, so that there is no video traffic on
the network until a client connects and requests the stream. However, as more and more unicast
clients get connected, the traffic on the network will increase and may cause congestion. Although
there is a maximum of 10 unicast viewers, note that all multicast users combined count as 1
unicast viewer.
RTP/RTSP:
This unicast method is RTP tunneled over RTSP. This could be used to exploit the fact
that it is relatively simple to configure firewalls to allow RTSP traffic.
RTP/RTSP/HTTP
or
RTP/RTSP/HTTPS:
These two methods could also be used to traverse
firewalls. Firewalls are commonly configured to allow the HTTP protocol, allowing RTP to be
tunneled.