Streaming 3GP


Published on

This article describes how to setup RTSP/RTP based video streaming to FlashLite on Mobile using Darwin streaming server.

  • Be the first to comment

  • Be the first to like this

Streaming 3GP

  1. 1. Streaming 3GP Multimedia Content to Flash Lite Using RTSPThis article explains how to set up 3GP streaming using Real-Time Streaming Protocol (RTSP) in Flash Litefrom Adobe.PrerequisiteFlash Lite 3.xAll details mentioned in this article have been tested on Flash Lite 3.0 devices on Symbian S60 3rdEdition mobile devices.Darwin Streaming ServerDarwin Streaming Server (DSS) is an open source, free-to-use streaming server from Apple. Thecommercial version of this server is the Quick Time Streaming Server. The open source version can bedownloaded from the following link: is a prerequisite for DSS installation. Install it before installing DSS: is a tool used for “hinting” the 3GP media files. It can be downloaded from the followinglocation: Player (optional)IntroductionThere are two major methods of multimedia content delivery on the internet: 1. Streaming 2. Progressive downloadStreaming makes use of RTSP/RTP/RTCP protocol stacks to deliver real-time media content over theinternet. It runs on top of the UDP protocol stack, hence the delivery of RTP packets is not guaranteed.The player has to employ error concealment algorithms to compensate for the lost packets. However,this method is fast and there is no retransmission overhead, making it the right choice for real-timemedia delivery applications such as Live TV, video conferencing, and so on. An RTSP streaming serversuch as Darwin or Helix is required.
  2. 2. Progressive download, on other hand, uses the same set of protocol stacks that are used fordownloading a web page by a browser—namely, HTTP over TCP/IP protocol stacks. However, the playerdoesn’t wait for the entire media file to be downloaded and can start the playback as soon as sufficientdata required for the codec to start decoding has been received. This provides the benefit of havingguaranteed delivery, hence the player doesn’t have to worry about error concealment. As a result, thevideo plays without any artifacts. This method requires a standard HTTP server such as Apache.Another option for streaming is using RTMP, which is a proprietary protocol of Adobe developed forstreaming audio/video data to Flash. RTMP also employs a TCP/IP protocol stack. It tries to achieve real-time delivery over a reliable connection. Most Content Delivery Networks (CDNs) deploy RTMP for flashstreaming. The method requires Adobe Flash Media Server or Wowza. Red5 is an open-source flash-streaming server.A detailed discussion of streaming and progressive download is beyond the scope of this article.Flash Lite 3.x supports both HTTP-based progressive download and streaming. The codecs below can beused with each of the delivery mechanisms: Media Container Video Codec Audio Codec FormatProgressive Download FLV On2 VP6/Sorenson MP3 SparkStreaming 3GP/MP4 MPEG-4/H.264/H.263 MP3/AACFor a more detailed list of supported codecs, please see the device specifications at: this article addresses streaming, the discussion will be restricted to 3GP files. 3GP is a containerfor audio and video data. Video can be encoded using MPEG-4/H.264/H.263 codecs; audio can beencoded using the MP3 or AAC codec. Other formats may be possible but were not tested. The followingis the recommended video specification for 3G: Resolution – 320 x 240 Frame rate – 25 frames per second (fps) Bit rate – 360 KBps (Kilo Bits Per Second)The recommended audio encoding is: Sampling rate – 44.1 KHz Channel – Stereo Bit rate – 128 KBps
  3. 3. The above settings offer a good tradeoff between the available 3G channel bit rate and quality. H.264outperforms MPEG-4 and H.263, that is, it gives much better visual quality for the same bit rate.Similarly, AAC outperforms MP3 for audio. The encoding parameters, such as codec, bit rate, frame persecond, audio sampling rate, and so on, can be decided based on the application needs, availablebandwidth, and device capabilities.Typically for 3G, a bit rate of 260 to 500 KBps gives a good performance and offers a good tradeoffbetween bit rate and quality. Once the 3GP file is created, it has to be “hinted” by MP4Box to allow DSSto stream that file. Use the following command for hinting:Mp4box –hint filename.3gpIf hinting is not done, the player will give an unsupported format error. Once “hinted”, the files can beplaced in the following folder and streamed using DSS:C:Program FilesDarwin Streaming ServerMoviesDarwin installationThe path given for the Movies (above) is the default location of the Darwin installation. The steps forinstalling DSS are as follows:
  4. 4. Extract the DSS setup to any desired location.
  5. 5. Browse to that location and double click on install.bat. The installation will begin.
  6. 6. You will be asked for an admin password, which can be specified, or simply press Enter for no password.
  7. 7. DSS is installed as a service and there is no need to launch it manually.
  8. 8. DSS can be viewed in the list of running services (start->control Panel->administrative Tools->Services).To test the installation, enter the following URL in the QuickTime Player. Audio and video must play.Rtsp://IP-ADDRESS/sample_50kbit.3gpFlash Lite codingCoding for video playback using Flash Lite is pretty straightforward. In Adobe Flash CS4, place a videoobject on the stage by right-clicking on the library, selecting New Video, and then dragging the symbolto the stage. Give an instance name ‘videowindow_vid’ to the component. Put the following code in thescript:
  9. 9."rtsp://");videowindow_vid.onStatus = function(status_obj:Object) { //handle status “"completed"”};The onStatus handler is invoked only for ‘completed’ status. To play back local 3GP files, instead of theURL, use only the file name with the appropriate path.The following are the limitations of 3GP in Flash Lite: 1. Because the native player is used, nothing can be overlaid on top of the video. 2. A streaming server is required. 3. The content requires modifications—the 3GP clips need hinting for DSS. If only audio streaming is desired, the audio (AAC) needs to be packaged as 3GP and hinted for it to work on a Nokia device. 4. No metadata information or player status information is received. Thus, a mechanism for separately delivering the metadata information for the media files has to be provided so that the player can show the duration, progress, and so on. Also, if the player buffers, the status cannot be shown to the user. 5. Flash Lite volume control doesn’t work, so the application has to rely on the hardware volume keys for control.