RTSP and Darwin Streaming Server
The exploration of RTSP, particularly Darwin Streaming Server, was conducted for a project that required video-on-demand streaming on mobile phones, both feature phones and smartphones. The application format developed is a web application that facilitates this need.
RTSP, or Real-Time Streaming Protocol, is one of the application layer transport protocols, similar to HTTP (Hypertext Transport Protocol) and FTP (File Transfer Protocol). This protocol allows clients or end-users to stream multimedia from various devices (mobile phones) and applications (VLC Media Player, QuickTime Player, etc.). RTSP was developed by RealNetworks, Netscape, and Columbia University. Some examples of this protocol’s usage include streaming media content or Video on Demand, such as Vuclip and YouTube Mobile.
"A general overview of the video streaming flow using RTSP as the protocol can be seen above."
To implement this flow, in addition to an HTTP server, a streaming server is also required. Some streaming servers that can be used are:
- Wowza (paid)
- QuickTime Streaming Solution (paid)
- Darwin Streaming Server (open-source)
This article will further discuss Darwin Streaming Server because it is open-source and, therefore, accessible to everyone. Darwin Streaming Server (DSS) is an open-source streaming server released by Apple (accessible at http://dss.macosforge.org/). It supports content delivery through media streaming, such as MP4 and 3GP files. Essentially, Darwin Streaming Server is a Mac-based application stored on a server. However, since DSS is an open-source project, it has been ported to Windows and Linux as well[1].
Installing Darwin Streaming Server on Windows is quite simple[2], but certain requirements must be met before installation. For example, the PERL interpreter must be installed on the server, as a PERL script will be executed during the installation process. Once installation is complete, the Darwin Streaming Server admin page can be accessed via a web browser at http://[SERVER IP ADDRESS]:1220. A login page will appear, along with some standard pre-processing steps before the dashboard page is displayed. Port 1220 is used for the Darwin Streaming Server admin page, while for streaming multimedia content, the default port used is port 554.
Darwin Streaming Server also provides sample multimedia content, such as MP3, MP4, and MOV files (each available in various bitrates). These files are placed in the movies folder (automatically created when Darwin Streaming Server is installed). If the server admin wants to add other multimedia content, the files should be placed in the same folder.
It is important to understand the concept of "hinting" files in the streaming process using Darwin Streaming Server. MP4 or 3GP files cannot simply be dragged and dropped into the movies folder and streamed directly to end-users. These files inherently contain multiple tracks—typically a video track and an audio track. The "hinting" process involves adding two additional hint tracks to the video package. These hint tracks help inform web browsers and multimedia players that the targeted file is a streaming file, ensuring that data packets are sent incrementally rather than all at once.
For the hinting process, open-source tools such as MP4BOX can be used. MP4BOX adds the necessary tracks to enable the streaming of content via RTSP.
[1] As of May 6, 2014, for Windows and Linux, DSS is only available in version 5.5.5, whereas for Mac OS, the available DSS version is 6.0.3.
[2] Installation Guideline: http://www.digitalrapids.com/downloads/docs/Darwin_Streaming_Server_Setup.pdf