Если вы хотите подготовить видео для Fairplay для интеграции с drmnow!, вам понадобятся [project] и [token] параметры от cdnnow! Подробнее это описано в разделе «Начало работы».
Содержание статьи:
Адрес для запроса лицензий — https://[project].nowdrm.co/fairplay
.
HTTP-метод — POST.
Запрос лицензии должен соответствовать одному из следующих форматов:
{
"fairplay-streaming-request":
{
"version": 1,
"streaming-keys":
[
{
"id": "[keyid]",
"uri": "[contentid]",
"spc": "[spcbase64]"
}
]
}
}
либо
{
"fairplay-streaming-request":
{
"version": 1,
"streaming-keys":
[
{
"id": "",
"uri": "[contentid]~[keyid]",
"spc": "[spcbase64]"
}
]
}
}
где
Если используемый вами запаковщик видео не указывает идентификатор ключа в HLS-манифесте, и/или используемый вами плеер не парсит идентификатор ключа из HLS-манифеста, то используйте другой формат:
{
"content_id": "[contentid]",
"spc_message": "[spcbase64]"
}
Если используемый вами плеер отправляет запрос лицензии в виде бинарных данных без кодирования в base64 и формирования JSON, используйте следующий адрес для запроса лицензий:
https://[project].nowdrm.co/fairplay?contentId=[contentid]
При этом при наличии keyid его также следует указать:
https://[project].nowdrm.co/fairplay?contentId=[contentid]&keyId=[keyid]
В случае успешного выполнения запроса сервер вернет HTTP-код 200 и JSON-ответ следующего вида:
{
"fairplay-streaming-response":
{
"streaming-keys":
[
"[ckcbase64]"
]
}
}
В случае неуспешного выполнения запроса сервер вернет
{
"status": 400,
"title": "Getkeys request error",
"detail": "Keys not found ([project])"
}
если ключи для данного [contentid] в проекте [projectname] не найдены.
{
"fairplay-streaming-response":
{
"streaming-keys": []
}
}
если запрос лицензии поврежден (например, подписан неверным сертификатом).
{
"content_id": "[contentid]",
"spc_message": "[spcbase64]"
}
то ответ будет иметь вид
{
"operation_status_code": [statuscode],
"ckc_message": "[ckcbase64]"
}
[statuscode] — числовой статус выполнения запроса лицензии. 0 означает успешное выполнение запроса, иные значения — неуспешное выполнение запроса.
Если ваш плеер не поддерживает вышеописанные форматы вывода ответа, вы можете дополнительно указать
формат вывода ответа в адресе запроса лицензии https://[project].nowdrm.co/fairplay?responseType=[responsetype]
,
где [responsetype] может иметь следующие значения:
Опции вывода ответа могут быть скомбинированы с параметрами для [contentid] и [keyid] из раздела «Вид запроса -> Устранение проблем».