# cpix
Python library for working with CPIX 2.2 (DASH-IF Content Protection Information Exchange) documents
For more details on CPIX see:
* https://dashif.org/guidelines/
* https://dash-industry-forum.github.io/docs/CPIX2.2/Cpix.html
## Supported features
* Creation of CPIX documents
* Content keys
* Usage rules
* DRM systems
* Parsing of CPIX documents
* Validation against CPIX XSD
## Not yet implemented
* Validation of document correctness (e.g. kid referenced by usage rule matches a content key)
## Not supported
* Encryption, decryption and signing are not supported.
## Installation
Install using [pip](https://pip.pypa.io/):
```
pip install cpix
```
## Examples
### Scripts
Example scripts which can be used with Widevine and Playready test servers to
get or create keys and produce CPIX documents are available in `example`.
### Simple CPIX
To create a simple CPIX document with a single key:
```python
import cpix
full_cpix = cpix.CPIX(
content_keys=cpix.ContentKeyList(
cpix.ContentKey(
kid="0DC3EC4F-7683-548B-81E7-3C64E582E136",
cek="WADwG2qCqkq5TVml+U5PXw=="
)
),
drm_systems=cpix.DRMSystemList(
cpix.DRMSystem(
kid="0DC3EC4F-7683-548B-81E7-3C64E582E136",
system_id="EDEF8BA9-79D6-4ACE-A3C8-27DCD51D21ED",
pssh=("AAAAxnBzc2gBAAAA7e+LqXnWSs6jyCfc1R0h7QAAAAINw+xPdoNUi4HnPGT"
"lguE2FEe37S9mVyu9EwbOfPNhDQAAAIISEBRHt+0vZlcrvRMGznzzYQ0SEF"
"rGoR6qL17Vv2aMQByBNMoSEG7hNRbI51h7rp9+zT6Zom4SEPnsEqYaJl1Hj"
"4MzTjp40scSEA3D7E92g1SLgec8ZOWC4TYaDXdpZGV2aW5lX3Rlc3QiEXVu"
"aWZpZWQtc3RyZWFtaW5nSOPclZsG")
)
)
)
```
This can then be printed as a formatted XML document:
```python
print(str(full_cpix.pretty_print(xml_declaration=True), "utf-8'"))
```
```xml
<?xml version='1.0' encoding='utf-8'?>
<CPIX xmlns:pskc="urn:ietf:params:xml:ns:keyprov:pskc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:dashif:org:cpix" xsi:schemaLocation="urn:dashif:org:cpix cpix.xsd">
<ContentKeyList>
<ContentKey kid="0dc3ec4f-7683-548b-81e7-3c64e582e136">
<Data>
<pskc:Secret>
<pskc:PlainValue>WADwG2qCqkq5TVml+U5PXw==</pskc:PlainValue>
</pskc:Secret>
</Data>
</ContentKey>
</ContentKeyList>
<DRMSystemList>
<DRMSystem kid="0dc3ec4f-7683-548b-81e7-3c64e582e136" systemId="edef8ba9-79d6-4ace-a3c8-27dcd51d21ed">
<PSSH>AAAAxnBzc2gBAAAA7e+LqXnWSs6jyCfc1R0h7QAAAAINw+xPdoNUi4HnPGTlguE2FEe37S9mVyu9EwbOfPNhDQAAAIISEBRHt+0vZlcrvRMGznzzYQ0SEFrGoR6qL17Vv2aMQByBNMoSEG7hNRbI51h7rp9+zT6Zom4SEPnsEqYaJl1Hj4MzTjp40scSEA3D7E92g1SLgec8ZOWC4TYaDXdpZGV2aW5lX3Rlc3QiEXVuaWZpZWQtc3RyZWFtaW5nSOPclZsG</PSSH>
</DRMSystem>
</DRMSystemList>
</CPIX>
```
PyPI 官网下载 | cpix-1.1.3.tar.gz
版权申诉
124 浏览量
2022-02-10
06:25:07
上传
评论
收藏 21KB GZ 举报
挣扎的蓝藻
- 粉丝: 13w+
- 资源: 15万+
最新资源
- 华为HCIA-WLAN 3.0 课程视频(45 STA无法上线故障排查.mp4)
- 华为HCIA-WLAN 3.0 课程视频(44 AP无法上线故障排查(下).mp4)
- 华为HCIA-WLAN 3.0 课程视频(43 AP无法上线故障排查(上).mp4)
- python实现基于U-net和MRI图像的膀胱壁边缘以及膀胱肿瘤检测(高准确率)+源码+开发文档+模型训练(毕业设计&课程设计
- 华为HCIA-WLAN 3.0 课程视频(42 WLAN系统维护的方法及故障处理命令.mp4)
- 华为HCIA-WLAN 3.0 课程视频(41 WLAN故障处理一般流程(下).mp4)
- C++基于OpenCV+Qt的人脸识别考勤系统-毕业设计+源代码+文档说明.zip
- python爬虫资源下载
- 华为HCIA-WLAN 3.0 课程视频(40 WLAN故障处理一般流程(上).mp4)
- PHP教材管理系统设计(源码+数据库)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈