Audio/Video streaming Codecs and Protocols
Article Metadata
Tested with
Compatibility
Article
Contents |
RTSP protocol
If mobile device supports RTSP (Real Time Streaming Protocol), it is possible to stream the video from the server, and play using the Real Time Player.
For Instance, YouTube web site for mobile devices provides video streaming services
We can browse the site and we can select the video, Once if we click "watch video" it will start invoking the "Real Player" and start playing the video in the real time. The RTSP protocol URL is something like this:
rtsp://rtsp.youtube.com/youtube/videos/bxabHg--WBE/video.3gp
We did the test run in Nokia 3250, by accessing the YouTube site for mobile. http://m.youtube.com/?warned=yes It starts playing using the real player.
The Same test run we did in Samsung D900i, it failed to stream, and throws "Malformed URL Exception" Since this mobile dont support the RTSP protocol.
So, it is depend up on the protocol supported by the mobile devices.
Streaming in Java ME Application
For J2ME Application also it is possible to stream the video if the mobile supports RTSP. We can stream the video using the "platform request" method which is available in MIDP. For Instance:
platformRequest("rtsp://server.com/sample_50kbit.3gp");
(1) We have to gather the information about the protocols supported (RTSP) for the mobiles we are targeting. Some mobile phones wont supports RTSP protocol. For example:
- Samsung SGH D900i
- Nokia 6600
- Nokia 6270
(2) We have to gather the information about the video file formats supported by the mobile devices.
Protocols used for mobile streaming with Java ME platform
- RTSP—Real Time Streaming Protocol - RTSP is a control protocol
- Play, Pause, Stop
- It is always used with a data transport protocol
- RTP—Real-time Transport Protocol
- Can be delivered via UDP or TCP
- 3GPP specifies UDP transport for RTP
- HTTP
- Protocol underlying the Web, may also be used for streaming
- TCP transport
- Control and data on the same connection
- Non-standard for streaming
- Most implementations of MMAPI have problems with HTTP streaming
- Entire clip is buffered prior to playback
Audio Codecs for Streaming:
- RealAudio
- Good quality at 48-64Kbps
- Much better than mp3 at same bitrates
- AMR
- Widely implemented voice codec
- Standardized by 3GPP
- AAC/aacPlus
- Great quality across range of mobile bitrates
- Standardized by 3GPP
Video Codecs for Streaming:
- RealVideo
- Proprietary codec from Real
- Low cost licensing
- Great quality across a wide range of bitrates
- H.263
- Widely implemented, but lower quality
- Standardized in 3GPP PSS
- MPEG-4
- Similar to H.263
- Standardized in 3GPP PSS
- H.264 (MPEG-4 AVC)
- High quality codec
- Starting to see implementations accessible from Java ME platform
- Standardized in 3GPP PSS
Limitations of Multi Media API (JSR 135) Implementations:
- Codec support differs from handset to handset
- Implementations may incorrectly report what is supported
- Behaviour differences
- Volume often not mapped to system volume
- Player events not always reported
- HTTP streaming not widely supported
- No access to the data stream
- Precludes things like decryption at Java technology layer
JSR 234 (Advanced Multimedia API) and JSR 184( 3D Graphics API) are not supported by most of the mobiles.
Practical Issues
- Server must be accessible to the handset (Internet)
- Problems with carrier firewalls
- Carrier must allow RTSP traffic (port 554)
- Carrier must allow streaming of UDP traffic
- Streaming charges can really add up!
- Client side debugging is tricky


Do you think we would need this page or should the contents be included in one of the other RTSP related pages?
Discover.dileep1@gmail.com - RTSP with MP4 video format
Hi Is it possible to build a J2ME application which can stream RTSP video in mp4 format?If yes then which all version symbian os supports it?
I am facing problem in it.discover.dileep1@gmail.com 08:07, 18 October 2012 (EEST)
Hamishwillee - @Discover.dileep1@gmail.com - suggest you ask on our discussion boards
I believe that RTSP support is in "JSR 135 ( Multi Media API)" and that all version of Symbian will support it after 3rd Edition. However I'm not an expert and the author wrote this article 5 years ago about a very old version of Symbian. Therefore I highly recommend you ask this question on the discussion boards - where more knowledgeable people will be able to answer you.
Regards
Hamish (Community Services Manager)hamishwillee 08:45, 19 October 2012 (EEST)
Discover.dileep1@gmail.com - Discover.dileep1@gmail.com - Thanks Hamish
Thanks Hamishdiscover.dileep1@gmail.com 12:25, 19 October 2012 (EEST)