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

Просмотр прямой трансляции

Когда Источник прямой трансляции начинает получать трансляцию, новое видео создаётся автоматически, если у input mode свойство установлено в automatic.

Для просмотра Stream предлагает встроенный плеер, либо можно использовать собственный плеер с манифестами HLS и DASH.

Просмотр по Live Input ID или Video ID

Независимо от того, используете ли вы плеер Stream или собственный плеер с манифестом, можно ссылаться на Live Input ID или конкретный Video ID. Основное отличие в том, что происходит после завершения трансляции.

Используйте Live Input ID в случаях, когда плеер должен всегда показывать активную трансляцию, если она идёт, или сообщение «Stream has not started», если input не активен. Этот вариант лучше всего подходит для страниц, закреплённых за автором, каналом или постоянной программой. Live Input ID присваивается при создании input и в дальнейшем не меняется.

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

Режим DVR, описанный ниже, имеет ряд особенностей.

Все URL-адреса Stream шаблонизированы, чтобы их было легко генерировать:

Формат URL встроенного плеера Stream Player:

https://customer-<CODE>.cloudflarestream.com/<INPUT_ID|VIDEO_ID>/iframe

Полный код для встраивания можно сгенерировать в Dash или через API.

Формат URL манифеста HLS:

https://customer-<CODE>.cloudflarestream.com/<INPUT_ID|VIDEO_ID>/manifest/video.m3u8

Вы также можете получить код для встраивания или URL-адреса манифеста через Dash или API.

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

Чтобы получить код для встраивания встроенного плеера Stream или URL HLS-манифеста для собственного плеера:

  1. На панели управления Cloudflare перейдите к разделу Источники прямой трансляции страницу.

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

  3. Найдите Встраивание и URL манифеста HLS под видео.

  4. Определите, какой вариант вам подходит, и выберите Нажмите, чтобы скопировать под вашим выбором.

Код для встраивания или URL манифеста, полученные в Dash, будут ссылаться на Live Input ID.

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

Чтобы получить код плеера или URL манифестов через API, запросите список видео Live Input:

Запрос
curl -X GET \
-H "Authorization: Bearer <API_TOKEN>" \
https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/stream/live_inputs/<LIVE_INPUT_UID>/videos

С одним Live Input может быть связано несколько видео, по одному на каждую трансляцию. Если трансляция сейчас идёт, первое видео в ответе будет иметь live-inprogress статус. Остальные видео в ответе представляют собой записи, которые можно воспроизвести по запросу.

Каждое видео в ответе, включая активную трансляцию, если она есть, содержит URL HLS и DASH, а также ссылку на плеер Stream. Обратите внимание на следующие свойства:

В примере ниже состояние прямой трансляции: live-inprogress и статус ранее записанного видео ready.

Ответ
{
  "result": [
    {
      "uid": "6b9e68b07dfee8cc2d116e4c51d6a957",
      "thumbnail": "https://customer-f33zs165nr7gyfy4.cloudflarestream.com/6b9e68b07dfee8cc2d116e4c51d6a957/thumbnails/thumbnail.jpg",

      "status": {
        "state": "live-inprogress",
        "errorReasonCode": "",
        "errorReasonText": ""
      },
      "meta": {
        "name": "Stream Live Test 23 Sep 21 05:44 UTC"
      },
      "created": "2021-09-23T05:44:30.453838Z",
      "modified": "2021-09-23T05:44:30.453838Z",
      "size": 0,
      "preview": "https://customer-f33zs165nr7gyfy4.cloudflarestream.com/6b9e68b07dfee8cc2d116e4c51d6a957/watch",
      ...

      "playback": {
        "hls": "https://customer-f33zs165nr7gyfy4.cloudflarestream.com/6b9e68b07dfee8cc2d116e4c51d6a957/manifest/video.m3u8",
        "dash": "https://customer-f33zs165nr7gyfy4.cloudflarestream.com/6b9e68b07dfee8cc2d116e4c51d6a957/manifest/video.mpd"
      },
      ...
    },
    {
      "uid": "6b9e68b07dfee8cc2d116e4c51d6a957",
      "thumbnail": "https://customer-f33zs165nr7gyfy4.cloudflarestream.com/6b9e68b07dfee8cc2d116e4c51d6a957/thumbnails/thumbnail.jpg",
      "thumbnailTimestampPct": 0,
      "readyToStream": true,
      "status": {
        "state": "ready",
        "pctComplete": "100.000000",
        "errorReasonCode": "",
        "errorReasonText": ""
      },
      "meta": {
        "name": "CFTV Staging 22 Sep 21 22:12 UTC"
      },
      "created": "2021-09-22T22:12:53.587306Z",
      "modified": "2021-09-23T00:14:05.591333Z",
      "size": 0,
      "preview": "https://customer-f33zs165nr7gyfy4.cloudflarestream.com/6b9e68b07dfee8cc2d116e4c51d6a957/watch",
      ...
      "playback": {
        "hls": "https://customer-f33zs165nr7gyfy4.cloudflarestream.com/6b9e68b07dfee8cc2d116e4c51d6a957/manifest/video.m3u8",
        "dash": "https://customer-f33zs165nr7gyfy4.cloudflarestream.com/6b9e68b07dfee8cc2d116e4c51d6a957/manifest/video.mpd"
      },
    }
  ],
}

Они будут ссылаться на Video ID.

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

Вы можете проверить, идёт ли в данный момент трансляция на live input и какой у него активный video ID, отправив запрос к его lifecycle эндпоинт. Плеер Stream делает это автоматически, чтобы показать уведомление, когда input неактивен. Пользовательским плеерам может потребоваться дополнительная поддержка.

curl -X GET \
-H "Authorization: Bearer <API_TOKEN>" \
https://customer-<CODE>.cloudflarestream.com/<INPUT_ID>/lifecycle

В примере ниже ответ показывает ID для входного потока с активным videoUID. live значение статуса означает, что источник активно передаёт трансляцию.

{
	"isInput": true,
	"videoUID": "55b9b5ce48c3968c6b514c458959d6a",
	"live": true
}
{
	"isInput": true,
	"videoUID": null,
	"live": false
}

При просмотре прямой трансляции по live input ID requireSignedURLs и allowedOrigins параметры из настроек записи Live Input используются. Эти настройки не зависят от настроек на уровне отдельного видео.

Воспроизведение записи прямой трансляции

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

Пока формируется запись прямой трансляции, статус видео может отображаться как not-found или not-started.

Если вы не используете плеер Stream для записей прямых трансляций, см. Запись и повторное воспроизведение прямых трансляций для получения дополнительных сведений о воспроизведении записи прямой трансляции.