HbbTV 2.0.3 Explained

HbbTV Specification Versions
HbbTV specs have a formal name and an informal name
Informal Name | Formal Name |
HbbTV 2.0.3 | TS 102 796 V1.6.1 |
HbbTV 2.0.2 | TS 102 796 V1.5.1 |
HbbTV 2.0.1 | TS 102 796 V1.4.1 |
HbbTV 2.0 | TS 102 796 V1.3.1 |
HbbTV 1.5 | TS 102 796 V1.2.1 |
HbbTV 1.0 | TS 102 796 V1.1.1 |
New in HbbTV version 2.0.3
In the version 2.0.3 of the specification following changes have been made (compared to version 2.0.2):
- Errata to HbbTV 2.0.1 and 2.0.2
- Added new features
- Removal of unused features
Highlights of errata to HbbTV 2.0.1. and 2.0.2
Subject | Related bugs / issues |
Improving integration between HTML5 video element and hardware media decoders | #9481: Potential conflict between HbbTV 9.6.2 and HTML5 re HTML5 load() method taking video & audio decoders Related discussions also in W3C – https://github.com/w3c/media-and-entertainment/pull/34 |
#9623: language in clause 9.6.2 about hardware video resource management and HTML5 video elements | |
#10181: Releasing resources from HTML media elements | |
#10195: media decoders and the seeked event | |
Compatibility with modern soft text input (virtual keyboards) | #10007: Section 10.2.1: incompatibility with modern soft input (virtual keyboards) that operate on words or phrases (turns out that this also enables some forms of voice input) |
Future evolution and maintainability of the XML capabilities mechanism | #9487: Error in XML capabilities example and XSD |
Media synchronisation requirements may be unrealistic for some implementers | #9325: Unreasonably demanding a/v sync timing requirement (relaxed from -10ms/+10ms to -35ms/+50ms) |
#10435: Unreasonable demanding of synchronization between A/V and subtitles (tests assume 40ms, market expects frame accuracy at scene cuts, may not be achievable on some hardware) | |
Media synchronisation (video via broadcast and audio via broadband) | #8810: behaviour of multi-stream sync API at times when no content exists in a slave media synchroniser |
#10719: stopping multi-stream sync and disposing of a MediaSynchroniser object | |
#10722: successful completion of initMediaSynchroniser and addMediaObject | |
DASH | #9315: DASH – MPD events (SCTE-35 ad insertion events crash some HbbTV implementations) |
#10447: Errata to DVB-DASH (update to newest version to get bug fixes – optional features remain optional, features added by DVB are all optional) |
New features
- Web standards updated from 2013 to 2018
- Why 2018 and not 2020? To allow time for code to be ported and optimised for constrained systems.
- Why not 2016? Public disclosure of security bugs in desktop browsers means that shipping TVs based on old browsers may be unwise.
- New standards implemented by 2018 browsers:
- Media Source Extensions (MSE)
- Note that MSE already widely implemented in deployed HbbTV terminals
- Service workers (enable more responsive and adaptable apps)
- Updated web security specifications
- HTTP/2 protocol support
- Media Source Extensions (MSE)
- TLS v1.3 protocol support (https://www.caniuse.com/tls1-3)
- CMAF support
- A well defined profile of ISOBMFF (no new features)
- Believed to be compatible with existing devices (there are no obvious reasons why it wouldn’t be)
- Low latency streaming
- Defined constraints to enable MSE to be used for delivery of low latency live services based on DVB-DASH requirements (low latency not required for native DASH player)
- Enabled querying if persistent storage of cookies & web storage is disabled (standard web feature, navigator.cookieEnabled, https://www.caniuse.com/mdn-api_navigator_cookieenabled)
- Enabled querying which AES encryption modes are supported
- Industry is moving to adopt Apple’s flavour of CBCS instead of CENC as previously used (Widevine already moved, PlayReady 4.0 supports Apple flavour of CBCS)
- May allow encode, package & encrypt once for Android, Apple, PC & media devices
- Querying physical screen size (extension to HbbTV XML capabilities mechanism):
Removed features
- Dropped immediately:
- CI+ host player mode
- HbbTV app launching an app on a companion screen (phone)
- Teletext Subtitles in OTT content
- 3 aspects of media sync (optional SYNC_SLAVE mode, optional sync buffer, use of A/V control object in media sync)
- Candidates to be dropped at some time in the future:
- A/V Control Object
- OIPF DRM Object
- Propose to move to the OpApp spec:
- Push VoD including download manager
- CI+ CICAM player mode