tocdepth

2

API-методы RTMP/RTSP-publish

Получить все ресурсы

URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: GET

  • Заголовки: CDN-AUTH-TOKEN

  • Тип данных ответа: JSON Array или JSON Object в случае ошибки

Код ответа Данные ответа Формат ответа Описание
200 Все LIVE-ресурсы для аккаунта или описание ошибки JSON Получен список ресурсов или ошибка
403 None None Запрещено
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H "CDN-AUTH-TOKEN: $TOKEN" https://api.cdn.sber.cloud/cdn/api/v1/testaccount/resource/live/

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

[
  {
    "name": "test_resource",
    "settings": {
      "RTMP-publish": {
        "domain": "p0q2zwj4yih.a.trbcdn.net",
        "pub_protocol": "rtmp",
        "master_stream": "jws2w_test_resource.smil",
        "primary": "a.r.sber.cloud",
        "application": "livemaster",
        "dist_protocol": "https",
        "backup": "b.r.sber.cloud"
      }
    },
    "streams": {
      "someid1": {
        "stream_name": "someid1_stream01",
        "password": "j8eAMouA15uA0VHPZeicNWa7SL",
        "resolution": "720p",
        "name": "stream01",
        "smil": {
          "BANDWIDTH": "5000000",
          "RESOLUTION": "1280x720"
        }
      },
      "someid2": {
        "stream_name": "someid2_stream02",
        "password": "i7uOAouA15uA0VHPYioaSQt4KN",
        "resolution": "1080p",
        "name": "stream02",
        "smil": {
          "BANDWIDTH": "10000000",
          "RESOLUTION": "1920x1080"
        }
      }
    },
    "active": true,
    "creation_ts": 1542872090,
    "type": "RTMP-publish",
    "id": "1163546047721937079_p0q2zwj4yih",
    "resources": {
      "http": "test"
    },
    "cdn_domain": "test.a.trbcdn.net",
    "description": ""
  }
]

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

{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

Внимание

Для получения неактивных ресурсов используйте query-параметр active с значением false.

Получить конкретный ресурс

URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: GET

  • Заголовки: CDN-AUTH-TOKEN

  • Тип данных ответа: JSON Object

Код ответа Данные ответа Формат ответа Описание
200 Конкретный LIVE-ресурс для аккаунта или описание ошибки JSON Получен ресурс или ошибка
403 None None Запрещено
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H 'cdn-auth-token:cdn2_I7UOAOUA15UA0VHPYIOASQT4KN' https://api.cdn.sber.cloud/cdn/api/v1/testaccount/resource/live/1163546047721937079_p0q2zwj4yih

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

{
  "name": "test_resource",
  "settings": {
    "RTMP-publish": {
      "domain": "p0q2zwj4yih.a.trbcdn.net",
      "pub_protocol": "rtmp",
      "master_stream": "jws2w_test_resource.smil",
      "primary": "a.r.sber.cloud",
      "application": "livemaster",
      "dist_protocol": "https",
      "backup": "b.r.sber.cloud"
    }
  },
  "streams": {
    "someid1": {
      "stream_name": "someid1_stream01",
      "password": "j8eAMouA15uA0VHPZeicNWa7SL",
      "resolution": "720p",
      "name": "stream01",
      "smil": {
        "BANDWIDTH": "5000000",
        "RESOLUTION": "1280x720"
      }
    },
    "someid2": {
      "stream_name": "someid2_stream02",
      "password": "i7uOAouA15uA0VHPYioaSQt4KN",
      "resolution": "1080p",
      "name": "stream02",
      "smil": {
        "BANDWIDTH": "10000000",
        "RESOLUTION": "1920x1080"
      }
    }
  },
  "active": true,
  "creation_ts": 1542872090,
  "type": "RTMP-publish",
  "id": "1163546047721937079_p0q2zwj4yih",
  "resources": {
    "http": "test"
  },
  "cdn_domain": "test.a.trbcdn.net",
  "description": ""
}

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

{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

Внимание

Для получения неактивного ресурса используйте query-параметр active с значением false.

Создать ресурс

URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: POST

  • Заголовки: CDN-AUTH-TOKEN

  • Тело запроса: JSON с данными создаваемого ресурса

  • Тип данных ответа: JSON Object

Код ответа Данные ответа Формат ответа Описание
200 task_id, resource_id или описание ошибки JSON Создан, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H "CDN-AUTH-TOKEN: $TOKEN" \
   -X POST \
   -d '{"name": "test_resource", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}, "someid2": {"name": "stream02", "resolution": "1080p"}}}'
    https://api.cdn.sber.cloud/cdn/api/v1/testaccount/resource/live/

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

{
  "status": "accept",
  "task_id": "20181122103450831469",
  "resource_id": "1163546047721937079_p0q2zwj4yih"
}

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

{
  "status": "error",
  "message": "Json invalid",
  "description": "required key name isn't provided"
}

Изменить ресурс

Запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT-запроса.

URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: PUT

  • Заголовки: CDN-AUTH-TOKEN

  • Тело запроса: JSON с новыми данными ресурса

  • Тип данных ответа: JSON Object

Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки None Изменен, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H "CDN-AUTH-TOKEN: $TOKEN" \
   -X PUT \
   -d '{"name": "test_resource", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "360p"}}}'
https://api.cdn.sber.cloud/cdn/api/v1/testaccount/resource/live/1163546047721937079_p0q2zwj4yih

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

{
  "status": "accept",
  "task_id": "20181122103856008585"
}

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

{
  "status": "error",
  "message": "Json invalid",
  "description": "stream key length should be between 5 and 10. Not 17"
}

Деактивировать ресурс

Запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT-запроса.

URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: PUT

  • Заголовки: CDN-AUTH-TOKEN

  • Тип данных ответа: JSON Object

Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки JSON Деактивирован, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H "CDN-AUTH-TOKEN: $TOKEN" \
   -X PUT \
   -d '{"name": "test_resource", "active": false, "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "360p"}}}'
https://api.cdn.sber.cloud/cdn/api/v1/testaccount/resource/live/1163546047721937079_p0q2zwj4yih

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

{
  "status": "accept",
  "task_id": "20181122103856008586"
}

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

{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

Активировать ресурс

Запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT-запроса.

URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: PUT

  • Заголовки: CDN-AUTH-TOKEN

  • Тип данных ответа: JSON Object

Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки JSON Активирован, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H "CDN-AUTH-TOKEN: $TOKEN" \
   -X PUT \
   -d '{"name": "test_resource", "active": true, "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "360p"}}}'
https://api.cdn.sber.cloud/cdn/api/v1/testaccount/resource/live/1163546047721937079_p0q2zwj4yih

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

{
  "status": "accept",
  "task_id": "20181122103856008586"
}

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

{
  "status": "error",
  "message": "Not allowed method",
  "description": "Request is forbidden"
}

Локальная авторизация

Создание ресурса с локальной авторизацией

URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: POST

  • Заголовки: CDN-AUTH-TOKEN

  • Тело запроса: JSON с данными создаваемого ресурса и параметрами локальной авторизации

  • Тип данных ответа: JSON Object

Код ответа Данные ответа Формат ответа Описание
200 task_id, resource_id или описание ошибки JSON Создан, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H "CDN-AUTH-TOKEN: $TOKEN" \
   -X POST \
   -d '{"auth": {"md5": {"secret": "123", "forever": true, "anywhere": true}}, "name": "test_resource", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}, "someid2": {"name": "stream02", "resolution": "1080p"}}}'
https://api.cdn.sber.cloud/cdn/api/v1/testaccount/resource/live/

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

{
  "status": "accept",
  "task_id": "20181122103450831469",
  "resource_id": "1163546047721937079_p0q2zwj4yih"
}

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

{
  "status": "error",
  "message": "Json invalid",
  "description": "required key name isn't provided"
}

Изменение локальной авторизации ресурса

Запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT-запроса.

URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: PUT

  • Заголовки: CDN-AUTH-TOKEN

  • Тело запроса: JSON с измененными параметрами локальной авторизации

  • Тип данных ответа: JSON Object

Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки None Изменен, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H "CDN-AUTH-TOKEN: $TOKEN" \
   -X PUT \
   -d '{"auth": {"md5": {"secret": "456", "forever": true}}, "name": "test_resource", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "360p"}}}'
https://api.cdn.sber.cloud/cdn/api/v1/testaccount/resource/live/1163546047721937079_p0q2zwj4yih

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

{
  "status": "accept",
  "task_id": "20181122103856008585"
}

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

{
  "status": "error",
  "message": "Json invalid",
  "description": "stream key length should be between 5 and 10. Not 17"
}

Внешняя авторизация

Создание ресурса с внешней авторизацией

URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: POST

  • Заголовки: CDN-AUTH-TOKEN

  • Тело запроса: JSON с данными создаваемого ресурса и параметрами внешней авторизации

  • Тип данных ответа: JSON Object

Код ответа Данные ответа Формат ответа Описание
200 task_id, resource_id или описание ошибки JSON Создан, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H "CDN-AUTH-TOKEN: $TOKEN" \
   -X POST \
   -d '{"auth": {"url": "https://test.com/yourscript"}, "name": "test_resource", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}, "someid2": {"name": "stream02", "resolution": "1080p"}}}'
https://api.cdn.sber.cloud/cdn/api/v1/testaccount/resource/live/

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

{
  "status": "accept",
  "task_id": "20181122103450831469",
  "resource_id": "1163546047721937079_p0q2zwj4yih"
}

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

{
  "status": "error",
  "message": "Json invalid",
  "description": "required key name isn't provided"
}

Изменение внешней авторизации ресурса

Запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT-запроса.

URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: PUT

  • Заголовки: CDN-AUTH-TOKEN

  • Тело запроса: JSON с измененными параметрами внешней авторизации

  • Тип данных ответа: JSON Object

Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки None Изменен, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H "CDN-AUTH-TOKEN: $TOKEN" \
   -X PUT \
   -d '{"auth": {"url": "https://test.com/yourscript2"}, "name": "test_resource", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "360p"}}}' \
https://api.cdn.sber.cloud/cdn/api/v1/testaccount/resource/live/1163546047721937079_p0q2zwj4yih

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

{
  "status": "accept",
  "task_id": "20181122103856008585"
}

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

{"status": "error", "message": "Json invalid", "description": "stream key length should be between 5 and 10. Not 17"}

Ограничения раздачи

Создание ресурса с ограничением раздачи по странам, IP адресам, referer или User-Agent

URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: POST

  • Заголовки: CDN-AUTH-TOKEN

  • Тело запроса: JSON с данными создаваемого ресурса и параметрами ограничений

  • Тип данных ответа: JSON Object

Код ответа Данные ответа Формат ответа Описание
200 task_id, resource_id или описание ошибки JSON Создан, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H "CDN-AUTH-TOKEN: $TOKEN" \
-X POST \
-d '{"name": "test_resource", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}}, "limitations": {"geo": [{"default_action": "allow", "exclude": [{"country": "RU", "region": "BEL", "action": "deny"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}, {"default_action": "allow", "exclude": [{"country": "RU", "region": "CR", "action": "deny"}, {"country": "RU", "region": null, "action": "deny"}], "times": [{"start": "2019-07-20T14:19:00Z", "end": null}]}], "ip": [{"default_action": "deny", "exclude": [{"ip":"192.168.0.1/24"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}], "referer": [{"default_action": "deny", "exclude": [{"referer":"*.ru"}], "times": [{"start": null, "end": "2019-07-20T14:18:00Z"}]}], "useragent": [{"default_action": "deny", "exclude": [{"useragent": "browser_name"}], "times": [{"start": "2019-07-20T14:17:00Z", "end": "2019-07-20T14:18:00Z"}]}]}}' \
https://api.cdn.sber.cloud/cdn/api/v1/<account_name>/resource/live/

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

{
  "status": "accept",
  "task_id": "20180402162358692413",
  "resource_id": "1163546047721937079_p0q2zwj4yih"
}

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

{
  "status": "error",
  "message": "json invalid",
  "description": "limitations : Invalid time interval: start:2021-05-11T19:12:00Z, end:2021-05-09T22:12:00Z"
}

Изменение ограничений раздачи ресурса

Запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT-запроса.

URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/<resource_id>

  • Тип запроса: PUT

  • Заголовки: CDN-AUTH-TOKEN

  • Тело запроса: JSON с измененными параметрами ограничений

  • Тип данных ответа: JSON Object

Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки None Изменен, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H "CDN-AUTH-TOKEN: $TOKEN" \
-X PUT \
-d '{"name": "test_resource", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}}, "limitations": { "ip": [{"default_action": "deny", "exclude": [{"ip":"192.168.0.1/24"}], "times": []}]}}' \
https://api.cdn.sber.cloud/cdn/api/v1/<account_name>/resource/live/<resource_id>

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

{"status": "accept", "task_id": "20180402162358692413"}

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

{"status": "error", "message": "Not allowed method", "description": "Request is forbidden"}

Получение ссылок для публикации и раздачи

Для того, чтобы получить полные ссылки для публикации и раздачи потоков, необходимо соединить параметры live-ресурса, полученные при GET-запросе.

Ссылка для публикации потока

<pub_protocol>://<primary|backup>/<application>/<stream_name>?auth=<password>

Пример итоговой ссылки для публикации:

rtmp://a.r.cdnvideo.net/livemaster/someid1_stream01?auth=j8eAMouA15uA0VHPZeicNWa7SL

Ссылка для раздачи потока

<dist_protocol>://<domain>/<application>/<master_stream>/playlist.m3u8

Пример итоговой ссылки для раздачи:

https://p0q2zwj4yih.a.trbcdn.net/livemaster/jws2w_test_resource.smil/playlist.m3u8

Транскодирование

Вы можете заказать услугу транскодирования входного потока в несколько качеств. Это позволит избежать дополнительных затрат на оборудование или программное обеспечение.

Внимание

Данная услуга оплачивается согласно тарифам, указанным в личном кабинете.

Профили транскодирования

На данный момент мы предлагаем следующие профили транскодирования:

ID профиля Качества Кодек для видео Кодек для аудио Объединение качеств в один поток
360_480_720 360p, 480p, 720p h.264 AAC/mp3 +
480_720_1080 480p, 720p, 1080p h.264 AAC/mp3 +
360_480_720_1080 360p, 480p, 720p, 1080p h.264 AAC/mp3 +

Заказать услугу

URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: POST

  • Заголовки: CDN-AUTH-TOKEN

  • Тело запроса: JSON с данными создаваемого ресурса и выбранным профилем транскодирования

  • Тип данных ответа: JSON Object

Код ответа Данные ответа Формат ответа Описание
200 task_id, resource_id или описание ошибки JSON Создан, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H "CDN-AUTH-TOKEN: $TOKEN" \
   -X POST \
   -d '{"name": "test_resource", "transcode_profile": "360_480_720", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}}}' \
https://api.cdn.sber.cloud/cdn/api/v1/testaccount/resource/live/

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

{
  "status": "accept",
  "task_id": "20181122103450831469",
  "resource_id": "1163546047721937079_p0q2zwj4yih"
}

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

{
  "status": "error",
  "message": "Json invalid",
  "description": "transcode_profile should be one of ['480_720_1080', '360_480_720', '360_480_720_1080']. Not 360_480"
}

Внимание

Если вы заказываете услугу транскодирования, для ресурса указывается один входной поток.

Изменить услугу

Запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT-запроса.

URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: PUT

  • Заголовки: CDN-AUTH-TOKEN

  • Тело запроса: JSON с данными ресурса и новым профилем транскодирования

  • Тип данных ответа: JSON Object

Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки None Изменен, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H "CDN-AUTH-TOKEN: $TOKEN" \
   -X PUT \
   -d '{"name": "test_resource", "transcode_profile": "360_480_720_1080", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}}}' \
   https://api.cdn.sber.cloud/cdn/api/v1/testaccount/resource/live/1163546047721937079_p0q2zwj4yih

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

{
  "status": "accept",
  "task_id": "20181122103450831471"
}

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

{
  "status": "error",
  "message": "Json invalid",
  "description": "there must be only one stream to be transcoded. Not 0"
}

Внимание

Если вы изменяете услугу транскодирования, для ресурса указывается один входной поток.

Отключить услугу

Запрос полностью заменяет конфигурацию ресурса на данные, передаваемые в теле PUT-запроса.

URL: https://api.cdn.sber.cloud/cdn/api/v1/<your_account_name>/resource/live/

  • Тип запроса: PUT

  • Заголовки: CDN-AUTH-TOKEN

  • Тело запроса: JSON с данными ресурса и пустым профилем транскодирования

  • Тип данных ответа: JSON Object

Код ответа Данные ответа Формат ответа Описание
200 task_id или описание ошибки None Изменен, id задачи в общей очереди задач или ошибка
400 None None Неверный запрос
404 None None Не найдено
500 None None Внутренняя ошибка сервера
503 None None Сервис недоступен

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

curl -H "CDN-AUTH-TOKEN: $TOKEN" \
   -X PUT \
   -d '{"name": "test_resource", "transcode_profile": "", "type": "RTMP-publish", "streams": {"someid1": {"name": "stream01", "resolution": "720p"}}}' \
https://api.cdn.sber.cloud/cdn/api/v1/testaccount/resource/live/1163546047721937079_p0q2zwj4yih

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

{
  "status": "accept",
  "task_id": "20181122103450831472"
}

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

{
  "status": "error",
  "message": "Not allowed method",
  "description": "Request is forbidden"
}
Запустили Evolution free tier
для Dev & Test
Получить