TV Control/Protocol Mappings
This page is intended for the Working Group to develop mappings between the TV Control API and the various TV and radio broadcast systems it could support. See issue #10 on GitHub.
The HTML specification references Sourcing In-band Media Resource Tracks from Media Containers into HTML. Should we aim to update this specification, reference it, or create separate document(s)?
References
DVB
- OIPF DAE V2.3 Section 8.4 includes mappings of the DAE API to DVB SI
- This page contains links to the DVB ETSI standards (click the Standards tab).
Tracks (Video, Audio, Subtitles)
Sourcing In-band Media Resource Tracks from Media Containers into HTML for MPEG2TS
The definitions for track@id looks ambigious, i.e. the first paragraph says it is the PID, the last suggests it is a string that looks a bit like a DVB URL, but doesn't have a protocol and uses decimals instead of hex representations (though that is not explicitly defined).
TV Channel
Property | Description | DVB SI source | Comments |
---|---|---|---|
DOMString networkId (should not be the type number?) | https://www.w3.org/2015/tvapi/Overview.html#widl-TVChannel-networkId | value of the network_id field in NIT Actual as a decimal representation |
From OIPF DAE:
|
DOMString originalNetworkId (should not the type be number?) | https://www.w3.org/2015/tvapi/Overview.html#widl-TVChannel-originalNetworkId | value of the original_network_id field in the current SDT Actual as a decimal representation | |
DOMString transportStreamId (should not the type be number?) | https://www.w3.org/2015/tvapi/Overview.html#widl-TVChannel-transportStreamId | value of transport_stream_id field in the current SDT Actual as a decimal representation | |
DOMString serviceId (should not the type be number?) | https://www.w3.org/2015/tvapi/Overview.html#widl-TVChannel-serviceId | value of the service_id field from the service loop in the current SDT Actual as a decimal representation | |
TVChannelType type | https://www.w3.org/2015/tvapi/Overview.html#widl-TVChannel-type | TODO | |
DOMString name | https://www.w3.org/2015/tvapi/Overview.html#widl-TVChannel-name | value of the service_name field of the service_descriptor in the service loop of current SDT Actual as a decimal representation | |
DOMString number | https://www.w3.org/2015/tvapi/Overview.html#widl-TVChannel-number | TODO | |
boolean isEmergency | https://www.w3.org/2015/tvapi/Overview.html#widl-TVChannel-isEmergency | TODO | |
boolean isFree | https://www.w3.org/2015/tvapi/Overview.html#widl-TVChannel-isFree | TODO | |
DOM String casSystemId | https://www.w3.org/2015/tvapi/Overview.html#widl-TVChannel-casSystemId | ||
boolean isParentalLocked | https://www.w3.org/2015/tvapi/Overview.html#widl-TVChannel-isParentalLocked | ||
sequence<TVProgram> getPrograms() | https://www.w3.org/2015/tvapi/Overview.html#widl-TVChannel-getPrograms-Promise-sequence-TVProgram---TVGetProgramsOptions-options | EIT schedule Actual | |
TVProgram getCurrentProgram() | https://www.w3.org/2015/tvapi/Overview.html#widl-TVChannel-getCurrentProgram-Promise-TVProgram | EIT p/f Actual | Should be a sequence of two Program objects. |
TVProgram
TV Trigger
This should include a description how DSMCC stream events can be mapped to the TriggerCue. See also issue on github whether the current definition of the TVTriggerCue is suitable for stream events.
Creating TV Trigger for DSMCC stream events
A client (user agent) can detect stream event components carried in a DVB service. However, APIs in DVB MHP and HbbTV use a different approach by referencing stream events from a Stream Event Object. Such an object can be carried on a DSMCC Object Carousel but in case of HbbTV it can also be put on a web server.
The stream event object is identified by a URL, which can be someting like
- dvb://onid.tsid.sid.ct/path
- http(s)://myserver.org/path/file.xml
The object contains mappings of event names to ids, and the tag of a service component carrying stream event descriptors (the actual triggers)
An application can add a TVTriggerCue for stream events by adding a track element to a media element that is rendering a TVSource
e.g. <track kind=metadata src="http://myserver.org/path/file.xml" label="eventName">
If the stream event object could be loaded successfully and the stream event component is signalled on the current service the readyState of the HTMLTrackElement shall be LOADED, ERROR otherwise.
Attributes of the track element
- kind: metadata (could also be something new like stream event or tvtrigger)
- src: URL of stream event object
- label: an event name
- other attributes can be ignored
TextTrack.oncuechange
TextTrackCues rely on start and end times, they are active when the media time is between start and end.
DSMCC do-it-now stream events don't have a precise start time and DSMCC stream events have no end time in general.
A solution could be that, when a stream event is received an oncuechange event is triggered and while the event is executed the activecue list of the TextTrack includes a (single) stream event as a TVTriggerCue.
TVTriggerCue properties
TVRecording
DAB
This page contains links to the DAB ETSI standards (click the Standards tab).
Digital Radio Mondiale (DRM)
This page contains links to the DRM ETSI standards (click the Standards tab).