Живые потоки API
Живые потоки API предоставляют конечные точки для поиска и получения информации о ваших живых событиях. Это позволяет вам создавать каталоги “Live Now” и встраивать живые игроки в свои приложения.
Получение активных потоков
Это основная конечная точка для обнаружения потоков, которые сейчас находятся в режиме “он-эр”. Она возвращает список только тех потоков, которые активно получают сигнал от энкодера.
GET /live-streams/active
Параметры
Эта конечная точка не принимает никаких параметров. Она вернет все активные потоки для вашего аккаунта.
Пример запроса
GET /api/client/v1/live-streams/active
Host: https://your-app.com
Authorization: Bearer sk-your-api-key-here
Ответ: GET /live-streams/active
Если потоки активны, вы получите массив объектов LiveStream
. Статус будет равен active
и присутствовать будет объект manifest
.
{
"data": [
{
"id": "9c1a9e3e-7d8c-5g9b-9f1c-8a2b0c3d9e8f",
"title": "Еженедельная сессия вопросов и ответов",
"description": "Отвечаем на ваши вопросы в прямом эфире.",
"status": "active",
"manifest": {
"hls_url": "https://your-app.com/storage/live_media/live/9c1a9e3e-7d8c-5g9b-9f1c-8a2b0c3d9e8f/adaptive/master.m3u8"
},
"metadata": {
"категория": "Технические разговоры",
"хост": "Джейн Доу"
},
"теги": ["live", "q&a"],
"created_at": "2024-08-01T10:00:00Z"
}
]
}
Если в настоящее время нет активных потоков, конечная точка API вернет пустой массив данных.
{
"data": []
}
Получение всех живых потоков
Эта конечная точка предоставляет пагинированный каталог всех конфигурированных в вашем аккаунте живых потоков, независимо от их текущего статуса (активный или неактивный). Это полезно для создания расписания или полного списка доступных каналов.
GET /live-streams
Параметры
Имя | Тип | Обязательное | Описание |
---|---|---|---|
per_page | integer | Optional | Количество потоков, возвращаемых на страницу. По умолчанию: 15 , Максимально: 100 . |
Пример запроса
GET /api/client/v1/live-streams?per_page=2
Ответ: GET /live-streams
Ответ — стандартный пагинированный список. Статус будет равен active
или inactive
, а объект manifest
будет присутствовать только для активных потоков.
{
"data": [
{
"id": "9c1a9e3e-7d8c-5g9b-9f1c-8a2b0c3d9e8f",
"title": "Еженедельная сессия вопросов и ответов",
"description": "Отвечаем на ваши вопросы в прямом эфире.",
"status": "active",
"manifest": {
"hls_url": "https://your-app.com/storage/live_media/live/9c1a9e3e-7d8c-5g9b-9f1c-8a2b0c3d9e8f/adaptive/master.m3u8"
},
"metadata": {
"категория": "Технические разговоры"
},
"теги": ["live", "q&a"],
"created_at": "2024-08-01T10:00:00Z"
},
{
"id": "9c1a9e3e-1a2b-3c4d-5e6f-7g8h9i0j1k2l",
"title": "Предстоящая презентация продукта",
"description": "Приглашаем вас к большой премьере.",
"status": "inactive",
"metadata": {
"категория": "Продукт"
},
"теги": ["launch", "event"],
"created_at": "2024-07-25T15:00:00Z"
}
],
"ссылки": {
"first": "https://your-app.com/api/client/v1/live-streams?page=1",
"last": "https://your-app.com/api/client/v1/live-streams?page=3",
"prev": null,
"next": "https://your-app.com/api/client/v1/live-streams?page=2"
},
"meta": {
"текущая страница": 1,
"от": 1,
"последняя страница": 3,
"путь": "https://your-app.com/api/client/v1/live-streams",
"per_page": 2,
"до": 2,
"всего": 6
}
}
Получение одного живого потока
Получает полную информацию о одном конкретном живом потоке по его ID. Это конечная точка, которую вы бы вызвали для получения необходимой информации для загрузки потока в игрока.
GET /live-streams/{streamId}
Параметры пути
Имя | Тип | Описание |
---|---|---|
streamId | uuid | Обязательное. Уникальный идентификатор живого потока. |
Пример запроса
GET /api/client/v1/live-streams/9c1a9e3e-7d8c-5g9b-9f1c-8a2b0c3d9e8f
Ответ: GET /live-streams/{streamId}
Ответ — один объект LiveStream
. Объект manifest
будет присутствовать, если поток активен.
{
"data": {
"id": "9c1a9e3e-7d8c-5g9b-9f1c-8a2b0c3d9e8f",
"title": "Еженедельная сессия вопросов и ответов",
"description": "Отвечаем на ваши вопросы в прямом эфире.",
"status": "active",
"manifest": {
"hls_url": "https://your-app.com/storage/live_media/live/9c1a9e3e-7d8c-5g9b-9f1c-8a2b0c3d9e8f/adaptive/master.m3u8"
},
"metadata": {
"категория": "Технические разговоры",
"хост": "Джейн Доу"
},
"теги": ["live", "q&a"],
"created_at": "2024-08-01T10:00:00Z"
}
}