INTEGRITY Документация

Запуск прямой трансляции

После оформления подписки на Stream вы сможете создавать Live Input в Dash или через API. Транслируйте на новый Live Input по RTMPS или SRT. SRT поддерживает более новые видеокодеки и упрощает использование функций доступности, таких как субтитры и несколько аудиодорожек.

Впервые проводите прямую трансляцию? Вам понадобится программное обеспечение для отправки видео в Cloudflare. Узнайте, как начать прямую трансляцию в Stream с помощью OBS Studio.

Использование панели управления

Шаг 1: В панели управления Cloudflare перейдите в Источники прямой трансляции странице и создайте Live Input.

Перейдите в Источники прямой трансляции ↗ Поле создания входного потока в дашборде

Шаг 2: Скопируйте URL RTMPS и ключ и используйте их в приложении для прямых трансляций. Мы рекомендуем использовать Open Broadcaster Software (OBS) ↗ чтобы начать работу.

Пример поля RTMPS URL

Шаг 3: Начните трансляцию и просмотрите ее предварительно в Stream Dashboard

В Stream Dashboard уже через несколько секунд после начала трансляции вы увидите предпросмотр того, что видят зрители. Чтобы добавить воспроизведение прямой трансляции на сайт или в приложение, см. Воспроизведение видео.

Использование API

Чтобы запустить прямую трансляцию программно, выполните POST запрос к /live_inputs конечная точка:

Запрос
curl -X POST \
--header "Authorization: Bearer <API_TOKEN>" \
--data '{"meta": {"name":"test stream"},"recording": { "mode": "automatic" }}' \
https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs
Ответ
{
	"uid": "f256e6ea9341d51eea64c9454659e576",
	"rtmps": {
		"url": "rtmps://live.cloudflare.com:443/live/",
		"streamKey": "MTQ0MTcjM3MjI1NDE3ODIyNTI1MjYyMjE4NTI2ODI1NDcxMzUyMzcf256e6ea9351d51eea64c9454659e576"
	},
	"created": "2021-09-23T05:05:53.451415Z",
	"modified": "2021-09-23T05:05:53.451415Z",
	"meta": {
		"name": "test stream"
	},
	"status": null,
	"recording": {
		"mode": "automatic",
		"requireSignedURLs": false,
		"allowedOrigins": null,
		"hideLiveViewerCount": false
	},
	"enabled": true,
	"deleteRecordingAfterDays": null,
	"preferLowLatency": false
}

Необязательные параметры API

Справочник API для /live_inputs

Следующие четыре свойства вложены в recording объект.

Управление источниками прямой трансляции

Обновление Live Input

Обновление Live Input с помощью PUT запрос:

Запрос
curl --request PUT \
https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs/{input_id} \
--header "Authorization: Bearer <API_TOKEN>" \
--data '{"meta": {"name":"test stream 1"},"recording": { "mode": "automatic", "timeoutSeconds": 10 }}'

Включение и отключение входного потока

Источники прямой трансляции по умолчанию включены. Когда источник отключен, он отклоняет входящие подключения RTMPS и SRT. Используйте это, чтобы временно приостановить источник, не удаляя его, завершить активные трансляции и запретить запуск новых трансляций для конкретного источника.

Чтобы отключить Live Input, задайте enabled к false:

Запрос
curl --request PUT \
https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs/{input_id} \
--header "Authorization: Bearer <API_TOKEN>" \
--data '{"enabled": false}'

Чтобы снова включить Live Input, задайте enabled к true:

Запрос
curl --request PUT \
https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs/{input_id} \
--header "Authorization: Bearer <API_TOKEN>" \
--data '{"enabled": true}'

Смена ключей трансляции

Меняйте учётные данные трансляции для Live Input, если они могли быть переданы не той аудитории, раскрыты в клиентском коде или во время демонстрации экрана, либо их нужно обновить в рамках вашего процесса обеспечения безопасности. Смена ключей не меняет ID Live Input и остальные его настройки.

При смене ключей старые учётные данные аннулируются, трансляции, использующие устаревшие учётные данные, отключаются, а обновлённые учётные данные возвращаются в ответе API.

Запрос
curl --request POST \
https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs/{input_id}/rotate_keys \
--header "Authorization: Bearer <API_TOKEN>"

Ответы с данными источника прямой трансляции включают keysRotatedAt, который указывает, когда ключи live input были обновлены в последний раз. Это поле отсутствует для live input, ключи которых никогда не обновлялись.

Удаление входного потока

Удалите входной поток, выполнив DELETE запрос:

Запрос
curl --request DELETE \
https://api.cloudflare.com/client/v4/accounts/{account_id}/stream/live_inputs/{input_id} \
--header "Authorization: Bearer <API_TOKEN>"

Рекомендации, требования и ограничения

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

Рекомендации

Рекомендации по трансляции Low-Latency HLS Бета

Требования

Ограничения