SlideShare a Scribd company logo
1 of 9
Streaming 3GP Multimedia Content to Flash Lite Using RTSP

This article explains how to set up 3GP streaming using Real-Time Streaming Protocol (RTSP) in Flash Lite
from Adobe.

Prerequisite

Flash Lite 3.x

All details mentioned in this article have been tested on Flash Lite 3.0 devices on Symbian S60 3rd
Edition mobile devices.

Darwin Streaming Server

Darwin Streaming Server (DSS) is an open source, free-to-use streaming server from Apple. The
commercial version of this server is the Quick Time Streaming Server. The open source version can be
downloaded from the following link:

http://static.macosforge.org/dss/downloads/DarwinStreamingSrvr5.5.5-Windows.exe

Perl

Perl is a prerequisite for DSS installation. Install it before installing DSS:

http://www.activestate.com/activeperl/downloads/

MP4Box

MP4Box is a tool used for “hinting” the 3GP media files. It can be downloaded from the following
location:

http://www.videohelp.com/tools/mp4box

QuickTime Player (optional)

Introduction

There are two major methods of multimedia content delivery on the internet:

        1. Streaming
        2. Progressive download

Streaming makes use of RTSP/RTP/RTCP protocol stacks to deliver real-time media content over the
internet. 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-time
media delivery applications such as Live TV, video conferencing, and so on. An RTSP streaming server
such as Darwin or Helix is required.
Progressive download, on other hand, uses the same set of protocol stacks that are used for
downloading a web page by a browser—namely, HTTP over TCP/IP protocol stacks. However, the player
doesn’t wait for the entire media file to be downloaded and can start the playback as soon as sufficient
data required for the codec to start decoding has been received. This provides the benefit of having
guaranteed delivery, hence the player doesn’t have to worry about error concealment. As a result, the
video 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 for
streaming 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 flash
streaming. 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 be
used with each of the delivery mechanisms:

                              Media Container          Video Codec                Audio Codec
                              Format
Progressive Download          FLV                      On2 VP6/Sorenson           MP3
                                                       Spark
Streaming                     3GP/MP4                  MPEG-4/H.264/H.263         MP3/AAC


For a more detailed list of supported codecs, please see the device specifications at:

http://www.forum.nokia.com/devices/

Because this article addresses streaming, the discussion will be restricted to 3GP files. 3GP is a container
for audio and video data. Video can be encoded using MPEG-4/H.264/H.263 codecs; audio can be
encoded using the MP3 or AAC codec. Other formats may be possible but were not tested. The following
is 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
The above settings offer a good tradeoff between the available 3G channel bit rate and quality. H.264
outperforms 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 per
second, audio sampling rate, and so on, can be decided based on the application needs, available
bandwidth, and device capabilities.

Typically for 3G, a bit rate of 260 to 500 KBps gives a good performance and offers a good tradeoff
between bit rate and quality. Once the 3GP file is created, it has to be “hinted” by MP4Box to allow DSS
to stream that file. Use the following command for hinting:

Mp4box –hint filename.3gp

If hinting is not done, the player will give an unsupported format error. Once “hinted”, the files can be
placed in the following folder and streamed using DSS:

C:Program FilesDarwin Streaming ServerMovies

Darwin installation

The path given for the Movies (above) is the default location of the Darwin installation. The steps for
installing DSS are as follows:
Extract the DSS setup to any desired location.
Browse to that location and double click on install.bat. The installation will begin.
You will be asked for an admin password, which can be specified, or simply press Enter for no password.
DSS is installed as a service and there is no need to launch it manually.
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.3gp

Flash Lite coding

Coding for video playback using Flash Lite is pretty straightforward. In Adobe Flash CS4, place a video
object on the stage by right-clicking on the library, selecting New Video, and then dragging the symbol
to the stage. Give an instance name ‘videowindow_vid’ to the component. Put the following code in the
script:
videowindow_vid.play("rtsp://10.55.104.74/sample_50kbit.3gp");

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 the
URL, 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.

More Related Content

Viewers also liked

Rokok itu berbahayaa
Rokok itu berbahayaaRokok itu berbahayaa
Rokok itu berbahayaa
rockysimonhia
 
Signal processing in smartphones - 4G perspective
Signal processing in smartphones - 4G perspectiveSignal processing in smartphones - 4G perspective
Signal processing in smartphones - 4G perspective
Ramesh Prasad
 
индонезия презентация
индонезия   презентацияиндонезия   презентация
индонезия презентация
perfect13
 
Dean's List Certificate
Dean's List CertificateDean's List Certificate
Dean's List Certificate
diamond white
 
ใบงานท 9-16(แก_ไข)
ใบงานท  9-16(แก_ไข)ใบงานท  9-16(แก_ไข)
ใบงานท 9-16(แก_ไข)
Patcha Jiffy
 

Viewers also liked (16)

Långtur med samojeder i skanderna3
Långtur med samojeder i skanderna3Långtur med samojeder i skanderna3
Långtur med samojeder i skanderna3
 
Långtur skanderna 2
Långtur skanderna 2Långtur skanderna 2
Långtur skanderna 2
 
Expedition with samoyeds in Skanderna 2011
Expedition with samoyeds in Skanderna 2011Expedition with samoyeds in Skanderna 2011
Expedition with samoyeds in Skanderna 2011
 
Rokok itu berbahayaa
Rokok itu berbahayaaRokok itu berbahayaa
Rokok itu berbahayaa
 
Advance Android Application Development
Advance Android Application DevelopmentAdvance Android Application Development
Advance Android Application Development
 
Sdk For Firmware Development
Sdk For Firmware DevelopmentSdk For Firmware Development
Sdk For Firmware Development
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
 
Methodes d'echange de liens par article marketing
Methodes d'echange de liens par article marketingMethodes d'echange de liens par article marketing
Methodes d'echange de liens par article marketing
 
Managing sales using CRM
Managing sales using CRMManaging sales using CRM
Managing sales using CRM
 
Signal processing in smartphones - 4G perspective
Signal processing in smartphones - 4G perspectiveSignal processing in smartphones - 4G perspective
Signal processing in smartphones - 4G perspective
 
De Interlacing Techniques
De Interlacing TechniquesDe Interlacing Techniques
De Interlacing Techniques
 
индонезия презентация
индонезия   презентацияиндонезия   презентация
индонезия презентация
 
Dean's List Certificate
Dean's List CertificateDean's List Certificate
Dean's List Certificate
 
Respiració cel·lular
Respiració cel·lularRespiració cel·lular
Respiració cel·lular
 
owensresume2016
owensresume2016owensresume2016
owensresume2016
 
ใบงานท 9-16(แก_ไข)
ใบงานท  9-16(แก_ไข)ใบงานท  9-16(แก_ไข)
ใบงานท 9-16(แก_ไข)
 

Recently uploaded

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
UK Journal
 

Recently uploaded (20)

2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 

Streaming 3GP

  • 1. Streaming 3GP Multimedia Content to Flash Lite Using RTSP This article explains how to set up 3GP streaming using Real-Time Streaming Protocol (RTSP) in Flash Lite from Adobe. Prerequisite Flash Lite 3.x All details mentioned in this article have been tested on Flash Lite 3.0 devices on Symbian S60 3rd Edition mobile devices. Darwin Streaming Server Darwin Streaming Server (DSS) is an open source, free-to-use streaming server from Apple. The commercial version of this server is the Quick Time Streaming Server. The open source version can be downloaded from the following link: http://static.macosforge.org/dss/downloads/DarwinStreamingSrvr5.5.5-Windows.exe Perl Perl is a prerequisite for DSS installation. Install it before installing DSS: http://www.activestate.com/activeperl/downloads/ MP4Box MP4Box is a tool used for “hinting” the 3GP media files. It can be downloaded from the following location: http://www.videohelp.com/tools/mp4box QuickTime Player (optional) Introduction There are two major methods of multimedia content delivery on the internet: 1. Streaming 2. Progressive download Streaming makes use of RTSP/RTP/RTCP protocol stacks to deliver real-time media content over the internet. 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-time media delivery applications such as Live TV, video conferencing, and so on. An RTSP streaming server such as Darwin or Helix is required.
  • 2. Progressive download, on other hand, uses the same set of protocol stacks that are used for downloading a web page by a browser—namely, HTTP over TCP/IP protocol stacks. However, the player doesn’t wait for the entire media file to be downloaded and can start the playback as soon as sufficient data required for the codec to start decoding has been received. This provides the benefit of having guaranteed delivery, hence the player doesn’t have to worry about error concealment. As a result, the video 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 for streaming 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 flash streaming. 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 be used with each of the delivery mechanisms: Media Container Video Codec Audio Codec Format Progressive Download FLV On2 VP6/Sorenson MP3 Spark Streaming 3GP/MP4 MPEG-4/H.264/H.263 MP3/AAC For a more detailed list of supported codecs, please see the device specifications at: http://www.forum.nokia.com/devices/ Because this article addresses streaming, the discussion will be restricted to 3GP files. 3GP is a container for audio and video data. Video can be encoded using MPEG-4/H.264/H.263 codecs; audio can be encoded using the MP3 or AAC codec. Other formats may be possible but were not tested. The following is 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. The above settings offer a good tradeoff between the available 3G channel bit rate and quality. H.264 outperforms 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 per second, audio sampling rate, and so on, can be decided based on the application needs, available bandwidth, and device capabilities. Typically for 3G, a bit rate of 260 to 500 KBps gives a good performance and offers a good tradeoff between bit rate and quality. Once the 3GP file is created, it has to be “hinted” by MP4Box to allow DSS to stream that file. Use the following command for hinting: Mp4box –hint filename.3gp If hinting is not done, the player will give an unsupported format error. Once “hinted”, the files can be placed in the following folder and streamed using DSS: C:Program FilesDarwin Streaming ServerMovies Darwin installation The path given for the Movies (above) is the default location of the Darwin installation. The steps for installing DSS are as follows:
  • 4. Extract the DSS setup to any desired location.
  • 5. Browse to that location and double click on install.bat. The installation will begin.
  • 6. You will be asked for an admin password, which can be specified, or simply press Enter for no password.
  • 7. DSS is installed as a service and there is no need to launch it manually.
  • 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.3gp Flash Lite coding Coding for video playback using Flash Lite is pretty straightforward. In Adobe Flash CS4, place a video object on the stage by right-clicking on the library, selecting New Video, and then dragging the symbol to the stage. Give an instance name ‘videowindow_vid’ to the component. Put the following code in the script:
  • 9. videowindow_vid.play("rtsp://10.55.104.74/sample_50kbit.3gp"); 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 the URL, 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.