Demonstrating the available mechanisms for streaming video content to BlackBerry smartphones.
This project enables the following streaming options:
- [RTSP & HTTP] BlackBerry Media Player via Browser
- [RTSP & HTTP] Mobile Media API/ JSR-135 (MMAPI)
- [HTTP] StreamingPlayer API
Supported media containers and audio/ video formats vary based on device type and platform version.
See Supported Media Types on BlackBerry Smartphones for full details.
RTSP was first made available on EVDO devices running OS v4.3.0 and is now available on EVDO, EDGE, 3G, and WiFi on devices running OS v4.5.0 and above.
On devices running OS versions prior to v5.0, multimedia files accessed over HTTP must to be downloaded in their entirety before playback can commence. In cases where these files have a file size that is larger than the device can support, an HTTP 413 โ Request Entity Too Large error code will be returned to the application and playback will be aborted.
On devices running OS versions v5.0 and later, HTTP Progressive Download is supported. With HTTP Progressive Download, small chunks of the multimedia file can be downloaded and played. (The entire file does not need to be downloaded in its entirety before playback can commence.)
In contrast to the other HTTP playback mechanisms, the Streaming Player API provides a custom playback mechanism that enables HTTP Progressive Download on devices running BlackBerry OS versions prior to v5.0.
Add VideoStreaming.jdp
to a new or existing workspace in the BlackBerry JDE. JDE v5.0 or higher is recommended.
To compile, select Build All from the JDE's Build menu.
To run in the simulator, select Build All and Run from the Build menu. To install on device, use the javaloader
tool or serve the generated .jad
and .cod
files from a web server for OTA installation.
This project currently only supports WiFi for on-device streaming via MMAPI and StreamingPlayer. Support for additional transports can be added by modifying the appendConnectionString
method of BaseVideoPlaybackScreen
. The Network Diagnostic Tool KB Article and associated sample code provide a good starting point for integrating multiple transport types into your application. (Regardless, WiFi is highly recommended for multimedia streaming.)