Media APIs/Requirements
Below is the current list of requirements for Media APIs.
The cross-references between this list and the list of Use Cases are tracked in the following spreadsheet: W3C Media API UC-Req-Xref
General Compliance Requirement
Accessibility Compliance
The related products and services SHOULD be compliant with Web Content Accessibility Guidelines and User-Agent Accessibility Guidelines.
Media APIs Requirements
Service Discovery Mechanism
There SHALL be a Service Discovery mechanism for a device to look for and pair with local networked services including contents provided by home appliances including set-top boxes.
Device Discovery Mechanism
There SHALL be a Device Discovery mechanism for an application to look for and pair with local networked services including contents provided by home appliances including set-top boxes.
Service Aggregation Mechanism
There SHALL be a Service Aggregation mechanism for local networked services including contents discovered by a device to be aggregated and bundled together so that the device can present a subscriber with the bundled services.
Service Synchronisation Mechanism
There SHALL be a Service Synchronization mechanism between the device that interacts with a subscriber and the sources of local networked services, including the content in the services.
Service Expiry Mechanism
There SHALL be a mechanism to specify the validity period of the local networked services including contents delivered to the devices.
Device Authentication Mechanism
There SHALL be a mechanism to authenticate the device, the application and the subscriber for security purpose.
Local Access Control
There SHALL be a mechanism, which abstracts the capability in a standardized way and independent of applications and devices, to authorize a subscriber to access the local networked services including contents that are appropriate to the subscriber’s profile, such as age, subscription status, etc.
Local Network Service Protection Mechanism
There SHALL be a mechanism to protect the local networked services including contents from unauthorized access.
Context-based and targeted Service Aggregation
There SHALL be a mechanism to support the Context-based and targeted Service Aggregation and Content Delivery in order to provide subscriber with more suggested and relevant service and content. The context information includes but is not limited to:
- Subscriber’s context such as profile information and related tradition and culture information, current timestamp / day / season, etc.
- Device context, such as current geo-location / country / region, application and environment, OS and platform, etc.
- Network context, such as bandwidth and other measurement etc.
- Service context, such as provider’s profile, EPG information etc.
- Content context, such as current content information, current background information, view history, etc.
Wake-up Mechanism
There SHALL be a Wake-up mechanism for the local network services to push a notification to the device and wake up a proper application to serve the subscriber.
Service Information in Push Notifications
The Push notification in the Wake-up mechanism SHALL carry all necessary information related to services and contents so that the appropriate application will be able to present the subscriber with content services WITHOUT extra handshaking steps.
Offline Mode for Services and Content
There SHALL be a mechanism for subscriber to save the suggested service and/or content for watching later.
Device-to-device content transfer
There SHALL be a mechanism for content to be transferred among the devices, and between the device and original sources of local networked services.
Payment Mechanism
A standard Payment mechanism SHALL be supported for a subscriber to purchase additional services including contents.
Search
There SHALL be a mechanism to integrate search functions with the local networked services including contents.
Operating Modes
Subscribers SHALL be allowed for different operating mode, such as DVR mode, Life Goes On mode, etc.
Tuner Control
There SHALL be a mechanism for the application on set-top box to control TV’s tuner.
Channel Identification
There SHALL be a mechanism to support channel identification.
Content Streaming
There SHALL be a mechanism to stream TV content to HTML player in set-top box. TV content could be (but is not restricted to) any of the following:
a) Broadcast content
b) Content delivered over a broadband network through IP Multicast
c) Local content (e.g. from a PVR)
d) Content from a locally-networked device (e.g. through DLNA, Bonjour, etc.)
Content Download
There SHALL be a method of referencing video sources for download, e.g. using anchor elements with the download attribute.
Media Content Protection
There SHALL be an ability to:
- store video content in a protected format, as applicable.
- store content licenses of protected video contents for offline playback.
- view previously stored protected video content, e.g. via the HTML5 Encrypted Media Extensions.
- transfer media in a single operation (not copy-then-delete).
- account & verify the number of coexisting instances of the media.
Content Storage
- There SHALL be an adequately-sized storage medium; at least enough to store several full movies, e.g. 32GB
- There SHALL be a method of accessing the storage medium to save videos, e.g.
- For local filesystem storage, the File Writer API
- For browser-internal storage, the IndexedDB API
- There SHALL be a method of specifying the validity duration of the content in offline storage
- There SHALL be a method of clearing the content in offline storage when its validity period has expired
Content Playback
- There SHALL be a method of accessing the storage medium for video playback, e.g.
- There SHALL be an ability to view previously stored video content, e.g. via
- The HTML5 video element using a reference to a locally-stored file, provided through the File API
- The HTML5 video element using a reference to a video stored in browser-internal storage, and accessed via the IndexedDB API
- There SHALL be an ability to view previously stored protected video content, e.g. via the HTML5 Encrypted Media Extensions
Content Recording while Watching
- There SHALL be an ability to store video content accessed via the HTML5 video element, while the video is being presented in the browser.
Network Selection
- There SHOULD be an ability for the web application to be able to determine the current network access technology being used and based on this information determining whether to download content.