Đối với các trình đóng gói khác
1. Giới thiệu
Phần này sẽ giới thiệu về giải pháp để tạo ra khóa để mã hóa nội dung cho bất kỳ trinh đóng gói video. Với giải pháp này, khách hàng sẽ phải xây dựng một hệ thống trung gian giống như mô hình bên dưới.
2. Luồng hoạt động quá trình chuyển khóa để mã hóa nội dung
2.1 Luồng hoạt động
Các thành phần trong sơ đồ hoạt động:
- Merchant Packager: Hệ thống đóng gói của khách hàng
- Merchant Ingest Key: Hệ thống quản lý khóa phía khách hàng.
- Sigma DRM System: Hệ thống quản lý khóa phía Sigma DRM
2.2 Danh sách các APIs
Trong phần này, chúng tôi chỉ giới thiệu về các api giao tiếp giữa Merchant Ingest Proxy và Sigma DRM System. Việc giao tiếp giữa hệ thống Merchant Packager và hệ thống Merchant Ingest Proxy mà khách hàng sẽ sử dụng.
2.2.1. Authorization API
BaseURL:
- Staging: https://api-staging.sigmadrm.com/user/login
- Production: https://api.sigmadrm.com/user/login
Request:
- Type: application/json
- Body:
Tên trường Kiểu Mô tả email String Thông tin email để đăng nhập vào hệ thống. password String Mật khẩu
Response:
Tên trường Kiểu Mô tả uid String User ID accessToken String Token có quyền tạo khóa
2.2.2 Tạo khóa mã
BaseURL:
Request:
- Type: application/json
- Method: POST
Params:
Tên trường Kiểu Mô tả merchantId String Client account id appId String App ID assetId String Asset ID Header:
- x-access-token: Access token obtained after authorization.
Body:
Field Name Type Require Description keyType String Yes One of 2 values "SEED", "KEY" drmScheme String No Encryption Scheme. One of two types: 'MULTI_DRM', 'SIGMA_DRM' streamType String No One of 3 values *'AUDIO', 'VIDEO', 'AUDIO_VIDEO'*. Default value is AUDIO_VIDEO key String Yes if keyType is KEY Hexadecimal string of length 32 characters keySeed String Yes if keyType is SEED Hexadecimal string of length 48 characters keyId String Yes String in GUID format mode String Yes One of 2 values *'LIVE', 'VOD'* allowRoot Bool No Allow the root machine to run or not. Default value is true hdcpLevel Number No Limited HDCP version support:
≤1: disable,
2: hdcp v1.x,
3: hdcp v2.0,
4: hdcp v2.1,
5: hdcp v2.2,
6: hdcp v2.3audioQuality String Yes if Stream type is AUDIO One of the 3 values *'128Kbps'*, '192Kbps', '320Kbps'. Default value is 128Kbps videoResolution String Yes if Stream type is VIDEO/AUDIO_VIDEO One of 6 values 'SD', 'HD', 'FHD', '2K', '4K', '8K' keyExpireTime Number No License expiration time (in minutes) keyRotationTime Number No Key change time (in minutes) protectionScheme String No One of the values: 'cenc', 'cbc1', 'cens', 'cbcs3'. Default value is 'cenc' iv String No Hexadecimal string of length 32 characters Response:
Field Name Type Description merchantId String Customer account id appId String App ID assetId String Asset ID keyId String Key's GUID key String Key as hex string keyExpireTime Number License expiration time (in minutes) keyRotationTime Number Key change time (in minutes) cencResponse Object Information of encryption types Information of cencResponse
json
{
"ec": 10,
"data": {
"merchantId": "d4a43d63-4583-467e-86c3-5567793045f3",
"appId": "5019c1ff-d55f-4e4e-aaa2-206af1ce0506",
"assetId": "live_vtv1",
"keyId": "877c9718-fb23-49f9-9da2-b70d22836e62",
"key": "608a05b7efb034d0a913c21d2dd0e5c4",
"keyExpireTime": 2,
"keyRotationTime": 1,
"cencResponse": {
"systemId": {
"edef8ba9-79d6-4ace-a3c8-27dcd51d21ed": {
"name": "Widevine",
"psshBoxContent": "AAAAVnBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADYSEId8lxj7I0n5naK3DSKDbmIaD3RodWRvbXVsdGltZWRpYSIJbGl2ZV92dHYxCAFI49yVmwY="
},
"9A04F079-9840-4286-AB92-E65BE0885F95": {
"name": "PlayReady",
"xmlFragment": "PlayReady XML Fragment",
"psshBoxContent": "VgIAAAEAAQBMAjwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwACIAPgA8AEQAQQBUAEEAPgA8AFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBFAFkATABFAE4APgAxADYAPAAvAEsARQBZAEwARQBOAD4APABBAEwARwBJAEQAPgBBAEUAUwBDAFQAUgA8AC8AQQBMAEcASQBEAD4APAAvAFAAUgBPAFQARQBDAFQASQBOAEYATwA+ADwASwBJAEQAPgBHAEoAZAA4AGgAeQBQADcAKwBVAG0AZABvAHIAYwBOAEkAbwBOAHUAWQBnAD0APQA8AC8ASwBJAEQAPgA8AEwAQQBfAFUAUgBMAD4AOgBoAHQAdABwADoALwAvAHMAdABhAGcAaQBuAGcALgBzAGkAZwBtAGEAZAByAG0ALgBjAG8AbQA6ADgAMAA4ADAALwBsAGkAYwBlAG4AcwBlAC8AdgBlAHIAaQBmAHkALwBwAGwAYQB5AHIAZQBhAGQAeQA8AC8ATABBAF8AVQBSAEwAPgA8AC8ARABBAFQAQQA+ADwALwBXAFIATQBIAEUAQQBEAEUAUgA+AA==",
"checksum": "W74GehiXPso="
},
"fairplay": {
"uri": "skd://staging.sigmadrm.com:8080/license/verify/fairplay?keyId=877c9718-fb23-49f9-9da2-b70d22836e62&assetId=live_vtv1"
},
"sigma": {
"uri": "http://staging.sigmadrm.com:8080/license/verify/sigma?keyId=877c9718-fb23-49f9-9da2-b70d22836e62&assetId=live_vtv1"
}
}
}
}
}