Archiver Playout Profile
All POST
and PUT
calls require the Content-Type
header to be set to application/json
Playout Profile object
Property | Type | Nullable | Notes |
---|---|---|---|
id | string | No | /^[A-Za-z0-9_]+$/ PUT has no effect |
expiresIn | int | Yes | Seconds |
key | string | Yes | KID:CEK |
issKeyIv | string | Yes | |
issLicenseUrl | string | Yes | |
widevineDrmData | string | Yes | |
widevineLicenseUrl | string | Yes | |
aesKey | string | Yes | |
aesKeyIv | string | Yes | |
aesLicenseUrl | string | Yes | |
captures | PlayoutProfileCapture array | No | |
streamingFormats | string array | No | "HLS" , "HDS" , "DASH" , "SMOOTH" [1]GET only |
[1] The available streamingFormats
is automatically determined based on the configuration of the DRM properties
Playout Profile Capture object
Property | Type | Nullable | Notes |
---|---|---|---|
captureId | string | No | |
liveRedirectUrl | string | Yes |
Supported Actions
GET /archiverplayoutprofile/
Get all Playout Profiles, or all Playout Profile IDs if onlyIds=true
Query Parameters:
Name | Type | Required |
---|---|---|
onlyIds | bool | No (default: false ) |
Response Body: Array of Playout Profile objects, or an array of strings if onlyIds=true
Example Request:
archiverplayoutprofile
Example Response:
[
{
"id": "MyProfile",
"expiresIn": 864000,
"key": "012345:ABCDEF",
"issKeyIv": "0123456789ABCDEF",
"issLicenseUrl": "http://licenseserver/license.aspx",
"widevineDrmData": null,
"widevineLicenseUrl": null,
"aesKey": null,
"aesKeyIv": null,
"aesLicenseUrl": null,
"captures": [
{
"captureId": "MyCapture",
"liveRedirectUrl": null
},
{
"captureId": "MyCapture2",
"liveRedirectUrl": "http://live.origin-server.net/live.isml"
}
],
"streamingFormats": [
"SMOOTH",
"DASH"
]
},
{
"id": "MyProfile2",
"expiresIn": null,
"key": null,
"issKeyIv": null,
"issLicenseUrl": null,
"widevineDrmData": null,
"widevineLicenseUrl": null,
"aesKey": null,
"aesKeyIv": null,
"aesLicenseUrl": null,
"captures": [],
"streamingFormats": [
"HLS",
"DASH",
"SMOOTH",
"HDS"
]
}
]
Example Request:
archiverplayoutprofile?onlyIds=true
Example Response:
[
"MyProfile",
"MyProfile2"
]
GET /archiverplayoutprofile/{id}
Get the Playout Profile with the specified ID
Response Body: A Playout Profile object
Example Request:
archiverplayoutprofile/MyProfile
Example Response Body:
{
"id": "MyProfile",
"expiresIn": 864000,
"key": "012345:ABCDEF",
"issKeyIv": "0123456789ABCDEF",
"issLicenseUrl": "http://licenseserver/license.aspx",
"widevineDrmData": null,
"widevineLicenseUrl": null,
"aesKey": null,
"aesKeyIv": null,
"aesLicenseUrl": null,
"captures": [
{
"captureId": "MyCapture",
"liveRedirectUrl": null
},
{
"captureId": "MyCapture2",
"liveRedirectUrl": "http://live.origin-server.net/live.isml"
}
],
"streamingFormats": [
"SMOOTH",
"DASH"
]
}
GET /archiverplayoutprofile/{id}/captures/
Get the Playout Profile Capture objects for the Playout Profile with the specified ID. This is the same array of objects from the Playout Profile object’s captures
property.
Response Body: Array of Playout Profile Capture objects
Example Request:
archiverplayoutprofile/MyProfile/captures
Example Response Body:
[
{
"captureId": "MyCapture",
"liveRedirectUrl": null
},
{
"captureId": "MyCapture2",
"liveRedirectUrl": "http://live.origin-server.net/live.isml"
}
]
POST /archiverplayoutprofile/
Add a new Playout Profile.
All properties are required except for streamingFormats
, which is ignored.
Request Body: Playout Profile object
Response Body: The persisted Playout Profile object
Example Request Body:
{
"id": "NewProfile",
"expiresIn": 864000,
"key": "key",
"issKeyIv": "issKeyIv",
"issLicenseUrl": "http://issLicenseUrl",
"widevineDrmData": "widevineDrmData",
"widevineLicenseUrl": "http://widevineLicenseUrl",
"aesKey": "aesKey",
"aesKeyIv": "aesKeyIv",
"aesLicenseUrl": "http://aesLicenseUrl",
"captures": [
{
"captureId": "Capture1",
"liveRedirectUrl": "http://live.origin-server.net/live.isml"
},
{
"captureId": "Capture2",
"liveRedirectUrl": "http://live.origin-server.net/live.isml"
}
]
}
Example Response Body:
{
"id": "NewProfile",
"expiresIn": 864000,
"key": "key",
"issKeyIv": "issKeyIv",
"issLicenseUrl": "http://issLicenseUrl",
"widevineDrmData": "widevineDrmData",
"widevineLicenseUrl": "http://widevineLicenseUrl",
"aesKey": "aesKey",
"aesKeyIv": "aesKeyIv",
"aesLicenseUrl": "http://aesLicenseUrl",
"captures": [
{
"captureId": "Capture1",
"liveRedirectUrl": "http://live.origin-server.net/live.isml"
},
{
"captureId": "Capture2",
"liveRedirectUrl": "http://live.origin-server.net/live.isml"
}
],
"streamingFormats": [
"SMOOTH",
"DASH",
"HLS"
]
}
PUT /archiverplayoutprofile/{id}
Update the Playout Profile with the specified ID.
All properties are required except for streamingFormats
, which is ignored. Changing id
has no effect.
Request Body: Playout Profile object
Response Body: The persisted Playout Profile object
Example Request:
archiverplayoutprofile/NewProfile
Example Request Body:
{
"id": "NewProfile",
"expiresIn": 864000,
"key": "key",
"issKeyIv": "issKeyIv",
"issLicenseUrl": "http://issLicenseUrl",
"widevineDrmData": "widevineDrmData",
"widevineLicenseUrl": "http://widevineLicenseUrl",
"aesKey": null,
"aesKeyIv": null,
"aesLicenseUrl": null,
"captures": [
{
"captureId": "Capture1",
"liveRedirectUrl": "http://live.origin-server.net/live-2.isml"
},
{
"captureId": "Capture3",
"liveRedirectUrl": null
}
]
}
Example Response Body:
{
"id": "NewProfile",
"expiresIn": 864000,
"key": "key",
"issKeyIv": "issKeyIv",
"issLicenseUrl": "http://issLicenseUrl",
"widevineDrmData": "widevineDrmData",
"widevineLicenseUrl": "http://widevineLicenseUrl",
"aesKey": null,
"aesKeyIv": null,
"aesLicenseUrl": null,
"captures": [
{
"captureId": "Capture1",
"liveRedirectUrl": "http://live.origin-server.net/live-2.isml"
},
{
"captureId": "Capture3",
"liveRedirectUrl": null
}
],
"streamingFormats": [
"SMOOTH",
"DASH"
]
}
DELETE /archiverplayoutprofile/{id}
Delete the Playout Profile with the specified ID
Response Body: The deleted Playout Profile object
Note: The Playout Profile Capture objects are deleted before the Playout Profile object is. Therefore, when the Playout Profile object is returned in the Response Body, the captures
array will always be empty.
Example Request:
archiverplayoutprofile/NewProfile
Example Response Body:
{
"id": "NewProfile",
"expiresIn": 864000,
"key": "key",
"issKeyIv": "issKeyIv",
"issLicenseUrl": "http://issLicenseUrl",
"widevineDrmData": "widevineDrmData",
"widevineLicenseUrl": "http://widevineLicenseUrl",
"aesKey": null,
"aesKeyIv": null,
"aesLicenseUrl": null,
"captures": [],
"streamingFormats": [
"SMOOTH",
"DASH"
]
}