FireHbbTV integrates with Firefox to help you develop HbbTV (http://www.hbbtv.org/) compliant applications.
You can then benefit of strong development tools associated with your favourite browser. Most commonly used HbbTV API are injected on-the-fly on the web page once you activate the plugin support for a given site. Moreover, FireHbbTv provides you with usefull tools such as resize, aspect-ratio switch, safe-area margin display and keyboard navigation miming TV remote control capabilities.
More detailed features list:
- Most HbbTV specific <object> support
- Support of HbbTV specific mime-types
- Minimal support of DVB uri
- Smart resize
- Aspect-Ratio switching
- Safe-area margin display
- TV image replacement
- Channel list
- DSM-CC Stream Event simulation
- Keyboard navigation simulating TV Remote control
Once you have installed the extension, a new TV button is present in the Firefox bar:
You can manually toggle TV support for a given site by clicking on this button. When a visited site sends specific HbbTV or CE-HTML content-type response headers, the TV support is automatically activated because Firefox cannot handle those pages on its own:
Once activated, the plugin interface wraps around the page body. The body is assumed to be 1280x720 and the plugin button bar allows you configuring the display and behaviour.
The page is then refreshed and the HbbTV support is injected within the page. Moreover, cross-site XMLHttpRequest is allowed from the page to reproduce common TV security policy implementation.
All navigation is done with the keyboard, simulating a remote control. Details about keyboard shortcuts can be displayed by clicking the "Remote Control" button.
The display smartly resizes so that the body is entirely visible in the Firefox window. Moreover, the aspect ratio button allows to visualize the rendering on TV screen with aspect ratio different from 16:9. The smart resize/scaling informations are displayed.
Safe area margin display
The HbbTV norms recommends displaying usefull page content inside a "safe" area. The "margin display" button materializes this safe area by displaying translucent margins.
By default the special HbbTV
video/broadcast object is displayed with the default logo.
You can customize the display of special HbbTV
video/broadcast object with the "TV Image"
button by choosing a custom image to replace the default logo.
You can choose the current channel with the "Channels" combo-box. A default channel list is embedded inside the plugin. You can use your own channel list in the configuration panel.
To see a channel list example, just click on the "Default" link to display the embedded channel list.
DSM-CC Stream events
You can simulate the trigger of DSM-CC "Do-it-now" stream events. The
video/broadcast object supports
addStreamEventListener() method to register your stream event listeners. To display
the stream event panel, just click on the "Stream Events" button
You can trigger those events by filling in the "name" and "data" field of the stream event panel and then click the "Trigger" button.
dvb://is included inside the plugin. You have three ways to use it :
Browsing local files as if they were embedded inside a carousel
- Open a
file:///url in a tab and then activate the TV support
- You are redirected to a virtual url :
- This allows you to browse local content with TV support
Requesting carousel files with XMLHttpRequest
As specified in the HbbTV norm, you can request DSM-CC carousel with XMLHttpRequest. In order to make it work you first have to choose a local DVB root directory withing the configuration panel. Once chosen, you can make request to DSM-CC carousel.
- URL :
13represents the carousel component tag, that means you must have a directory named
13inside your DVB root directory.
- For this request to return a status other that "404-Not Found", you must have a file named
DVB ait specifiers
You can also use
dvb:// uri with AIT (application information table) specifiers :
- URL :
2a.1binside your DVB root directory. That file must be a plain text one containing either an
http://url or a
file://url. The result of the dvb request is an XML ait.
For any remarks, feature request, bug report or anything else :