Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Описание

В этом разделе описаны методы API для создания, удаления и изменения настроек DVR и записи потоков.

Общие сведения

  • Обязательные заголовки: CDN-AUTH-TOKEN (авторизационный токен, см. Авторизация)
  • Content-Type успешного ответа: application/json
  • Под ID ресурса понимается ID RTMP/RTSP-publish ресурса
  • Используемые сокращения:


СокращениеПолное название
ИПИсходный плейлист

Общие ошибки

В ответ на любой из запросов может вернуться одна из следующих ошибок:

Код ответаContent-TypeТело ответаОписание
400text/plainInvalid pathНеверный путь
401text/plainInvalid tokenНе передан заголовок с токеном
403text/plainInvalid accountУказан неверный аккаунт
404text/plainNot foundНеверный URL
405text/plainMethod is not allowedОтказано в доступе к действию
500text/html-Внутренняя ошибка сервера


Пример запроса

curl 'https://apicdn.rcloud.ru/app/recorder-cloud/v1/testaccount/record'

Пример неуспешного ответа

Invalid token

Получить настройки всех записей

URL: https://apicdn.rcloud.ru/app/recorder-cloud/v1/<your_account_name>/record

  • Тип запроса: GET
  • Доступные querystring-параметры:

    НазваниеДопустимые значенияОписание
    resource_idID ресурсаID ресурса, к которому применены настройки
    allПрисутствие/отсутствие в списке параметровВернуть все инстансы записей, в т.ч. закончившиеся и уже начавшиеся
    extra_fieldsСписок строк, разделённый запятымиВернуть дополнительные поля
  • Доступные значения параметра extra_fields:

    ЗначениеОписание
    statusСтатус записи (wait/progress/finish/error)
  • Возможные коды ответа:

    Код ответаДанные ответаОписание
    200Список данных о настройках-
  • Формат данных о настройках:

    КлючОписание
    idИдентификатор
    resource_idID ресурса
    account_nameНазвание аккаунта
    source_domainДомен ИП
    source_pathПуть ИП
    stream_typeВид трансляции
    launch_typeСпособ запуска записи
    stop_timeoutTimeout ожидания потока для записи (в секундах)
    storage_timeВремя хранения файла записи (в днях)
    dvr_enabledВключен ли DVR
    dvr_windowОкно DVR (в секундах)
    smilЯвляется ли исходных плейлист SMIL-ом
    qualitiesОбъект с ссылками и названиями качеств ИП
    recordsСписок данных о записях
    pathПуть, по которому сохраняются файлы записи
  • Формат данных о записи:

    КлючОписание
    startДата и время начала записи
    stopДата и время окончания записи
    init_pathПуть, по которому сохранялся файл записи


    Формат даты и времени начала и окончания записи

    Значение даты и времени выдаётся в формате YYYY-MM-DDThh:mm:ssZ в UTC.
    Пример: 2021-12-30T12:30:05Z

Пример запроса

curl 'https://apicdn.rcloud.ru/app/recorder-cloud/v1/testaccount/record' -H "CDN-AUTH-TOKEN: $TOKEN"

Пример успешного ответа

[
 {
    "id": "a9bdcf5f-4e9e-42b3-bfсd-35469d66a44f",
    "resource_id": "6434361230573122384_fxqe0wa6vvv",
    "account_name": "test_account",
    "source_domain": "https://prefix.a.trbcdn.net",
    "source_path": "/livemaster/70xs4gn2s0_zv2dm9kt929/playlist.m3u8",
    "stream_type": "short",
    "launch_type": "button",
    "stop_timeout": 1800,
    "storage_time": 3,
    "dvr_enabled": true,
    "dvr_window": 43200,
    "smil": false,
    "qualities": null,
    "records": [
      {
        "start": "2022-01-01T13:26:26Z",
        "stop": "2022-01-01T15:27:34Z",
        "init_path": "/records/20220101T121112.m3u8"
      },
      {
        "start": "2022-01-01T16:13:52Z",
        "stop": "2022-01-01T17:14:48Z",
        "init_path": "/records/20220101T121112.m3u8"
      }
    ],
    "path": "/records/20220101T121112.m3u8"
  }
]

Создать настройки записи

URL: https://apicdn.rcloud.ru/app/recorder-cloud/v1/<your_account_name>/record

  • Тип запроса: PUT
  • Content-Type тела запроса: application/json
  • Доступные параметры:

    НазваниеОбязательныйЗначение по умолчаниюДопустимые значенияОписание
    resource_idНет-ID ресурсаID ресурса, для которого создаются настройки записи
    stream_nameДа-СтрокаНазвание потока
    stream_typeДа-Вид трансляцииВид трансляции, для которой настраивается запись
    sourceДа-URLURL исходного плейлиста
    launch_typeДа-Способ стартаСпособ старта записи
    scheduleНет-Список объектов расписанияСписок объектов запланированных записей
    pathНет/records/{now}.m3u8Путь в хранилищеПуть в хранилище для сохранения записи
    stop_timeoutНет1800Целое число (секунды)Длина timeout-а ожидания потока в секундах
    storage_timeНет-1 (не удалять)Целое число (дни)Количество дней хранения файла записи после её завершения
    dvr_enabledНетfalseBooleanФлаг, определяющий наличие возможности DVR в плеере
    dvr_windowНет43200Целое число (секунды)Окно записи
    smilНетfalseBooleanФлаг, определяющий, является ли ИП master-плейлистом
    qualitiesНет-ОбъектОбъект с ссылками и названиями качеств ИП
  • Возможные значения вида трансляции:

    ЗначениеОписание
    shortКраткосрочная трансляция (до 12 часов)
    longПостоянная трансляция
  • Возможные значения способов старта:

    ЗначениеОписание
    stream_startСтарт по публикации потока
    buttonСтарт по нажатию кнопки (запросу)
    schedule*Старт в заранее определённое время


    Обратите внимание

    * - данный способ доступен только для записи краткосрочных трансляций

  • Возможные коды ответа:

    Код ответаДанные ответаОписание
    201record_idНастройки успешно созданы
    409-Настройки записи для ИП уже созданы и активны
    422Данные об ошибкахОшибка в значениях параметров

Пример запроса

curl 'https://apicdn.rcloud.ru/app/recorder-cloud/v1/testaccount/record' -X PUT --data '{"stream_name": "6t48oq7ts_i12f41tnkfs_smil", "stream_type":"short", "path":"/records/20220101T175729.m3u8", "smil":true, "qualities": {"https://prefix.a.trbcdn.net/livemaster/6t48oq7ts_i12f41tnkfs_tcode360p/playlist.m3u8": "360p", "https://prefix.a.trbcdn.net/livemaster/6t48oq7ts_i12f41tnkfs_tcode480p/playlist.m3u8": "480p", "https://prefix.a.trbcdn.net/livemaster/6t48oq7ts_i12f41tnkfs_tcode720p/playlist.m3u8": "720p"}, "launch_type": "button", "stop_timeout": 1800, "dvr_enabled": false, "schedule": [], "storage_time": 3, "resource_id": "9778349385416447311_hl4ceseblgw", "source": "https://prefix.a.trbcdn.net/livemaster/xlepd_live-5nls7s5gi2.smil/playlist.m3u8"}' -H "Content-Type: application/json" -H "CDN-AUTH-TOKEN: $TOKEN"

Пример успешного ответа

{
  "id": "b1795283-c88b-43ad-a28b-0659389e82df"
}

Получить настройки записи конкретного потока

URL: https://apicdn.rcloud.ru/app/recorder-cloud/v1/<your_account_name>/record/<record_id>

  • Тип запроса: GET
  • Доступные querystring-параметры:

    НазваниеДопустимые значенияОписание
    resource_idID ресурсаID ресурса, к которому применены настройки
    allПрисутствие/отсутствие в списке параметровВернуть все инстансы записей, в т.ч. закончившиеся и уже начавшиеся
    extra_fieldsСписок строк, разделённый запятымиВернуть дополнительные поля
  • Доступные значения параметра extra_fields:

    НазваниеОписание
    statusСтатус записи (wait/progress/finish/error)
  • Возможные коды ответа:

    Код ответаДанные ответаОписание
    200Список данных о настройках-
  • Формат данных о настройках:

    КлючОписание
    idИдентификатор
    resource_idID ресурса
    account_nameНазвание аккаунта
    source_domainДомен ИП
    source_pathПуть ИП
    stream_typeВид трансляции
    launch_typeСпособ запуска записи
    stop_timeoutTimeout ожидания потока для записи (в секундах)
    storage_timeВремя хранения файла записи (в днях)
    dvr_enabledВключен ли DVR
    dvr_windowОкно DVR (в секундах)
    smilЯвляется ли исходных плейлист SMIL-ом
    qualitiesОбъект с ссылками и названиями качеств ИП
    recordsСписок данных о записях
    pathПуть, по которому сохраняются файлы записи
  • Формат данных о записи:

    КлючОписание
    startДата и время начала записи
    stopДата и время окончания записи
    init_pathПуть, по которому сохранялся файл записи


    Формат даты и времени начала и окончания записи

    Значение даты и времени выдаётся в формате YYYY-MM-DDThh:mm:ssZ в UTC.
    Пример: 2021-12-30T12:30:05Z

Пример запроса

curl "https://apicdn.rcloud.ru/app/recorder-cloud/v1/testaccount/record/$RECORD_ID" -H "CDN-AUTH-TOKEN: $TOKEN"

Пример успешного ответа

[
  {
    "id": "089ec628-1e96-482e-a43d-02537b6f8f8e",
    "resource_id": "2415236563435151586_izxvl4r88pc",
    "account_name": "testaccount",
    "source_domain": "https://prefix.a.trbcdn.net",
    "source_path": "/livemaster/dxsbm_live-sj74f3ih5co.smil/playlist.m3u8",
    "stream_type": "short",
    "launch_type": "schedule",
    "stop_timeout": 1800,
    "storage_time": 87,
    "dvr_enabled": false,
    "dvr_window": 43200,
    "smil": true,
    "qualities": {
      "https://prefix.a.trbcdn.net/livemaster/bkxw4xqxna_7vn4752dq4_tcode360p/playlist.m3u8": "360p",
      "https://prefix.a.trbcdn.net/livemaster/bkxw4xqxna_7vn4752dq4_tcode480p/playlist.m3u8": "480p",
      "https://prefix.a.trbcdn.net/livemaster/bkxw4xqxna_7vn4752dq4_tcode720p/playlist.m3u8": "720p"
    },
    "records": [],
    "path": null
  }
]

Действия с настройками записи

URL: https://apicdn.rcloud.ru/app/recorder-cloud/v1/<your_account_name>/record/<record_id>

  • Тип запроса: PATCH
  • Content-Type тела запроса: application/json
  • Доступные параметры:

    НазваниеОбязательныйЗначение по умолчаниюДопустимые значенияОписание
    actionНетchangeСтрока действияНазвание действия, которое необходимо осуществить над настройками
  • Возможные коды ответа:

    Код ответаДанные ответаОписание
    200-Действие успешно совершено
    400-Запись с указанным record_id не найдена
    422Данные об ошибкахОшибка в значениях параметров

Изменение настроек записи

  • action: change
  • Доступные параметры:

    НазваниеОбязательныйЗначение по умолчаниюДопустимые значенияОписание
    stream_typeНет-Вид трансляцииВид трансляции, для которой настраивается запись
    launch_typeНет-Способ стартаСпособ старта записи
    scheduleНет-Список объектов расписанияСписок объектов запланированных записей
    pathНет-Путь в хранилищеПуть в хранилище для сохранения записи
    storage_timeНет-Целое число (дни)Количество дней хранения файла записи после её завершения
    dvr_enabledНет-BooleanФлаг, определяющий наличие возможности DVR в плеере


    Изменение настроек во время активной записи

    Во время активной записи возможно изменять только параметр dvr_enabled.

Пример запроса

curl "https://apicdn.rcloud.ru/app/recorder-cloud/v1/testaccount/record/$RECORD_ID" -H "cdn-auth-token: $TOKEN" -X PATCH --data '{"stream_type": "long", "dvr_enabled": true}' -H 'Content-Type: application/json'

Старт записи

  • action: start

Пример запроса

curl "https://apicdn.rcloud.ru/app/recorder-cloud/v1/testaccount/record/$RECORD_ID" -H "cdn-auth-token: $TOKEN" -X PATCH --data '{"action": "start"}' -H 'Content-Type: application/json'

Остановка записи

  • action: stop

Пример запроса

curl "https://apicdn.rcloud.ru/app/recorder-cloud/v1/testaccount/record/$RECORD_ID" -H "cdn-auth-token: $TOKEN" -X PATCH --data '{"action": "stop"}' -H 'Content-Type: application/json'

Сброс DVR

  • action: restart

Пример запроса

curl "https://apicdn.rcloud.ru/app/recorder-cloud/v1/testaccount/record/$RECORD_ID" -H "cdn-auth-token: $TOKEN" -X PATCH --data '{"action": "restart"}' -H 'Content-Type: application/json'

Деактивация настроек записи

  • action: deactivate

Пример запроса

curl "https://apicdn.rcloud.ru/app/recorder-cloud/v1/testaccount/record/$RECORD_ID" -H "cdn-auth-token