views:

766

answers:

1

I am looking for the advantages of using RTSP to support streaming video to multiple devices. I have:

  1. Benefits of TCP.
  2. Commonly used protocol on web so supported by lots of infrastructure.
  3. Commonly used on web so lots of tools and stacks.
  4. Can use SSL.
  5. Wide device support (not sure on this one)

Any other ideas?

+1  A: 

RTSP has the benefit of being highly flexible, but at the cost of being more complicated to implement. It is also a widely supported standard, especially on mobile phones where it is a part of the 3GPP stack.

Answering directly to your list points:

  1. RTSP can use UDP and TCP. Some clients will switch gracefully between transport protocols.

  2. There are quite a few alternatives; both open source and comercial. The comercial offerings tend to be expensive but quite functional while the open source offerings are more flexible but tend to lack quite a lot of polish.

  3. Although there are quite a few libraries, there are not as many finished projects as one would like, most projects are in a stable state but are quite old:

    • MPEG4IP (originally by Cisco) has not seen development in over a year
    • DSS lags behind QTSS occasionaly. Some talk of a fork has cropped up but nothing definite has shown up
    • VLC is the standard swiss army knife for media, including streaming, but the server is NOT designed for heavy load. VLC is also quite hard to coerce into being just a simple streamer client.
  4. DSS does not support SSL for the RTSP connection as far as I know, and using SSL to stream the actual video may be too slow to be practical.

  5. RTSP is supported by VLC, QuickTime Player, mplayer, RealPlayer and most 3G compatible mobile phones (mileage may vary though).

The advantage of using multicast and UDP as well as library support may make RTSP/RTP very worthwhile for internal applications. The breadth of support makes it also quite a good choice for applications which need to support a wide breadth of clients. The actual cost of complexity may not be so advantageous for external applications where compatability with preexisting technology is unnecesary, for example internet radios that do not need to support cellphones.

Phillip Whelan