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 (including video, ausio and broadcast)
- Support of HbbTV specific mime-types
- 3 different media/broadcast playing backend
- HTML <video> tag
- Firebreath VLC (https://code.google.com/p/fbvlc/)
- Customizable channel list, custom stream per channel
- DSM-CC Stream Event simulation
- Minimal support of DVB uri
- Keyboard navigation simulating TV Remote control
- Smart resize / fullscreen management
- Aspect-Ratio switching
- Safe-area margin display
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. The smart resize/scaling informations are displayed.
Moreover, the aspect ratio button allows to visualize the rendering on TV screen with aspect ratio different from 16:9. You can also chose the scaling policy between : "No scale", "Downscale only", "Upscale only", "Scale to fit". When Firefox is in fullscreen mode, FireHbbtv controls disappears and body is stretched to fit the whole screen.
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 (as SVG).
You can also choose a different renderer (HTML, Firebreath VLC) for broadcast rendering, depending on the plugins installed (See https://code.google.com/p/fbvlc/).
For default SVG rendering, 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.
For HTML and Firebreath VLC rendering, you can choose a different stream URL per channel. Erasing the stream URL makes it revert to default stream URL if any. You can configure default streams URL per channel by defining a custom channel list. You can configure any URL that is supported by the plugin. There is just a special syntax addition for Firebreath VLC and dvb-t:// url to allow specifying the program (sid), i.e. dvb-t://frequency=554000000&program=1281
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 complete channel list example, just click on the "Default" link to display the embedded channel list. You can add an optional <Stream> element per channel in order to configure the default stream for this channel, i.e.<Stream>http://streamexample.com/stream1<Stream>
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 :