Mobile broadcasting (DVB-H)

The Mobile Broadcast Service API for Handheld Terminals (JSR-272), provides interactive broadcast services, such as Mobile TV, for mobile terminals. The API is designed to provide applications full support of a broadcast service implementation on a device. JSR-272 implementation in Java Runtime for Symbian includes the functionalities to querying an electronic service guide, selecting a particular program or service and presenting the media content. These capabilities coupled with the rest of the Java ME platform provides an environment where broadcast services can be deployed on mobile devices.

Support for Mobile TV is not built in by default on the Symbian^3 platform, but JSR-272 is bundled to the software suite for Mobile TV and cannot be used without it. Complete the following steps in order to start developing and running applications using JSR-272:

  1. Download the Nokia Mobile TV plug-in for Symbian from Nokia Developer and install it on your device that runs Java Runtime 2.2 for Symbian or newer.

    Note: Device users can download and install this same plug-in from Nokia Store. The plug-in is only available in countries that have a DVB-H network.

  2. Ensure that you have the Nokia Mobile TV headset DVB-H. Connect the DVB-H headset to the USB connection of your device.

Figure: Nokia Mobile TV Headset DVB-H

Figure: Mobile TV

The Mobile Broadcast Service API can present DRM protected (v1 or v2) broadcast content. The developer does not need to take action to be able to play DRM protected content. If the device does not have appropriate DRM right objects, an error code “No Rights” is returned. If services are free, content is presented. If services need to be purchased, user can use the method isPurchased to verify whether the content (purchase object) has been purchased already.

To be able to run JSR-272 the example MIDlet and watch TV using it, you must have a public DVB-H network available to you. Please note that commercial DVB-H networks are not available in all countries. For more information on availability, see DVB-H.org (external link).

Alternatively you can also use some experimental DVB-H networks to test your application. For more information, see Sofia Backstage® Mini Head-end for Mobile TV (Sofia Digital).

Use cases

  • The user can scan a range of frequencies to get all the available broadcast network providers (PlatformProviders). The user can select one of the platform and download the Electronic Service Guide (ESG). They can then navigate to the ESG and select a specific service and present it.

  • The user utilizes the ESG to get the entire available offering of services. Once they have chosen one service of interest, the desired content can be downloaded.

  • The application receives an audio/video stream carrying a TV program or other content. Along with the live stream auxiliary data is received. The auxiliary data is synchronized with the main content. The client application on the terminal renders the service for the device display so that the auxiliary data is presented in the main context (for example links in the audio or video stream) or next to the main context. This provides additional information to the end user.

  • The user can use commercial services of choice after their purchase.

Typical applications for JSR-272

A typical application that deploys broadcast services on a mobile device provides the following functionalities:

  • An electronic service guide viewer that allows the user to navigate, discover and select programs arranged by channels, time, title, genre or other categories.

  • The user can purchase commercial services.

  • After a program is selected, the system allows the user to tune in to the broadcast channel that is used to transmit the program.

  • The media content of the selected program is be presented to the user with different viewing options.

  • A program can also carry auxiliary content/data that adds to the viewing experience.

  • It is possible to create overlays on top of video content including broadcast video stream. For example, this allows creation of on screen buttons or menus overlaid on top of the TV program

The following diagram depicts such an application implemented on top of a JSR-272 implementation:

Figure:

Structure of the API

The following list describes entry point to each of the main modules:

  • PlatformProviderSelector - is the entry point to select the broadcast platform.

  • ServiceGuide - is top level entry point to search for information on the broadcast services and program events from the Electronic Service Guide.

  • ServiceContext - provides the API to select a service.

  • BroadcastConnection - is the base interface for accessing auxiliary data.

  • Recording - for recording broadcast content. Not supported by Symbian.

  • SubscriptionManager is the entry point to purchasing and managing subscriptions.

See also:

  • MMAPI - for the presentation of a selected audio/video broadcast service

  • Using video overlays -It is possible to create overlays on top of video content including broadcast video stream. For example, this allows the creation of on-screen buttons or menus on top of a TV program.

The diagram depicts the high level relationship between the main modules of JSR-272:

Figure: JSR-272 platform