LiveBroadcasts

API теперь поддерживает возможность отмечать ваши прямые трансляции как «сделанные для детей», а ресурс liveBroadcast теперь содержит свойство, которое идентифицирует статус прямой трансляции как «сделанные для детей». Условия обслуживания API YouTube и Политики разработчиков также были обновлены 10 января 2020 года. Для получения дополнительной информации см. историю изменений для API-сервиса YouTube Live Streaming и Условия обслуживания API YouTube .

Ресурс liveBroadcast представляет собой событие, которое будет транслироваться в прямом эфире на YouTube.

Методы

API поддерживает следующие методы для ресурсов liveBroadcasts :

list
Возвращает список трансляций YouTube, соответствующих параметрам запроса API. Попробуйте сейчас .
insert
Создает трансляцию. Попробуйте сейчас .
update
Обновляет трансляцию. Например, вы можете изменить настройки трансляции, определенные в объекте contentDetails ресурса liveBroadcast . Попробуйте сейчас .
delete
Удаляет трансляцию. Попробуйте сейчас .
bind
Привязывает трансляцию YouTube к потоку или удаляет существующую привязку между трансляцией и потоком. Трансляция может быть привязана только к одному видеопотоку, хотя видеопоток может быть привязан к нескольким трансляциям. Попробуйте сейчас .
transition
Изменяет статус прямой трансляции YouTube и инициирует все процессы, связанные с новым статусом. Например, при переводе статуса трансляции в testing , YouTube начинает передавать видео в поток монитора этой трансляции. Перед вызовом этого метода следует подтвердить, что значение свойства status.streamStatus для потока, привязанного к вашей трансляции, равно active . Попробуйте сейчас .
cuepoint
Вставляет контрольную точку в прямую трансляцию. Контрольная точка может вызвать рекламную паузу.

Представление ресурсов

Следующая структура JSON показывает формат ресурса liveBroadcasts :

{
  "kind": "youtube#liveBroadcast",
  "etag": etag,
  "id": string,
  "snippet": {
    "publishedAt": datetime,
    "channelId": string,
    "title": string,
    "description": string,
    "thumbnails": {
      (key): {
        "url": string,
        "width": unsigned integer,
        "height": unsigned integer
      }
    },
    "scheduledStartTime": datetime,
    "scheduledEndTime": datetime,
    "actualStartTime": datetime,
    "actualEndTime": datetime,
    "isDefaultBroadcast": boolean,
    "liveChatId": string
  },
  "status": {
    "lifeCycleStatus": string,
    "privacyStatus": string,
    "recordingStatus": string,
    "madeForKids": string,
    "selfDeclaredMadeForKids": string,
  },
  "contentDetails": {
    "boundStreamId": string,
    "boundStreamLastUpdateTimeMs": datetime,
    "monitorStream": {
      "enableMonitorStream": boolean,
      "broadcastStreamDelayMs": unsigned integer,
      "embedHtml": string
    },
    "enableEmbed": boolean,
    "enableDvr": boolean,
    "recordFromStart": boolean,
    "enableClosedCaptions": boolean,
    "closedCaptionsType": string,
    "projection": string,
    "enableLowLatency": boolean,
    "latencyPreference": boolean,
    "enableAutoStart": boolean,
    "enableAutoStop": boolean
  },
  "statistics": {
    "totalChatCount": unsigned long
  },
  "monetizationDetails": {
      "cuepointSchedule": {
        "enabled": boolean,
        "pauseAdsUntil": datetime,
        "scheduleStrategy": string,
        "repeatIntervalSecs": unsigned integer,
      }
    }
  }
}

Характеристики

В следующей таблице определены свойства, которые отображаются в этом ресурсе:

Характеристики
kind string
Определяет тип ресурса API. Значение будет youtube#liveBroadcast .
etag etag
Etag этого ресурса.
id string
Идентификатор, который YouTube назначает для уникальной идентификации трансляции.
snippet object
Объект snippet содержит основные сведения о событии, включая его название, описание, время начала и время окончания.
snippet. publishedAt datetime
Дата и время добавления трансляции в расписание прямых трансляций YouTube. Значение указывается в формате ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ).
snippet. channelId string
Идентификатор, который YouTube использует для уникальной идентификации канала, публикующего трансляцию.
snippet. title string
Название трансляции. Обратите внимание, что трансляция представляет собой ровно одно видео YouTube. Вы можете задать это поле, изменив ресурс трансляции или задав поле title соответствующего видеоресурса.
snippet. description string
Описание трансляции. Как и в случае с title , вы можете задать это поле, изменив ресурс трансляции или задав поле description соответствующего видеоресурса.
snippet. thumbnails object
Карта миниатюрных изображений, связанных с трансляцией. Для каждого вложенного объекта в этом объекте ключом является имя миниатюрного изображения, а значением — объект, содержащий другую информацию о миниатюре.
snippet.thumbnails. (key) object
Допустимые значения ключа:
  • default – Изображение миниатюры по умолчанию. Миниатюра по умолчанию для видео – или ресурса, который ссылается на видео, например, элемент плейлиста или результат поиска – имеет ширину 120 пикселей и высоту 90 пикселей. Миниатюра по умолчанию для канала имеет ширину 88 пикселей и высоту 88 пикселей.
  • medium – Версия миниатюры с более высоким разрешением. Для видео (или ресурса, ссылающегося на видео) это изображение имеет ширину 320 пикселей и высоту 180 пикселей. Для канала это изображение имеет ширину 240 пикселей и высоту 240 пикселей.
  • high – Высокое разрешение версии миниатюры. Для видео (или ресурса, ссылающегося на видео) это изображение имеет ширину 480 пикселей и высоту 360 пикселей. Для канала это изображение имеет ширину 800 пикселей и высоту 800 пикселей.
snippet.thumbnails.(key). url string
URL-адрес изображения.
snippet.thumbnails.(key). width unsigned integer
Ширина изображения.
snippet.thumbnails.(key). height unsigned integer
Высота изображения.
snippet. scheduledStartTime datetime
Дата и время, на которые запланировано начало трансляции. Значение указывается в формате ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ). Creator Studio поддерживает возможность создания трансляции без планирования времени начала. В этом случае трансляция начинается всякий раз, когда владелец канала начинает потоковую передачу. Для этих трансляций значение datetime соответствует нулевому времени эпохи Unix, и это значение нельзя изменить с помощью API или в Creator Studio.
snippet. scheduledEndTime datetime
Дата и время, на которые запланировано окончание трансляции. Значение указывается в формате ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ). Если ресурс liveBroadcast не указывает значение для этого свойства, то трансляция запланирована на неопределенное время. Аналогично, если вы не укажете значение для этого свойства, то YouTube будет рассматривать трансляцию так, как будто она будет продолжаться неопределенное время.
snippet. actualStartTime datetime
Дата и время фактического начала трансляции. Эта информация доступна только после того, как состояние трансляции станет live . Значение указывается в формате ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ).
snippet. actualEndTime datetime
Дата и время фактического окончания трансляции. Эта информация доступна только после complete трансляции. Значение указывается в формате ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ).
snippet. isDefaultBroadcast boolean
Это свойство будет упразднено 1 сентября 2020 года или позже. В это время YouTube прекратит создавать поток по умолчанию и трансляцию по умолчанию, когда канал будет включен для прямой трансляции. Подробнее см. в объявлении об упразднении .
Это свойство указывает, является ли данная трансляция трансляцией по умолчанию.

Как работают трансляции по умолчанию

Когда канал YouTube включен для прямой трансляции, YouTube создает поток по умолчанию и трансляцию по умолчанию для канала. Поток определяет, как владелец канала отправляет живое видео на YouTube, а трансляция — как зрители могут видеть поток по умолчанию. Владелец канала может использовать методы liveStreams.list и liveBroadcasts.list для идентификации этих ресурсов.

Когда канал начинает трансляцию видео в свой поток по умолчанию, видео отображается в трансляции канала по умолчанию. Когда поток заканчивается, YouTube преобразует завершенную трансляцию в видео YouTube и назначает видео идентификатор видео YouTube.

После завершения конвертации видео добавляется в список загруженных видео канала. Видео недоступно сразу после завершения трансляции, а длительность задержки зависит от фактической длительности трансляции.
snippet. liveChatId string
Идентификатор чата YouTube в прямом эфире. С этим идентификатором вы можете использовать методы ресурса liveChatMessage для извлечения, вставки или удаления сообщений чата. Вы также можете добавлять или удалять модераторов чата, запрещать пользователям участвовать в чатах в прямом эфире или удалять существующие запреты.
status object
Объект status содержит информацию о статусе события.
status. lifeCycleStatus string
Статус трансляции. Статус можно обновить с помощью метода API liveBroadcasts.transition .

Допустимые значения для этого свойства:
  • complete – Трансляция завершена.
  • created — трансляция имеет неполные настройки, поэтому она не готова к переходу в live или testing статус, но она была создана и в остальном действительна.
  • live – Трансляция активна.
  • liveStarting – Трансляция находится в процессе перехода в режим live .
  • ready — настройки трансляции завершены, и трансляция может перейти в режим live или testing .
  • revoked — эта трансляция была удалена администратором.
  • testStarting – Трансляция находится в процессе перехода в статус testing .
  • testing – Трансляция видна только партнеру.
status. privacyStatus string
Статус конфиденциальности трансляции. Обратите внимание, что трансляция представляет собой ровно одно видео YouTube, поэтому настройки конфиденциальности идентичны поддерживаемым для видео. Кроме того, вы можете задать это поле, изменив ресурс трансляции или задав поле privacyStatus соответствующего видеоресурса.

Допустимые значения для этого свойства:
  • private
  • public
  • unlisted
status. recordingStatus string
Статус записи трансляции.

Допустимые значения для этого свойства:
  • notRecording
  • recorded
  • recording
status. madeForKids boolean
Это значение указывает, назначена ли трансляция как направленная на ребенка. Это значение свойства доступно только для чтения.
status. selfDeclaredMadeForKids boolean
В запросе liveBroadcasts.insert это свойство позволяет владельцу канала обозначить трансляцию как направленную на детей. В запросе liveBroadcasts.list значение свойства возвращается только в том случае, если владелец канала авторизовал запрос API.
contentDetails object
Объект contentDetails содержит информацию о видеоконтенте события, например, может ли контент отображаться во встроенном видеоплеере или он будет заархивирован и, следовательно, доступен для просмотра после завершения события.
contentDetails. boundStreamId string
Это значение однозначно идентифицирует live stream , привязанную к трансляции.
contentDetails. boundStreamLastUpdateTimeMs datetime
Дата и время последнего обновления прямой трансляции, на которую ссылается boundStreamId .
contentDetails. monitorStream object
Объект monitorStream содержит информацию о потоке мониторинга, которую вещатель может использовать для просмотра содержимого события перед тем, как поток вещания будет показан публично.
contentDetails.monitorStream. enableMonitorStream boolean
Это значение определяет, включен ли поток монитора для трансляции. Если поток монитора включен, YouTube будет транслировать контент события в специальном потоке, предназначенном только для потребления вещателя. Вещатель может использовать поток для просмотра контента события, а также для определения оптимального времени для вставки контрольных точек.

Вам необходимо установить это значение на true , если вы собираетесь использовать этап testing для вашей трансляции или хотите использовать задержку трансляции для вашего события. Кроме того, если значение этого свойства равно true , то вы должны перевести вашу трансляцию в состояние testing , прежде чем сможете перевести ее в состояние live трансляции. (Если значение свойства равно false , ваша трансляция не может иметь этап testing , поэтому вы можете перевести трансляцию непосредственно в состояние live .)

При update a broadcast это свойство должно быть установлено, если ваш запрос API включает часть contentDetails в значении параметра part . Однако при insert a broadcast это свойство является необязательным и имеет значение по умолчанию true .

Важно: это свойство невозможно обновить, пока трансляция находится в состоянии testing или live .
contentDetails.monitorStream. broadcastStreamDelayMs unsigned integer
Если вы установили свойство enableMonitorStream в true , то это свойство определяет длительность задержки прямой трансляции.

При update a broadcast это свойство должно быть установлено, если ваш запрос API включает часть contentDetails в значение параметра part . Однако при insert a broadcast это свойство является необязательным и имеет значение по умолчанию 0 Это значение указывает на то, что трансляция не имеет задержки трансляции. Примечание: это свойство не может быть обновлено, если трансляция находится в состоянии testing или live трансляции.
contentDetails.monitorStream. embedHtml string
HTML-код, встраивающий проигрыватель, воспроизводящий поток монитора.
contentDetails. enableEmbed boolean
Этот параметр указывает, может ли транслируемое видео воспроизводиться во встроенном проигрывателе. Если вы решите архивировать видео (используя свойство enableArchive ), этот параметр также будет применяться к архивированному видео.

При update a broadcast это свойство должно быть установлено, если ваш запрос API включает часть contentDetails в значении параметра part . Однако при insert a broadcast это свойство является необязательным и имеет значение по умолчанию true .

Примечание: это свойство невозможно обновить, пока трансляция находится в состоянии testing или live .
contentDetails. enableDvr boolean
Этот параметр определяет, могут ли зрители получить доступ к элементам управления DVR во время просмотра видео. Элементы управления DVR позволяют зрителю управлять воспроизведением видео, приостанавливая, перематывая или перематывая контент. Значение по умолчанию для этого свойства — true .

При update a broadcast это свойство должно быть установлено, если ваш запрос API включает часть contentDetails в значении параметра part . Однако при insert a broadcast это свойство является необязательным и имеет значение по умолчанию true .

Важно: необходимо установить значение true , а также установить значение свойства enableArchive на true если вы хотите, чтобы воспроизведение было доступно сразу после окончания трансляции. Кроме того, это свойство не может быть обновлено, если трансляция находится в состоянии testing или в live эфире.
contentDetails. recordFromStart boolean
Этот параметр указывает, будет ли YouTube автоматически начинать запись трансляции после того, как статус события изменится на прямой эфир.

Значение этого свойства по умолчанию — true , и его можно установить на false только в том случае, если каналу вещания разрешено отключать записи прямых трансляций.

Если у вашего канала нет разрешения на отключение записей, и вы пытаетесь вставить трансляцию со свойством recordFromStart , установленным на false , API вернет ошибку Forbidden . Кроме того, если у вашего канала нет такого разрешения, и вы пытаетесь обновить трансляцию, чтобы установить свойство recordFromStart на false , API вернет ошибку modificationNotAllowed .

При update a broadcast это свойство должно быть установлено, если ваш запрос API включает часть contentDetails в значении параметра part . Однако при insert a broadcast это свойство является необязательным и имеет значение по умолчанию true .

Важно: Вы также должны установить значение свойства enableDvr на true если хотите, чтобы воспроизведение было доступно сразу после окончания трансляции. Если вы установите значение этого свойства на true , но не установите также свойство enableDvr на true , может возникнуть задержка примерно в один день, прежде чем архивное видео станет доступно для воспроизведения.

Примечание: это свойство невозможно обновить, пока трансляция находится в состоянии testing или live .
contentDetails. enableClosedCaptions boolean
Это свойство устарело с 17 декабря 2015 г. Вместо него используйте свойство contentDetails.closedCaptionsType .

Этот параметр указывает, включены ли субтитры HTTP POST для этой трансляции. Для клиентов API, которые уже используют это свойство:
  • Установка значения свойства равным true эквивалентна установке свойства contentDetails.closedCaptionsType в значение closedCaptionsHttpPost .
  • Установка значения свойства на false эквивалентна установке свойства contentDetails.closedCaptionsType на closedCaptionsDisabled .
contentDetails. closedCaptionsType string
Примечание: это свойство заменяет свойство contentDetails.enableClosedCaptions .

Это свойство указывает, включены ли субтитры для вашей трансляции, и если да, то какой тип субтитров вы предоставляете:
  • closedCaptionsDisabled : Скрытые субтитры отключены для прямой трансляции.
  • closedCaptionsHttpPost : вы будете отправлять субтитры с помощью HTTP POST на URL-адрес приема , связанный с вашей прямой трансляцией.
  • closedCaptionsEmbedded : Субтитры будут закодированы в видеопотоке с использованием форматов EIA-608 и/или CEA-708.
contentDetails. projection string
Формат проекции этой трансляции. Значение свойства по умолчанию — rectangular .

Допустимые значения для этого свойства:
  • 360
  • rectangular
contentDetails. enableLowLatency boolean
Указывает, следует ли кодировать эту трансляцию для потоковой передачи с низкой задержкой. Поток с низкой задержкой может сократить время, необходимое для того, чтобы видео стало видимым для пользователей, смотрящих трансляцию, хотя он также может повлиять на разрешение для зрителей потока.
contentDetails. latencyPreference string
Указывает, какую настройку задержки использовать для этой трансляции. Это свойство можно использовать вместо enableLowLatency , которое не поддерживает ultraLow ​​.

Поток с низкой задержкой может сократить время, необходимое для того, чтобы видео стало видно пользователям, смотрящим трансляцию, хотя это также может повлиять на плавность воспроизведения.

Поток со сверхнизкой задержкой еще больше сокращает время, необходимое для того, чтобы видео стало видно зрителям, что упрощает взаимодействие со зрителями, однако сверхнизкая задержка не поддерживает скрытые субтитры или разрешения выше 1080p.

Допустимые значения для этого свойства:
  • normal
  • low
  • ultraLow
contentDetails. enableAutoStart boolean
Указывает, должна ли эта трансляция запускаться автоматически при запуске потоковой передачи видео на привязанном live stream .
contentDetails. enableAutoStop boolean
Указывает, должна ли эта трансляция автоматически останавливаться примерно через минуту после того, как владелец канала прекращает потоковую передачу видео на привязанном видеопотоке.
statistics object
Объект statistics содержит статистику, связанную с прямой трансляцией. Значения этой статистики могут меняться во время трансляции и могут быть получены только во время трансляции.
statistics. totalChatCount unsigned long
Общее количество сообщений чата в реальном времени, связанных с трансляцией. Свойство и его значение присутствуют, если трансляция видна пользователю, имеет включенную функцию чата в реальном времени и содержит хотя бы одно сообщение. Обратите внимание, что это свойство не будет указывать значение после окончания трансляции. Таким образом, это свойство не будет определять количество сообщений чата для архивного видео завершенной трансляции в реальном времени.
monetizationDetails object
Объект monetizationDetails содержит информацию о деталях монетизации потока, например, включен ли автоматизатор рекламы или задерживается ли вставка рекламы в середине трансляции.

monetizationDetails. cuepointSchedule object
Объект cuepointSchedule определяет настройки автоматизации рекламы для трансляции.
monetizationDetails.cuepointSchedule. enabled boolean
Это значение определяет, будет ли реклама автоматически вставляться в трансляцию. Если значение равно true , YouTube автоматически вставит рекламу в середине трансляции. Расписание показа рекламы будет определяться значением других полей в объекте monetizationDetails.cuepointSchedule .
monetizationDetails.cuepointSchedule. pauseAdsUntil datetime
Это значение указывает, что YouTube не должен вставлять рекламу в середине трансляции до указанной даты и времени. Значение указывается в формате ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ). Значение должно быть установлено на будущую дату и время, чтобы приостановить рекламу; значение поля также может быть установлено на ближайшую будущую дату и время, чтобы возобновить рекламу по истечении времени.
monetizationDetails.cuepointSchedule. scheduleStrategy string
Это значение определяет стратегию, которой должен следовать YouTube при планировании точек разметки. Допустимые значения:
  • CONCURRENT : контрольные точки планируются на одно и то же время для всех зрителей.
  • NON_CONCURRENT : контрольные точки запланированы на разное время для разных зрителей. Такой подход позволяет показывать рекламу с повышенной частотой, что позволяет зрителям получать контрольные точки, когда это необходимо.
monetizationDetails.cuepointSchedule. repeatIntervalSecs unsigned integer
Это значение указывает интервал в секундах между автоматической вставкой рекламы во время трансляции. Например, если значение равно 300 , YouTube может вставлять контрольные точки рекламы в середине ролика с пятиминутными интервалами.

Обратите внимание, что значение указывает время между началом последовательных контрольных точек. То есть интервал не измеряется от конца одной контрольной точки до начала следующей.
,
API теперь поддерживает возможность отмечать ваши прямые трансляции как «сделанные для детей», а ресурс liveBroadcast теперь содержит свойство, которое идентифицирует статус прямой трансляции как «сделанные для детей». Условия обслуживания API YouTube и Политики разработчиков также были обновлены 10 января 2020 года. Для получения дополнительной информации см. историю изменений для API-сервиса YouTube Live Streaming и Условия обслуживания API YouTube .

Ресурс liveBroadcast представляет собой событие, которое будет транслироваться в прямом эфире на YouTube.

Методы

API поддерживает следующие методы для ресурсов liveBroadcasts :

list
Возвращает список трансляций YouTube, соответствующих параметрам запроса API. Попробуйте сейчас .
insert
Создает трансляцию. Попробуйте сейчас .
update
Обновляет трансляцию. Например, вы можете изменить настройки трансляции, определенные в объекте contentDetails ресурса liveBroadcast . Попробуйте сейчас .
delete
Удаляет трансляцию. Попробуйте сейчас .
bind
Привязывает трансляцию YouTube к потоку или удаляет существующую привязку между трансляцией и потоком. Трансляция может быть привязана только к одному видеопотоку, хотя видеопоток может быть привязан к нескольким трансляциям. Попробуйте сейчас .
transition
Изменяет статус прямой трансляции YouTube и инициирует все процессы, связанные с новым статусом. Например, при переводе статуса трансляции в testing , YouTube начинает передавать видео в поток монитора этой трансляции. Перед вызовом этого метода следует подтвердить, что значение свойства status.streamStatus для потока, привязанного к вашей трансляции, равно active . Попробуйте сейчас .
cuepoint
Вставляет контрольную точку в прямую трансляцию. Контрольная точка может вызвать рекламную паузу.

Представление ресурсов

Следующая структура JSON показывает формат ресурса liveBroadcasts :

{
  "kind": "youtube#liveBroadcast",
  "etag": etag,
  "id": string,
  "snippet": {
    "publishedAt": datetime,
    "channelId": string,
    "title": string,
    "description": string,
    "thumbnails": {
      (key): {
        "url": string,
        "width": unsigned integer,
        "height": unsigned integer
      }
    },
    "scheduledStartTime": datetime,
    "scheduledEndTime": datetime,
    "actualStartTime": datetime,
    "actualEndTime": datetime,
    "isDefaultBroadcast": boolean,
    "liveChatId": string
  },
  "status": {
    "lifeCycleStatus": string,
    "privacyStatus": string,
    "recordingStatus": string,
    "madeForKids": string,
    "selfDeclaredMadeForKids": string,
  },
  "contentDetails": {
    "boundStreamId": string,
    "boundStreamLastUpdateTimeMs": datetime,
    "monitorStream": {
      "enableMonitorStream": boolean,
      "broadcastStreamDelayMs": unsigned integer,
      "embedHtml": string
    },
    "enableEmbed": boolean,
    "enableDvr": boolean,
    "recordFromStart": boolean,
    "enableClosedCaptions": boolean,
    "closedCaptionsType": string,
    "projection": string,
    "enableLowLatency": boolean,
    "latencyPreference": boolean,
    "enableAutoStart": boolean,
    "enableAutoStop": boolean
  },
  "statistics": {
    "totalChatCount": unsigned long
  },
  "monetizationDetails": {
      "cuepointSchedule": {
        "enabled": boolean,
        "pauseAdsUntil": datetime,
        "scheduleStrategy": string,
        "repeatIntervalSecs": unsigned integer,
      }
    }
  }
}

Характеристики

В следующей таблице определены свойства, которые отображаются в этом ресурсе:

Характеристики
kind string
Определяет тип ресурса API. Значение будет youtube#liveBroadcast .
etag etag
Etag этого ресурса.
id string
Идентификатор, который YouTube назначает для уникальной идентификации трансляции.
snippet object
Объект snippet содержит основные сведения о событии, включая его название, описание, время начала и время окончания.
snippet. publishedAt datetime
Дата и время добавления трансляции в расписание прямых трансляций YouTube. Значение указывается в формате ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ).
snippet. channelId string
Идентификатор, который YouTube использует для уникальной идентификации канала, публикующего трансляцию.
snippet. title string
Название трансляции. Обратите внимание, что трансляция представляет собой ровно одно видео YouTube. Вы можете задать это поле, изменив ресурс трансляции или задав поле title соответствующего видеоресурса.
snippet. description string
Описание трансляции. Как и в случае с title , вы можете задать это поле, изменив ресурс трансляции или задав поле description соответствующего видеоресурса.
snippet. thumbnails object
Карта миниатюрных изображений, связанных с трансляцией. Для каждого вложенного объекта в этом объекте ключом является имя миниатюрного изображения, а значением — объект, содержащий другую информацию о миниатюре.
snippet.thumbnails. (key) object
Допустимые значения ключа:
  • default – Изображение миниатюры по умолчанию. Миниатюра по умолчанию для видео – или ресурса, который ссылается на видео, например, элемент плейлиста или результат поиска – имеет ширину 120 пикселей и высоту 90 пикселей. Миниатюра по умолчанию для канала имеет ширину 88 пикселей и высоту 88 пикселей.
  • medium – Версия миниатюры с более высоким разрешением. Для видео (или ресурса, ссылающегося на видео) это изображение имеет ширину 320 пикселей и высоту 180 пикселей. Для канала это изображение имеет ширину 240 пикселей и высоту 240 пикселей.
  • high – Высокое разрешение версии миниатюры. Для видео (или ресурса, ссылающегося на видео) это изображение имеет ширину 480 пикселей и высоту 360 пикселей. Для канала это изображение имеет ширину 800 пикселей и высоту 800 пикселей.
snippet.thumbnails.(key). url string
URL-адрес изображения.
snippet.thumbnails.(key). width unsigned integer
Ширина изображения.
snippet.thumbnails.(key). height unsigned integer
Высота изображения.
snippet. scheduledStartTime datetime
Дата и время, на которые запланировано начало трансляции. Значение указывается в формате ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ). Creator Studio поддерживает возможность создания трансляции без планирования времени начала. В этом случае трансляция начинается всякий раз, когда владелец канала начинает потоковую передачу. Для этих трансляций значение datetime соответствует нулевому времени эпохи Unix, и это значение нельзя изменить с помощью API или в Creator Studio.
snippet. scheduledEndTime datetime
Дата и время, на которые запланировано окончание трансляции. Значение указывается в формате ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ). Если ресурс liveBroadcast не указывает значение для этого свойства, то трансляция запланирована на неопределенное время. Аналогично, если вы не укажете значение для этого свойства, то YouTube будет рассматривать трансляцию так, как будто она будет продолжаться неопределенное время.
snippet. actualStartTime datetime
Дата и время фактического начала трансляции. Эта информация доступна только после того, как состояние трансляции станет live . Значение указывается в формате ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ).
snippet. actualEndTime datetime
Дата и время фактического окончания трансляции. Эта информация доступна только после complete трансляции. Значение указывается в формате ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ).
snippet. isDefaultBroadcast boolean
Это свойство будет упразднено 1 сентября 2020 года или позже. В это время YouTube прекратит создавать поток по умолчанию и трансляцию по умолчанию, когда канал будет включен для прямой трансляции. Подробнее см. в объявлении об упразднении .
Это свойство указывает, является ли данная трансляция трансляцией по умолчанию.

Как работают трансляции по умолчанию

Когда канал YouTube включен для прямой трансляции, YouTube создает поток по умолчанию и трансляцию по умолчанию для канала. Поток определяет, как владелец канала отправляет живое видео на YouTube, а трансляция — как зрители могут видеть поток по умолчанию. Владелец канала может использовать методы liveStreams.list и liveBroadcasts.list для идентификации этих ресурсов.

Когда канал начинает трансляцию видео в свой поток по умолчанию, видео отображается в трансляции канала по умолчанию. Когда поток заканчивается, YouTube преобразует завершенную трансляцию в видео YouTube и назначает видео идентификатор видео YouTube.

После завершения конвертации видео добавляется в список загруженных видео канала. Видео недоступно сразу после завершения трансляции, а длительность задержки зависит от фактической длительности трансляции.
snippet. liveChatId string
Идентификатор чата YouTube в прямом эфире. С этим идентификатором вы можете использовать методы ресурса liveChatMessage для извлечения, вставки или удаления сообщений чата. Вы также можете добавлять или удалять модераторов чата, запрещать пользователям участвовать в чатах в прямом эфире или удалять существующие запреты.
status object
Объект status содержит информацию о статусе события.
status. lifeCycleStatus string
Статус трансляции. Статус можно обновить с помощью метода API liveBroadcasts.transition .

Допустимые значения для этого свойства:
  • complete – Трансляция завершена.
  • created — трансляция имеет неполные настройки, поэтому она не готова к переходу в live или testing статус, но она была создана и в остальном действительна.
  • live – Трансляция активна.
  • liveStarting – Трансляция находится в процессе перехода в режим live .
  • ready — настройки трансляции завершены, и трансляция может перейти в режим live или testing .
  • revoked — эта трансляция была удалена администратором.
  • testStarting – Трансляция находится в процессе перехода в статус testing .
  • testing – Трансляция видна только партнеру.
status. privacyStatus string
Статус конфиденциальности трансляции. Обратите внимание, что трансляция представляет собой ровно одно видео YouTube, поэтому настройки конфиденциальности идентичны поддерживаемым для видео. Кроме того, вы можете задать это поле, изменив ресурс трансляции или задав поле privacyStatus соответствующего видеоресурса.

Допустимые значения для этого свойства:
  • private
  • public
  • unlisted
status. recordingStatus string
Статус записи трансляции.

Допустимые значения для этого свойства:
  • notRecording
  • recorded
  • recording
status. madeForKids boolean
Это значение указывает, назначена ли трансляция как направленная на ребенка. Это значение свойства доступно только для чтения.
status. selfDeclaredMadeForKids boolean
В запросе liveBroadcasts.insert это свойство позволяет владельцу канала обозначить трансляцию как направленную на детей. В запросе liveBroadcasts.list значение свойства возвращается только в том случае, если владелец канала авторизовал запрос API.
contentDetails object
Объект contentDetails содержит информацию о видеоконтенте события, например, может ли контент отображаться во встроенном видеоплеере или он будет заархивирован и, следовательно, доступен для просмотра после завершения события.
contentDetails. boundStreamId string
Это значение однозначно идентифицирует live stream , привязанную к трансляции.
contentDetails. boundStreamLastUpdateTimeMs datetime
Дата и время последнего обновления прямой трансляции, на которую ссылается boundStreamId .
contentDetails. monitorStream object
Объект monitorStream содержит информацию о потоке мониторинга, которую вещатель может использовать для просмотра содержимого события перед тем, как поток вещания будет показан публично.
contentDetails.monitorStream. enableMonitorStream boolean
Это значение определяет, включен ли поток монитора для трансляции. Если поток монитора включен, YouTube будет транслировать контент события в специальном потоке, предназначенном только для потребления вещателя. Вещатель может использовать поток для просмотра контента события, а также для определения оптимального времени для вставки контрольных точек.

Вам необходимо установить это значение на true , если вы собираетесь использовать этап testing для вашей трансляции или хотите использовать задержку трансляции для вашего события. Кроме того, если значение этого свойства равно true , то вы должны перевести вашу трансляцию в состояние testing , прежде чем сможете перевести ее в состояние live трансляции. (Если значение свойства равно false , ваша трансляция не может иметь этап testing , поэтому вы можете перевести трансляцию непосредственно в состояние live .)

При update a broadcast это свойство должно быть установлено, если ваш запрос API включает часть contentDetails в значении параметра part . Однако при insert a broadcast это свойство является необязательным и имеет значение по умолчанию true .

Важно: это свойство невозможно обновить, пока трансляция находится в состоянии testing или live .
contentDetails.monitorStream. broadcastStreamDelayMs unsigned integer
Если вы установили свойство enableMonitorStream в true , то это свойство определяет длительность задержки прямой трансляции.

При update a broadcast это свойство должно быть установлено, если ваш запрос API включает часть contentDetails в значение параметра part . Однако при insert a broadcast это свойство является необязательным и имеет значение по умолчанию 0 Это значение указывает на то, что трансляция не имеет задержки трансляции. Примечание: это свойство не может быть обновлено, если трансляция находится в состоянии testing или live трансляции.
contentDetails.monitorStream. embedHtml string
HTML-код, встраивающий проигрыватель, воспроизводящий поток монитора.
contentDetails. enableEmbed boolean
Этот параметр указывает, может ли транслируемое видео воспроизводиться во встроенном проигрывателе. Если вы решите архивировать видео (используя свойство enableArchive ), этот параметр также будет применяться к архивированному видео.

При update a broadcast это свойство должно быть установлено, если ваш запрос API включает часть contentDetails в значении параметра part . Однако при insert a broadcast это свойство является необязательным и имеет значение по умолчанию true .

Примечание: это свойство невозможно обновить, пока трансляция находится в состоянии testing или live .
contentDetails. enableDvr boolean
Этот параметр определяет, могут ли зрители получить доступ к элементам управления DVR во время просмотра видео. Элементы управления DVR позволяют зрителю управлять воспроизведением видео, приостанавливая, перематывая или перематывая контент. Значение по умолчанию для этого свойства — true .

Когда вы update a broadcast , это свойство должно быть установлено, если ваш запрос API включает часть contentDetails в значении параметра part . Однако, когда вы insert a broadcast , свойство является необязательным и имеет значение по умолчанию true .

ВАЖНО: Вы должны установить значение true , а также установить значение свойства enableArchive на true , если вы хотите сделать воспроизведение доступным сразу после заканчивая трансляции. Кроме того, это свойство не может быть обновлено после того, как трансляция проходит в testing или в live эфире.
contentDetails. recordFromStart boolean
Этот параметр указывает, будет ли YouTube автоматически начнет записывать трансляцию после изменений статуса события в прямом эфире.

Значение по умолчанию этого свойства true , и оно может быть установлено на false только в том случае, если канал вещания разрешено отключить записи для живых трансляций.

Если ваш канал не имеет разрешения на отключение записей, и вы пытаетесь вставить трансляцию со свойством recordFromStart установленного в false , API вернет Forbidden ошибку. Кроме того, если ваш канал не имеет такого разрешения, и вы пытаетесь обновить трансляцию, чтобы установить свойство recordFromStart в false , API вернет modificationNotAllowed .

Когда вы update a broadcast , это свойство должно быть установлено, если ваш запрос API включает часть contentDetails в значении параметра part . Однако, когда вы insert a broadcast , свойство является необязательным и имеет значение по умолчанию true .

ВАЖНО: Вы также должны установить значение свойства enableDvr для true , если вы хотите, чтобы воспроизведение было доступно сразу после заканчивая трансляции. Если вы установите значение этого свойства на true , но также не установите свойство enableDvr на true , может быть задержка примерно на один день, прежде чем архивированное видео будет доступно для воспроизведения.

Примечание. Это свойство не может быть обновлено, как только трансляция находится в testing или в live эфире.
contentDetails. enableClosedCaptions boolean
Это собственность устарела по состоянию на 17 декабря 2015 года. Вместо этого используйте свойство contentDetails.closedCaptionsType .

Этот параметр указывает, включена ли для этой трансляции HTTP Post. Для клиентов API, которые уже используют это свойство:
  • Установка значения свойства на true эквивалентно установлению свойства contentDetails.closedCaptionsType в closedCaptionsHttpPost .
  • Установка значения свойства на false эквивалентно установлению свойства contentDetails.closedCaptionsType в closedCaptionsDisabled .
contentDetails. closedCaptionsType string
ПРИМЕЧАНИЕ. Это свойство заменяет свойство contentDetails.enableClosedCaptions .

Это свойство указывает, включена ли закрытая подпись для вашей трансляции, и, если да, то какой тип закрытых подписей вы предоставляете:
  • closedCaptionsDisabled : Закрытые подписи отключены для живой трансляции.
  • closedCaptionsHttpPost : вы отправите подписи, используя HTTP Post, в URL -адрес приема , связанный с вашей прямой трансляцией.
  • closedCaptionsEmbedded .
contentDetails. projection string
Проекционное формат этой трансляции. Значение свойства по умолчанию является rectangular .

Допустимые значения для этого свойства:
  • 360
  • rectangular
contentDetails. enableLowLatency boolean
Указывает, должна ли эта трансляция быть закодирована для потоковой передачи с низкой задержкой. Поток с низкой задержкой может сократить количество времени, необходимого для видео, чтобы быть видимым пользователям, наблюдающим за трансляцией, хотя он также может повлиять на разрешение для зрителей потока.
contentDetails. latencyPreference string
Указывает, какую настройку задержки использовать для этой трансляции. Это свойство может использоваться вместо enableLowLatency , которое не поддерживает ultraLow .

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

Поток сверхнизкой задержки еще больше уменьшает время, необходимое для того, чтобы видео было видно для зрителей, облегчая взаимодействие со зрителями, но ультра-низкая задержка не поддерживает закрытые подписи или разрешения выше 1080p.

Допустимые значения для этого свойства:
  • normal
  • low
  • ultraLow
contentDetails. enableAutoStart boolean
Указывает, должна ли эта трансляция начинаться автоматически, когда вы начинаете потоковое видео в границе live stream .
contentDetails. enableAutoStop boolean
Указывает, должна ли эта трансляция останавливаться автоматически через одну минуту после того, как владелец канала прекратит потоковое видео в граничном видеопотоке.
statistics object
Объект statistics содержит статистику, связанную с живой трансляцией. Значения для этой статистики могут измениться во время трансляции и могут быть извлечены только в то время как трансляция живой.
statistics. totalChatCount unsigned long
Общее количество сообщений в чате, связанных с трансляцией. Свойство и его значение присутствуют, если трансляция видна пользователю, включена функция чата и имеет хотя бы одно сообщение. Обратите внимание, что это свойство не будет указывать значение после окончания трансляции. Таким образом, это свойство не будет определять количество сообщений чата для архивного видео о завершенной прямой трансляции.
monetizationDetails object
Объект monetizationDetails содержит информацию о деталях монетизации потока, например, если автомат рекламы включен или если вставка рекламы в среднем уровне отложена.

monetizationDetails. cuepointSchedule object
Объект cuepointSchedule указывает настройки автоматизации рекламы для трансляции.
monetizationDetails.cuepointSchedule. enabled boolean
Это значение определяет, автоматически вставлено рекламу в трансляции. Если значение true , YouTube автоматически вставит рекламные объявления в среднем уровне в трансляцию. График для запуска рекламы будет определяться значением других полей в объекте monetizationDetails.cuepointSchedule .
monetizationDetails.cuepointSchedule. pauseAdsUntil datetime
Это значение указывает, что YouTube не должен вводить рекламу средней сети в трансляцию до указанной даты и времени. Значение указывается в формате ISO 8601 ( Yyyy-mm-Ddthh: MM: Ss.SZ ). Значение должно быть установлено в будущем DateTime, чтобы сделать паузу; Значение поля также может быть установлено в ближайшее время DateTime, чтобы отключить рекламу при прохождении времени.
monetizationDetails.cuepointSchedule. scheduleStrategy string
Это значение указывает стратегию, которой должен следовать YouTube для планирования купонтов. Допустимые значения:
  • CONCURRENT : Cuepoints запланированы одновременно для всех зрителей
  • NON_CONCURRENT : Cuepoints запланированы в разное время для разных зрителей. Этот подход позволяет показать рекламу с повышенной скоростью, которая позволяет зрителям получать купоины, когда они имеют право.
monetizationDetails.cuepointSchedule. repeatIntervalSecs unsigned integer
Это значение указывает интервал, в считанные секунды между автоматической вставкой AD во время трансляции. Например, если значение составляет 300 , YouTube может вставить мидлиные ad cuepoints с пятью минутными интервалами.

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