Git Product home page Git Product logo

videostreaming-blackberry's Introduction

BlackBerry Video Streaming

Demonstrating the available mechanisms for streaming video content to BlackBerry smartphones.

Streaming Options

This project enables the following streaming options:

  1. [RTSP & HTTP] BlackBerry Media Player via Browser
  2. [RTSP & HTTP] Mobile Media API/ JSR-135 (MMAPI)
  3. [HTTP] StreamingPlayer API

Device Compatibility

Containers and Codecs

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.

Streaming Options

RTSP

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.

HTTP
Browser and MMAPI

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.)

StreamingPlayer API

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.

Instructions

Build/ Run

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.

Caveats

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.)

Screenshots

screenshots

videostreaming-blackberry's People

Contributors

mjrusso avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

videostreaming-blackberry's Issues

ERROR_PLAYING_MEDIA

Hello all.

I am trying to test the video streaming with an mp4 video and I am getting the following error:

Java.lang.Exception: Player Error:
ERROR_PLAYING_MEDIA

I wanted to know if any of you guys know what often causes this error. Thanks very much in advance.

Volume control while playing video

Hello,

I've been able to stream videos from HTTP server thanks to this sample project.
I have one question though, it seems to me that users can't control the volume while the video is playing. I've tried to adjust the volume with the side hardware volume buttons without success. Do you know how to enable users to increase/decrease the volume while streaming the video?

Thank you,

Streaming Player method crashes when hitting "back" (SOLVED)

Michael,
I was using your library and just came across a bug that if you opened/closed several times the player / video it stopped working.
I want to contribute my humble fix.

In class "StreamingPlayerVideoPlaybackScreen", I changed the stopPlayback (called from the popScreen method) requesting to close the player after stopping it. This way resources are released.

Here's the method:

protected void stopPlayback()
{
    try {
        if (_player != null) _player.stop();
        _player.close();
    }
    catch (Exception ex)
    {
        System.out.println(ex.toString());
    }
} 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.