- From: 김성혜 <shkim@etri.re.kr>
- Date: Tue, 7 Jul 2015 00:39:12 +0000
- To: "public-tvapi@w3.org" <public-tvapi@w3.org>
- Message-ID: <609FE8B8E7BD1248A27BD3B8BC699ABD1D753D69@SMTP1.etri.info>
Hello everyone, Before defining TV Control APIs for CAS/DRM requirements, we need to look at the various APIs that are supported by other documents (e.g. ANSI/CEA-2014-B, OIPF DAE). My greatest concern is that how to retrieve the needed information to support our CAS/DRM requirements. So, through the analysis of other documents, we can be sure that the newly defined APIs are supportable by the current broadcasting services(STB?). Look at ANSI/CEA-2014-B[1] (page: 140~): ANSI/CEA-2014-B has defined DRM JavaScript APIs in the XHTML environment. It uses embedded Object “application/drmagent” to deliver DRM license data to DRM agent. The drmagent object definds following method/property. – sendDRMMessage(String msgType, String msg, String DRMSystemID) – onDRMMessageResult(String msgID, String resultMsg, Integer resultCode) – onDRMRightsError(Number errorState, String contentID, String DRMSystemID, String rightsIssuerURL) The DRMSystemID provides DRM capability information, which are stored in the device (such as STB). When downloading DRM protected contents, Content Access Descriptor is defined. Content Access Descriptor includes DRM control information such as DRM System ID, DRM Content ID, Right Issuer URL, etc. If the parental rating control are made through DRM, it is possible to use onParentalRatingXX.XX() functions to get DRM system ID. Look at OIPF DAE[2] (page 121~): OIPF DAE defines similar APIs with ANSI/CEA-2014-B, but it defines detailes of the arguments and Content Access Descriptor. It also defines following properties in the application/oipfDrmAgent. – onDRMSystemStatusChange( String DRMSystemID ) – onDRMSystemMessage(String msg, String DRMSystemID) – DRMSystemStatus( String DRMSystemID ) – canPlayContent( String DRMPrivateData, String DRMSystemID ) – canRecordContent( String DRMPrivateData, String DRMSystemID ) Look at HbbTV 2.0[3]: HbbTV 2.0 use the same DRM JavaScript API with OIPF DAE. It access the DRM protected content through the <video> tag and acquire specific error information through oipfDrmAgent Object. Look at W3C EME[4]: It is an extension to the HTMLMediaElement, which adds MediaKeys mediaKey, EvenHandler onencrypted, and Promise setMediaKeys(). In order to access the key systems, it adds navigator interface. It can acquire media key system through key system identifier and configuration to access the protected contents. It delivers License to CDM through media key session. I am very skeptical about using (expanding) EME for our requirements. In our requirements, webapps do not need to perform encryption/decryption, no keys needed. Our requirements needs to get/set information on CAS/DRM status. From now, it seems OIPF DAE and ASNI/CEA 2014-B have defined APIs that are closer to our CAS/DRM requirements. We can get DRM system ID through onParentalRatingXX.XX() functions. Some of the functions we can use are onDRMSystemStatusChange( String DRMSystemID ), DRMSystemStatus( String DRMSystemID ), onDRMRightsError(Number errorState, String contentID, String DRMSystemID, String rightsIssuerURL), etc. Anyway, I need to talk to the CAS/DRM experts about my thoughts. Please comments or sugguestions. Thank you. Regards, Sung Hei Kim Reference: [1] ANSI/CEA-2014-B, "Web-based Protocol and Framework for Remote User Interface on UPnP Networks and the Internet(Web4CE)" [2] OpenIPTV Forum, "Release 1 Specification, Volume 5 - Declarative Application Environment", http://www.oipf.tv/docs/OIPF-T1-R2-Specification-Volume-4a-Examples-of-IPTV-Protocol-Sequences-v2_3-2014-01-24.pdf [3] HbbTV 2.0 Specification, https://www.hbbtv.org/pages/about_hbbtv/HbbTV_specification_2_0.pdf [4] W3C Encrypted Media Extensions, http://www.w3.org/TR/encrypted-media/
Received on Tuesday, 7 July 2015 00:39:53 UTC