Tutorials

HbbTV 2.0.3 Explained

HbbTV Specification Versions

HbbTV specs have a formal name and an informal name

Informal NameFormal Name
HbbTV 2.0.3TS 102 796 V1.6.1
HbbTV 2.0.2TS 102 796 V1.5.1
HbbTV 2.0.1TS 102 796 V1.4.1
HbbTV 2.0TS 102 796 V1.3.1
HbbTV 1.5TS 102 796 V1.2.1
HbbTV 1.0TS 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
  • 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