На этой странице перечислены изменения в API YouTube Live Streaming и обновления документации. Подпишитесь на этот журнал изменений .
9 октября 2023 г.
Исключительно для справки: в этом CSV-файле вы можете найти идентификаторы стикеров, к которым относятся суперстикеры. Определения свойства snippet.superStickerDetails.superStickerMetadata.stickerId
ресурса liveChatMessage
и свойства snippet.superStickerMetadata.stickerId
ресурса superChatEvent
были обновлены с учетом этой информации.
15 сентября 2023 г.
API теперь поддерживает новый способ вставки рекламы в прямые трансляции. В дополнение к liveCuepoints
, которая позволяет вручную вставлять рекламные паузы в трансляцию, YouTube теперь поддерживает функцию автоматической вставки рекламных пауз в середине ролика в трансляцию через фиксированные промежутки времени.
Если владелец трансляции включает автоматическую рекламу, он может просматривать следующие аспекты поведения рекламы:
- длина интервала между рекламными паузами в середине ролика.
- стратегия планирования рекламных точек. Точки поворота могут быть вставлены одновременно для всех зрителей, либо время их появления может варьироваться от зрителя к зрителю. Последняя стратегия позволяет YouTube планировать ключевые точки с повышенной частотой, что позволяет зрителям получать ключевые точки, когда они имеют на это право.
- период, в течение которого реклама в середине ролика не показывается; для этой функции владелец трансляции указывает, что вставка объявлений в середине ролика приостанавливается до определенного времени.
В документации отражены следующие изменения API для поддержки этой функции:
- Ресурс
liveBroadcast
теперь содержит объектmonetizationDetails
. Поля объекта указывают, включена ли автоматическая вставка рекламы для трансляции, и указывают дополнительную информацию для планирования ключевых точек. - Параметр
part
методаliveBroadcast.list
поддерживает значениеmonetizationDetails
. - Метод
update
можно использовать для приостановки вставки рекламы в середине ролика на определенный период для прямой трансляции. В документации также теперь указано несколько ошибок, которые могут возникнуть при обновлении деталей монетизации для прямой трансляции.
1 августа 2023 г.
Это обновление содержит следующие изменения:
Метод
liveBroadcasts.update
больше не требует указания значений для этих полей:-
snippet.title
-
status.privacyStatus
Если эти поля исключить из запроса, они останутся без изменений.
-
1 ноября 2022 г.
Новый метод
liveBroadcasts.cuepoint
позволяет любому владельцу канала, ведущему прямую трансляцию на YouTube, вставлять в эту трансляцию ключевые точки, которые могут запускать рекламные паузы. Этот метод заменяет методliveCuepoints.insert
, который позволял только партнерам по контенту YouTube вставлять ключевые точки в прямые трансляции.Несколько руководств были обновлены, чтобы отразить доступность этого нового метода.
Примечание. Это объявление об устаревании.
Метод
liveCuepoints.insert
устарел. Поддержка методаliveCuepoints.insert
будет прекращена 1 мая 2023 г. или позднее. Пользователям API следует обновить свои приложения, чтобы вместо этого вызывать методliveBroadcasts.cuepoint
.Документация по методу
liveBroadcasts.control
удалена. Уведомление об устаревании этого метода было опубликовано в сентябре 2020 года.
1 октября 2022 г.
Это обновление содержит следующие изменения:
Метод
liveBroadcasts.update
больше не требует указания значений для этих полей:-
contentDetails.enableContentEncryption
-
contentDetails.enableDvr
-
contentDetails.enableEmbed
-
contentDetails.recordFromStart
-
contentDetails.startWithSlate
Если эти поля исключить из запроса, они останутся без изменений.
-
Удалена документация по устаревшим полям
liveBroadcast
:-
contentDetails.enableContentEncryption
-
contentDetails.startWithSlate
-
1 апреля 2022 г.
Это обновление содержит следующие изменения:
Свойство
snippet.type
теперь поддерживает два новых значения:-
membershipGiftingEvent
-
giftMembershipReceivedEvent
-
Новое свойство
snippet.membershipGiftingDetails
ресурсаliveChatMessage
и его дочерние элементы содержат информацию о событии подарка членства. Аналогично, новое свойствоsnippet.giftMembershipReceivedDetails
и его дочерние элементы содержат информацию о событии Gift Membership Получено.
15 сентября 2021 г.
Это обновление содержит следующие изменения:
Свойство
snippet.type
теперь поддерживает два новых значения:-
newSponsorEvent
-
memberMilestoneChatEvent
-
Новое свойство
snippet.memberMilestoneChatDetails
ресурсаliveChatMessage
и его дочерние элементы содержат информацию о событии Member Milestone Chat. Аналогично, новое свойствоsnippet.newSponsorDetails
и его дочерние элементы содержат информацию о событии «Новый спонсор».
1 декабря 2020 г.
Метод liveBroadcasts.transition
API поддерживает новую ошибку 403
( Forbidden
), которая указывает на то, что пользователь отправил слишком много запросов в течение заданного периода времени. Причина ошибки — userRequestsExceedRateLimit
.
21 сентября 2020 г.
Определение свойства
status.madeForKids
ресурсаliveBroadcast
было обновлено, чтобы уточнить, что это свойство доступно только для чтения. Это не отражает изменение функциональности API.Чтобы обозначить прямую трансляцию как ориентированную на детей, установите для
status.selfDeclaredMadeForKids
значениеtrue
при вызове методаliveBroadcasts.insert
для создания трансляции.Примечание. Это изменение включает объявление о прекращении поддержки и обновление предыдущего объявления об прекращении поддержки.
Метод
liveBroadcasts.control
станет устаревшим 1 октября 2020 года или после этой даты. После этой даты все вызовы этого метода будут возвращать запрещенную ошибку (403), а позже метод будет полностью удален. Клиенты по-прежнему могут реализовать собственное планирование, добавив наложение к видео, отправленному на серверы приема YouTube.Дата прекращения поддержки объявления об устаревании, сделанного 16 апреля 2020 г. , которая первоначально была запланирована на 1 сентября 2020 г., была перенесена и теперь произойдет 1 октября 2020 г. или после этой даты. Таким образом, все функции, включенные в это объявление об устаревании, и метод
liveBroadcasts.control
будут объявлены устаревшими одновременно.
17 июля 2020 г.
Примечание. Это обновление предыдущего объявления об прекращении поддержки.
Поле cdn.format
ресурса liveStream
, которое было объявлено устаревшим в апреле 2016 года, больше не будет поддерживаться с 17 августа 2020 года. С этой даты запросы, все еще использующие это поле, не будут выполняться.
Если ваш код по-прежнему использует поле cdn.format
, его необходимо обновить, чтобы указать частоту кадров и разрешение отдельно, используя свойства cdn.frameRate
и cdn.resolution
.
6 июля 2020 г.
Руководство по доставке живого контента YouTube через HLS было обновлено с некоторыми изменениями:
- Рекомендуемая продолжительность медиасегмента была обновлена до одной-четырех секунд.
- В новом разделе объясняется, как получить URL-адрес приема HLS из YouTube Creator Studio .
- Инструкции по форматированию значения параметра
file
были перенесены в новый раздел «Завершение URL-адреса приема HLS» . Эти инструкции применимы независимо от того, получен ли URL-адрес приема HLS из API YouTube или из YouTube Creator Studio.
Кроме того, в новом сравнении протоколов приема перечислены протоколы приема, которые поддерживает YouTube, кодеки, поддерживаемые для каждого протокола, а также дополнительная информация о соответствующих вариантах использования для каждого протокола.
16 апреля 2020 г.
Это обновление включает в себя новое свойство и объявление об устаревании:
Ресурс
liveBroadcast
теперь поддерживает свойствоcontentDetails.enableAutoStop
. Свойство указывает, должна ли трансляция автоматически останавливаться примерно через минуту после того, как владелец канала прекращает потоковую передачу видео в привязанном видеопотоке.Срок действия документа трансляции был обновлен, чтобы объяснить, как меняется пошаговый процесс создания и управления прямой трансляцией YouTube, если для свойств
contentDetails.enableAutoStart
илиcontentDetails.enableAutoStop
установлено значениеtrue
.Примечание. Это объявление об устаревании. Эти изменения вступят в силу 1 сентября 2020 г. или после этой даты. Фактическая дата вступления изменений в силу называется ниже датой прекращения поддержки.
Это обновление объясняет потенциально критическое изменение. Это затрагивает клиентские приложения API, которые используют ресурсы каналов
liveStream
иliveBroadcast
по умолчанию для потоковой передачи контента на YouTube. В частности, идентификатор трансляции и идентификатор потока , связанные с постоянной трансляцией и потоком, больше не будут функционировать для запуска новых трансляций.Ваше заявление будет затронуто, если выполняется любое из следующих условий:
- Он проверяет значение свойства
isDefaultBroadcast
ресурсаliveBroadcast
. Это свойство не будет возвращено после даты устаревания. - Он проверяет значение свойства
isDefaultStream
ресурсаliveStream
. Это свойство не будет возвращено после даты устаревания. - Он вызывает метод
liveBroadcasts.list
и устанавливает для параметраbroadcastType
значениеpersistent
илиall
. Этот параметр станет устаревшим в результате этих изменений. На дату прекращения поддержки:- Если значение параметра
broadcastType
являетсяpersistent
, то методliveBroadcasts.list
не вернет никаких результатов. - Если значение параметра
broadcastType
—all
, методliveBroadcasts.list
не будет возвращать постоянные широковещательные рассылки, существовавшие до этого времени.
- Если значение параметра
В качестве фона: в течение последних нескольких лет YouTube автоматически создавал поток по умолчанию и трансляцию по умолчанию для канала, когда этот канал был включен для прямой трансляции. Поток по умолчанию существовал неопределенно долго, не имел связанного с ним времени начала или окончания и не мог быть удален. Точно так же широковещательная рассылка по умолчанию считалась постоянной . Оно существовало всегда и не было привязано к конкретному событию.
На дату прекращения поддержки:
- YouTube больше не будет создавать потоки и трансляции по умолчанию. Вместо того, чтобы полагаться на ресурсы по умолчанию, клиенты API должны иметь возможность создавать ресурсы
liveBroadcast
иliveStream
и управлять ими, а также связывать эти ресурсы вместе. - Если трансляция по умолчанию и поток по умолчанию активны в прямом эфире, то есть канал использует их для прямой трансляции на момент вступления в силу прекращения поддержки, текущая трансляция не будет затронута. Однако после завершения трансляции канал не сможет снова использовать трансляцию по умолчанию и поток по умолчанию.
- Если трансляция канала по умолчанию и поток по умолчанию не активны в прямом эфире, то после вступления в силу прекращения поддержки YouTube будет игнорировать попытки использовать эти ресурсы для трансляции видео.
Если это затронуло ваше приложение, обратитесь к следующим документам, которые помогут вам обновить приложение, чтобы оно продолжало работать должным образом после этого изменения:
- Новое руководство по миграции пытается объяснить шаги, которые разработчикам, возможно, придется выполнить в клиентах API, которые в настоящее время используют широковещательные рассылки и потоки по умолчанию.
- Руководство «Жизнь трансляции» проведет вас через пошаговый процесс, объясняющий, как создавать прямые трансляции на YouTube и управлять ими. На каждом этапе объясняются вызовы API или другие действия, которые необходимо выполнить для выполнения определенного действия, и вашему приложению необходимо будет следовать этому процессу, когда YouTube перестанет поддерживать потоки и трансляции по умолчанию.
- Он проверяет значение свойства
31 марта 2020 г.
Примечание. Это объявление об устаревании.
Ресурс sponsor
и метод sponsors.list
устарели и заменены ресурсом member
и members.list
.
Метод sponsors.list
перестанет поддерживаться 30 сентября 2020 г. или после этой даты. Клиентам API следует обновить вызовы метода sponsors.list
, чтобы вместо него использовать members.list
. Дополнительную информацию о новом ресурсе можно найти в истории изменений API данных YouTube .
11 марта 2020 г.
Раздел конечной точки приема в руководстве «Доставка контента YouTube в прямом эфире через HLS» был обновлен, чтобы разъяснить процесс, который кодировщик должен использовать для заполнения значения параметра file=
при формировании основного и резервного URL-адресов приема.
4 февраля 2020 г.
Руководство по доставке контента YouTube в прямом эфире через HLS было обновлено, и в нем указано, что запросы DELETE
не являются обязательными и что конечная точка HLS YouTube игнорирует их. Из соображений производительности YouTube рекомендует клиентам не отправлять запросы DELETE
.
10 января 2020 г.
API теперь поддерживает возможность идентифицировать контент, предназначенный для детей, который YouTube называет «сделанным для детей». Подробную информацию о контенте, предназначенном для детей, можно найти в Справочном центре YouTube.
- Ресурс
liveBroadcast
поддерживает два новых свойства, позволяющих создателям и зрителям контента определять контент, предназначенный для детей:- Свойство
selfDeclaredMadeForKids
позволяет создателям контента указать, является ли прямая трансляция контентом, предназначенным для детей. Это свойство можно установить при создании трансляции с помощью методаliveBroadcasts.insert
. Обратите внимание, что это свойство включается в ответы API, содержащие ресурсыliveBroadcast
, только если владелец канала санкционировал запрос API. - Свойство
madeForKids
позволяет любому пользователю API получить статус трансляции «сделано для детей». Например, статус может определяться на основе значения свойстваselfDeclaredMadeForKids
. Дополнительную информацию о настройке аудитории для вашего канала, видео или трансляций см. в Справочном центре YouTube .
- Свойство
- В API данных YouTube ресурс
channel
также поддерживает новые свойстваselfDeclaredMadeForKids
иmadeForKids
.
Мы также обновили Условия использования API-сервисов YouTube и Политику для разработчиков. Дополнительную информацию см. в Условиях использования API-сервисов YouTube — История изменений . Изменения в Условиях использования API-сервисов YouTube и Правилах для разработчиков вступят в силу 10 января 2020 года по тихоокеанскому времени.
20 августа 2019 г.
Раздел «Требования» руководства «Доставка контента YouTube в прямом эфире через HLS» обновлен двумя изменениями:
- В нем поясняется, что рекомендуется включать в каждый список воспроизведения мультимедиа как подтвержденные, так и невыполненные сегменты. Такая практика снижает вероятность пропуска сегмента, если список воспроизведения мультимедиа потерян на стороне сервера. Например, вы можете включить до двух подтвержденных сегментов и до пяти невыполненных сегментов в каждый список воспроизведения мультимедиа.
- Теперь требуется отправлять список воспроизведения мультимедиа для каждого сегмента мультимедиа. Это позволяет серверу быстро восстановиться в случае потери списка воспроизведения мультимедиа. Ранее эта практика была указана как рекомендация.
28 июня 2019 г.
YouTube теперь поддерживает прием HLS. Соответственно, свойство ingestionType
ресурса liveStream
поддерживает новое значение hls
для идентификации потоков, принимаемых на YouTube с использованием HLS.
В новом руководстве «Доставка живого контента YouTube через HLS» представлены рекомендации по использованию HLS для потоковой передачи живого контента на YouTube из кодировщика. Цель руководства — помочь поставщикам кодировщиков добавить поддержку доставки HLS в свои продукты.
4 апреля 2019 г.
Это обновление содержит следующие изменения:
Справочная документация по API была обновлена, чтобы лучше объяснить общие случаи использования каждого метода и предоставить динамические высококачественные примеры кода через виджет API-интерфейса Explorer. Пример см. в документации метода
liveBroadcasts.list
. На страницах, описывающих методы API, теперь есть два новых элемента:Виджет API-интерфейса позволяет выбирать области авторизации, вводить образцы значений параметров и свойств, а затем отправлять фактические запросы API и просматривать фактические ответы API. Виджет также предлагает полноэкранное представление, в котором показаны полные примеры кода, которые динамически обновляются для использования введенных вами областей и значений.
В разделе «Распространенные варианты использования» описан один или несколько распространенных вариантов использования метода, описанного на странице. Например, вы можете вызвать метод
liveBroadcasts.list
для получения данных о конкретной трансляции или для получения данных о трансляциях текущего пользователя.Вы можете использовать ссылки в этом разделе, чтобы заполнить проводник API примерами значений для вашего варианта использования или открыть полноэкранный проводник API с уже заполненными значениями. Эти изменения призваны облегчить вам просмотр примеров кода, которые напрямую применимы к варианту использования, который вы пытаетесь реализовать в своем собственном приложении.
Примеры кода в настоящее время поддерживаются для Java, JavaScript, PHP, Python и Curl.
Страница примеров кода также имеет новый пользовательский интерфейс, который предлагает все те же функции, которые описаны выше. С помощью этого инструмента вы можете изучить варианты использования различных методов, загрузить значения в проводник API и открыть полноэкранный проводник API, чтобы получить примеры кода на Java, JavaScript, PHP и Python.
В связи с этим изменением были удалены страницы, на которых ранее были перечислены доступные примеры кода для Java, PHP и Python.
25 февраля 2019 г.
Документация ресурсов liveChatMessage
и superChatEvent
была обновлена, чтобы отразить тот факт, что оба ресурса теперь могут содержать информацию о суперстикерах. Суперстикеры – это тип сообщения Суперчата, в котором отображается изображение. Как и в других суперчатах, сообщение в суперстикере покупается фанатом во время прямой трансляции на YouTube.
- В ресурсе
liveChatMessage
для свойстваsnippet.type
теперь установлено значениеsuperStickerEvent
что указывает на то, что ресурс содержит информацию о суперстикере. В этом случае ресурс также содержит объектsnippet.superStickerDetails
, который содержит дополнительную информацию о суперстикере. - В ресурсе
superChatEvent
логическийsnippet.isSuperStickerEvent
указывает, является ли сообщение Суперчата также суперстикером. Если да, то объектsnippet.superStickerMetadata
содержит дополнительные сведения о суперстикере.
5 апреля 2018 г.
Описание метода superChatEvents.list
было обновлено, чтобы отразить тот факт, что ответ API больше не содержит fanFundingEvents
, которые устарели в начале 2017 года.
3 апреля 2017 г.
Были добавлены новые примеры кода Java , показывающие, как просматривать , вставлять и удалять сообщения живого чата. Образцы вызывают следующие методы:
13 февраля 2017 г.
Это обновление содержит следующие изменения:
Обновления существующих ресурсов и методов
Метод
liveCuepoints.insert
был обновлен, чтобы отразить тот факт, что в настоящее время требуется параметрonBehalfOfContentOwner
. Кроме того, описание метода было обновлено: теперь указано, что вызовы этого метода должны быть авторизованы учетной записью, связанной с владельцем контента YouTube.
9 февраля 2017 г.
Это обновление содержит следующие изменения:
Обновления существующих ресурсов и методов
Новый параметр
hl
методаsuperChatEvents.list
позволяет указать, что значение свойстваsnippet.displayString
должно быть отформатировано в соответствии с соглашениями определенного языка. Определение этого свойства также было соответствующим образом обновлено.Значением параметра должен быть код языка, включенный в список, возвращаемый методом
i18nLanguages.list
. Значением по умолчанию являетсяen
, что означает, что по умолчанию отображаемые строки форматируются так, как они будут использоваться на английском языке. Например, по умолчанию строка форматируется как$1.00
, а не$1,00
.
1 февраля 2017 г.
Это обновление содержит следующие изменения:
Новые ресурсы и методы
Новый ресурс
superChatEvent
представляет собой сообщение Суперчата, приобретенное фанатом во время прямой трансляции на YouTube. В прямом эфире чата YouTube суперчаты выделяются среди других сообщений по двум причинам:- Суперчаты выделяются цветом.
- Суперчаты остаются закрепленными за тикером в течение определенного периода времени.
Цвет Суперчата, период времени, в течение которого он остается закрепленным на тикере, и максимальная длина сообщения определяются суммой покупки. Дополнительную информацию о Суперчатах можно найти в Справочном центре YouTube .
API поддерживает метод составления списка событий Суперчата для прямых трансляций канала за предыдущие 30 дней. Этот метод также возвращает данные о событиях FanFunding (
fanFundingEvents
) из последней прямой трансляции канала.
Обновления существующих ресурсов и методов
Свойство
snippet.type
теперь поддерживает значениеsuperChatEvent
, которое указывает, что ресурс описывает Суперчат.Кроме того, новое свойство
snippet.superChatDetails
ресурсаliveChatMessage
и его дочерние элементы содержат информацию о событии Суперчата.Свойство
cdn.resolution
ресурсаliveStream
теперь поддерживает значение2160p
.
Новые и обновленные ошибки
API поддерживает следующие новые ошибки:
Подробности ошибки liveBroadcasts.insert
,liveBroadcasts.update
Методы liveBroadcasts.insert
иliveBroadcasts.update
возвращают ошибки400
(Bad Request
), указывающие на то, что вставляемый или обновляемый ресурсliveBroadcast
содержит недопустимое значение либо для свойстваcontentDetails.enableEmbed
, либо для свойстваcontentDetails.projection
. Причинами двух новых ошибок являютсяinvalidEmbedSetting
invalidProjection
соответственно.
12 января 2017 г.
Примечание. Это объявление об устаревании.
В связи с выпуском новой функции Суперчата YouTube прекратил поддержку функции Fan Funding, а API Fan Funding будет отключен 28 февраля 2017 года. На эту дату:
- Метод
liveChatMessages.list
больше не будет возвращать сообщения сsnippet.type
fanFundingEvent
. Аналогично, ресурсыliveChatMessage
больше не будут содержать объектsnippet.fanFundingEventDetails
. - Метод
fanFundingEvents.list
больше не будет возвращать данные.
11 августа 2016 г.
Это обновление содержит следующие изменения:
Недавно опубликованные Условия использования API-сервисов YouTube («Обновленные условия»), подробно обсуждаемые в блоге разработчиков и разработчиков YouTube , содержат богатый набор обновлений текущих Условий обслуживания. Помимо обновленных условий , которые вступят в силу 10 февраля 2017 г., это обновление включает в себя несколько подтверждающих документов, которые помогут объяснить политики, которым должны следовать разработчики.
Полный набор новых документов описан в истории изменений Обновленных условий . Кроме того, будущие изменения в Обновленных условиях или в подтверждающих документах также будут объяснены в этой истории изменений. Вы можете подписаться на RSS-канал со списком изменений в этой истории изменений по ссылке в этом документе.
20 мая 2016 г.
YouTube теперь поддерживает прием DASH. Соответственно, свойство ingestionType
ресурса liveStream
поддерживает новое dash
для идентификации потоков, загружаемых на YouTube с помощью DASH.
Новое руководство по доставке контента YouTube в прямом эфире через DASH содержит рекомендации по использованию формата доставки DASH для потоковой передачи данных в реальном времени на YouTube из кодера. Он призван помочь производителям кодировщиков добавить поддержку доставки DASH в свои продукты.
18 апреля 2016 г.
Это обновление содержит следующие изменения:
Обновления существующих ресурсов и методов
- обновления ресурсов
liveStream
YouTube теперь поддерживает потоки с разрешением 1440p и частотой 30 или 60 кадров в секунду.
Кроме того, ресурс
liveStream
содержит новые свойства для указания частоты кадров и разрешения входящих видеоданных:Характеристики cdn.frameRate
Частота кадров входящих видеоданных. Допустимые значения: 30fps
и60fps
.cdn.resolution
Разрешение входящих видеоданных. Допустимые значения свойств: 1440p
,1080p
,720p
,480p
,360p
и240p
.В соответствии с появлением свойств
cdn.frameRate
иcdn.resolution
ресурсаliveStream
,cdn.format
ресурса теперь устарел. Свойствоcdn.format
определяет разрешение и частоту кадров в одном значении.Мы рекомендуем вам перейти на новые поддерживаемые поля. Тем временем
cdn.format
продолжает работать. Кроме того, запросы на вставку прямых трансляций в настоящее время выполняются, если вы указываете значения либо для свойстваcdn.format
, либо для свойствcdn.frameRate
иcdn.resolution
. Если вы предоставите значения для всех трех свойств, API может вернуть ошибку, если значения не совпадают.Обратите внимание: хотя свойство
cdn.format
устарело, теперь оно поддерживает два новых значения:1440p
и1440p_hfr
, чтобы отразить поддержку API потоков 1440p со скоростью 30 или 60 кадров в секунду.
- Обновления ресурса
liveBroadcast
Ресурс
liveBroadcast
содержит следующие новые свойства:Характеристики contentDetails.boundStreamLastUpdateTimeMs
Дата и время последнего обновления прямой трансляции, на которую ссылается свойство contentDetails.boundStreamId
трансляции.contentDetails.projection
Формат проекции трансляции. Значение свойства по умолчанию — rectangular
. Допустимые значения свойства:360
иrectangular
.Определение свойства
statistics.totalChatCount
ресурсаliveBroadcast
было обновлено, чтобы отметить, что значение свойства отображается только в том случае, если в трансляции есть хотя бы одно сообщение чата.
- Обновления ресурсов
liveChatMessage
Свойство
snippet.type
поддерживает два новых значения —messageDeletedEvent
иuserBannedEvent
, которые соответствуют новым свойствам, описанным в следующем пункте. Определение свойстваsnippet.authorChannelId
также было обновлено, чтобы объяснить, что значение свойства определяет для этих новых типов сообщений.Ресурс
liveChatMessage
содержит следующие новые свойства:Характеристики snippet.messageDeletedDetails
Этот объект содержит информацию о сообщении, которое было удалено модератором чата. Объект присутствует только в том случае, если значение свойства snippet.type
равноmessageDeletedEvent
.snippet.userBannedDetails
Этот объект содержит информацию о пользователе, которому запрещено участие в чате. Объект также содержит информацию о самом бане, а именно, является ли бан постоянным или временным. Если бан временный, одно из свойств объекта указывает продолжительность бана.
Этот объект присутствует только в том случае, если значение свойстваsnippet.type
равноuserBannedEvent
.
- обновления ресурсов
Новые и обновленные ошибки
API поддерживает следующие новые ошибки:
Подробности ошибки liveBroadcasts.bind
Метод liveBroadcasts.bind
возвращает ошибку403
(Forbidden
), указывающую на то, что пользователь отправил слишком много запросов в течение заданного периода времени. Причина ошибки —userRequestsExceedRateLimit
.
МетодыliveBroadcasts.insert
иliveBroadcasts.update
уже поддерживают ту же ошибку.liveStreams.insert
Метод liveStreams.insert
поддерживает четыре новые ошибки400
(Bad Request
), которые идентифицируют недопустимое значение свойства в ресурсеliveStream
, который запрос пытался вставить. В следующем списке указаны причины ошибок и свойства, с которыми они связаны:-
invalidFormat
:cdn.format
-
invalidFrameRate
:cdn.frameRate
-
invalidIngestionType
:cdn.ingestionType
-
invalidResolution
:cdn.resolution
liveStreams.insert
Метод liveStreams.insert
поддерживает две новые ошибки400
(Bad Request
), каждая из которых указывает на отсутствие необходимого значения в ресурсеliveStream
, который пытался вставить запрос. В следующем списке указаны причины ошибок и свойства, с которыми они связаны:-
frameRateRequired
:cdn.frameRate
-
resolutionRequired
:cdn.resolution
liveStream
необходимо указать значение либо для свойстваcdn.format
, либо для свойствcdn.frameRate
иcdn.resolution
.- API возвращает ошибку
formatRequired
, если вы не укажете значение ни для одного из трех свойств. - API возвращает
frameRateRequired
, если вы укажете значение дляcdn.resolution
, но неcdn.frameRate
. - API возвращает ошибку
resolutionRequired
, если вы укажете значение дляcdn.frameRate
, но неcdn.resolution
.
liveStreams.update
Метод liveStreams.update
возвращает ошибку403
(Forbidden
), если запрос пытается изменить значение любого из следующих неизменяемых свойств:-
cdn.format
-
cdn.frameRate
-
cdn.ingestionType
-
cdn.resolution
reason
в ответе об ошибке —liveStreamModificationNotAllowed
.-
18 декабря 2015 г.
Законы Европейского Союза (ЕС) требуют предоставления определенной информации и получения согласия от конечных пользователей в ЕС. Таким образом, конечные пользователи в Европейском Союзе должны соблюдать Политику согласия пользователей ЕС . Мы добавили уведомление об этом требовании в Условия использования API YouTube .
17 декабря 2015 г.
Это обновление содержит следующие изменения:
Новые ресурсы и методы
API поддерживает несколько новых ресурсов для поддержки функций чата для прямых трансляций. YouTube поддерживает функцию живого чата во время активных прямых трансляций, и эти ресурсы и их методы поддерживают получение сообщений чата, а также административные функции для чата.
Ресурсы liveChatMessage
Этот ресурс представляет собой сообщение в чате YouTube. YouTube поддерживает несколько типов сообщений, включая текстовые сообщения и мероприятия по сбору средств от поклонников. Некоторые типы сообщений указывают на конкретную фазу чата, например начало периода, доступного только для спонсоров, или окончание чата. API поддерживает методы для просмотра, вставки и удаления сообщений чата. liveChatModerators
Этот ресурс идентифицирует модератора чата. Модераторы могут выполнять некоторые административные функции, например запрещать пользователям доступ в чат или удалять сообщения. API поддерживает методы для перечисления, добавления и удаления модераторов чата. liveChatBans
Этот ресурс идентифицирует пользователя, которому запрещено публиковать сообщения в определенном чате. Баны могут быть временными или постоянными. API поддерживает методы для вставки и удаления запретов в чате. fanFundingEvents
Этот ресурс представляет собой мероприятие Fan Funding на канале YouTube. Функция «Фан-фандинг» дает зрителям возможность добровольно поддержать авторов YouTube единовременной денежной поддержкой.
МетодfanFundingEvents.list
API перечисляет события канала, посвященные пожертвованиям фанатов. События Fan Funding, которые инициируются через чат во время прямой трансляции, принадлежащей каналу, также вызывают сообщениеfanFundingEvent
в чат трансляции.
Подробную информацию о пожертвованиях фанатов можно найти в Справочном центре YouTube .sponsors
Ресурс sponsor
идентифицирует спонсора канала YouTube. Спонсор платит каналу ежемесячную плату. Значок отображается рядом с сообщениями спонсора в чатах канала, и спонсоры также могут участвовать в чатах исключительно для спонсоров канала, если таковые имеются.
Методsponsors.list
API перечисляет спонсоров канала. Когда пользователи регистрируются для спонсирования канала во время прямой трансляции, принадлежащей этому каналу, API также добавляет сообщениеnewSponsorEvent
в чат трансляции.Подробную информацию о спонсорстве можно найти в Справочном центре YouTube .
Обновления существующих ресурсов и методов
Ресурс
liveBroadcast
содержит следующие новые свойства:Характеристики snippet.liveChatId
Идентификатор живого чата YouTube трансляции. С помощью этого идентификатора вы можете использовать методы ресурса liveChatMessage
для получения, вставки или удаления сообщений чата. Вы также можете добавить или удалить модераторов чата, запретить пользователям участвовать в чатах или удалить существующие запреты.contentDetails.closedCaptionsType
ПРИМЕЧАНИЕ. Это свойство заменяет свойство contentDetails.enableClosedCaptions
.
Это свойство указывает, включена ли закрытая подпись для вашей трансляции, и, если да, то какой тип закрытых подписей вы предоставляете:-
closedCaptionsDisabled
: Закрытые подписи отключены для живой трансляции. -
closedCaptionsHttpPost
: вы отправите подписи через HTTP Post, в URL -адрес приема, связанный с вашим живым потоком. -
closedCaptionsEmbedded
.
contentDetails.enableClosedCaptions
Это собственность устарела по состоянию на 17 декабря 2015 года. Вместо этого используйте свойство contentDetails.closedCaptionsType
. Для клиентов API, которые уже используют это свойство:- Установка значения свойства на
true
эквивалентно установлению свойстваcontentDetails.closedCaptionsType
вclosedCaptionsHttpPost
. - Установка значения свойства на
false
эквивалентно установлению свойстваcontentDetails.closedCaptionsType
вclosedCaptionsDisabled
.
-
Новый
broadcastType
методаliveBroadcasts.list
Метод позволяет вам отфильтровать ответ API, чтобы включить трансляции событий, постоянные трансляции или все трансляции.Постоянная трансляция - это та, которая всегда существует и не связана с конкретным событием. В частности, трансляция по умолчанию канала является постоянной трансляцией, и она доступна через решающее значение в живой панели на YouTube Creator Studio. Другие трансляции канала являются трансляциями событий.
Статус Resource
liveStream
status.healthStatus.configurationIssues[].type
Филд сообщает о следующих новых ошибках состояния здоровья:Ошибки audioTooManyChannels
Аудио имеет более двух каналов, но поддерживаются только один (моно) или два (стерео) канала. Пожалуйста, исправьте количество аудиоканалов. frameRateHigh
Текущая частота кадров слишком высока. Пожалуйста, установите кадрину на %(framerate)s
FPS или меньше.Дата публикации предыдущей обновления документации была исправлена.
Новые и обновленные ошибки
В дополнение к ошибкам, определенным для новых ресурсов, перечисленных выше, API поддерживает следующие новые ошибки:
Подробности ошибки liveBroadcasts.update
Http -код ответа forbidden (403)
Причина closedCaptionsTypeModificationNotAllowed
Описание Значение contentDetails.closedCaptionsType
может быть изменено только тогда, когда трансляция находится в статусеcreated
илиready
.liveBroadcasts.update
Http -код ответа invalidValue (400)
Причина invalidEnableClosedCaptions
Описание В ресурсе LiveBroadcast стоимость свойства contentDetails.enableClosedCaptions
несовместимо со значением настройкиcontentDetails.closedCaptionType
. Измените ресурс, чтобы включить только одно из двух свойств, а затем повторно подайте запрос.
19 августа 2015
Это обновление содержит следующие изменения:
Новые ресурсы и методы
Примечание. Документация для ресурса
liveChat
и его методов является конфиденциальной и видимой только для выбора партнеров YouTube.Новый ресурс
liveChat
содержит комментарий, опубликованный во время живой трансляции на YouTube. API поддерживает два метода для этого ресурса:Методы liveChats.list
Перечислите живые сообщения чата для трансляции. liveChats.insert
Создайте новое сообщение чата. Сообщения в чате могут быть получены только и опубликованы, пока трансляция в прямом эфире.
Обновления существующих ресурсов и методов
Ресурс
liveStream
содержит следующие новые свойства:Характеристики snippet.isDefaultStream
Указывает, является ли этот поток потоком по умолчанию для канала. Поток по умолчанию канала существует на неопределенный срок, не связан с началом или окончанием, связанным с ним и не может быть удален. Смотрите определение свойства для получения дополнительной информации о том, как работают потоки по умолчанию. status.healthStatus
Этот объект содержит информацию, которая может быть использована для выявления, диагностики и решения проблем потоковой передачи. Объект содержит ряд дочерних свойств, чтобы помочь вам оценить здоровье живого видеопотока.
В частности,status.healthStatus.configurationIssues[]
Объект перечисляет проблемы, влияющие на видеопоток. В новом документе, вопросах конфигурации для ресурсов в прямые трансляции перечислены все проблемы, о которых сообщает API.contentDetails.isReusable
Указывает, является ли поток повторно используемым, что означает, что он может быть связан с несколькими трансляциями. Для вещателей часто используется один и тот же поток для многих различных трансляций, если эти трансляции происходят в разное время. Ресурс
liveBroadcast
содержит следующие новые свойства:Характеристики snippet.isDefaultBroadcast
Указывает, является ли эта трансляция трансляцией по умолчанию для канала. Когда канал YouTube включен для трансляции в прямом эфире, YouTube создает поток по умолчанию и трансляцию по умолчанию для канала. Поток определяет, как владелец канала отправляет живое видео на YouTube, и трансляция - это то, как зрители могут увидеть поток по умолчанию. См. Определение свойства для получения дополнительной информации о том, как работают трансляции по умолчанию. contentDetails.enableLowLatency
Указывает, должна ли эта трансляция быть закодирована для потоковой передачи с низкой задержкой. Поток с низкой задержкой может сократить количество времени, необходимого для видео, чтобы быть видимым пользователям, наблюдающим за трансляцией, хотя он также может повлиять на разрешение для зрителей потока. statistics.totalChatCount
Общее количество сообщений в чате, связанных с трансляцией. Свойство и его значение присутствуют, если трансляция видна пользователю и включена функция чата в прямом эфире. Обратите внимание, что это свойство не будет указывать значение после окончания трансляции. Таким образом, это свойство не будет определять количество сообщений чата для архивного видео за завершенную прямую трансляцию.
Новые и обновленные ошибки
В дополнение к ошибкам, определенным для нового ресурса
liveChat
, API поддерживает следующую новую ошибку:Подробности ошибки liveStreams.update
Http -код ответа forbidden (403)
Причина liveStreamModificationNotAllowed
Описание API не позволяет вам изменить повторный поток, чтобы быть невозвратным, или наоборот. Для получения дополнительной информации см. Понимание трансляций и потоков
21 мая 2015 года
Это обновление содержит следующие изменения:
YouTube теперь поддерживает потоковое видео в прямом эфире со скоростью 60 кадров в секунду (FPS), что означает более плавное воспроизведение для игр и других быстрых видеороликов. Когда вы запускаете живой поток на YouTube со скоростью 60 кадров в секунду, YouTube также предоставляет поток доступным в 30 кадров в секунду на устройствах, где просмотр высокой частоты скорости еще недоступен.
Свойство
cdn.format
от ResourceliveStream
поддерживает два новых значения для этой функции:720p_hfr
и1080p_hfr
.Смотрите блог «Создатели YouTube» для получения дополнительной информации об этой функции.
21 августа 2014 г.
Это обновление содержит следующие изменения:
Определение параметра The
liveBroadcasts.control
walltime
было обновлено, чтобы отметить, что значение свойства указано в формате ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ
).API теперь поддерживает следующие ошибки:
Тип ошибки Деталь ошибки Описание insufficientPermissions
liveStreamingNotEnabled
Все методы для ресурсов liveBroadcast
иliveStream
возвращают эту ошибку, если пользователь, который разрешил запрос API, не был включен для потокового видео на YouTube. Подробная информация, объясняющая, почему пользователь не может транслировать живое видео, может быть доступно в настройках канала пользователя по адресу https://www.youtube.com/features .rateLimitExceeded
userRequestsExceedRateLimit
liveBroadcasts.insert
иliveStreams.insert
Methods возвращают эту ошибку, чтобы указать, что пользователь отправил слишком много запросов в течение определенного периода времени.
2 мая 2014 года
Это обновление содержит следующие изменения:
Описания ресурса
liveStream
и методаliveBroadcasts.bind
были обновлены, чтобы отметить, что трансляция может быть связана только с одним видеопотоком, но видеопоток может быть связан с более чем одной трансляцией. Это изменение является исключительно коррекцией к документации; Основная функция API не изменилась.contentDetails.monitorStream.enableMonitorStream
true
liveBroadcast
live
testing
(Если стоимость свойстваfalse
, ваша трансляция не может иметь этапаtesting
, поэтому вы можете перевести трансляцию непосредственно вlive
состояние.settings.offsetTimeMs
ресурсаliveCuepoint
.Все методы для ресурсов
liveBroadcast
иliveStream
теперь поддерживают параметрыonBehalfOfContentOwner
иonBehalfOfContentOwnerChannel
. Эти параметры позволяют вам использовать те же учетные данные авторизации для выполнения запросов API для различных каналов, связанных с одним и тем же владельцем контента.Документация метода
liveCuepoints.insert
была обновлена, чтобы отметить, что вы можете установить значение для свойстваsettings.walltime
. Walltime при вызове этого метода.В документации ошибок теперь указывается код ответа HTTP для каждого типа ошибки.
API теперь поддерживает следующую ошибку:
Тип ошибки Деталь ошибки Описание insufficientPermissions
livePermissionBlocked
liveBroadcasts.insert
,liveBroadcasts.transition
иliveStreams.insert
Методы возвращают эту ошибку, если пользователь, который авторизовал запрос, не может транслировать видео на YouTube. Подробная информация, объясняющая, почему пользователь не может транслировать живое видео, может быть доступно в настройках канала пользователя по адресу https://www.youtube.com/features .Ошибка
liveBroadcasts.insert
MethodinvalidScheduledStartTime
была обновлена, чтобы уточнить, что запланированное время начала должно быть достаточно близко к текущей дате, что трансляция может быть надежно запланирована в то время.
13 декабря 2013 года
Это обновление содержит следующие изменения:
Новый
status.recordingStatus
ресурсаliveBroadcast
.Новый
contentDetails.enableClosedCaptions
's Property stocteD.DableClosedCaptions отliveBroadcast
указывает, можно ли проглотить закрытые подписи для трансляции. Значение свойства может быть установлено при внедрении или обновлении трансляции, но его нельзя обновить, как только трансляция будет вtesting
или вlive
эфире. Если вы установите это свойство вtrue
, то ресурсliveStream
, который связан с трансляцией, будет указывать URL -адрес приема для использования для закрытых подписей трансляции.snippet.scheduledEndTime
отliveBroadcast
Resource.schedudEndtime теперь поддерживает трансляции, которые должны продолжаться бесконечно. С этим изменением собственность больше не требуется вliveBroadcasts.insert
иliveBroadcasts.update
запросы.
Если вы получаете ресурсliveBroadcast
, который не указывает значение для этого свойства, то трансляция планирует продолжаться бесконечно. Аналогичным образом, если вы позвоните вliveBroadcasts.insert
илиliveBroadcasts.update
и не указываете значение для этого имущества, трансляция будет запланирован на неопределенный срок.liveBroadcast
'scontentDetails.recordFromStart
true
Sproports Resource Resourcastfalse
Если ваш канал не имеет разрешения на отключение записей, и вы пытаетесь вставить трансляцию со свойством
recordFromStart
установленного вfalse
, API вернетForbidden
ошибку. Кроме того, если ваш канал не имеет такого разрешения, и вы пытаетесь обновить трансляцию, чтобы установить свойствоrecordFromStart
вfalse
, API вернетmodificationNotAllowed
.Ресурс
liveBroadcast
больше не содержитenableArchive
свойство, которое было упомянуто в описанияхcontentDetails.enableDvr
иcontentDetails.enableEmbed
Properties.Список действительных значений для
status.lifeCycleStatus
liveBroadcast
Resource.Новые
settings.walltime
ресурсаliveCuepoint
. API возвращает ошибку, если запрос пытается вставить Cuepoint, которая указывает значение для этого свойства, и дляsettings.offsetTimeMs
.Новый объект
contentDetails
в ресурсеliveStream
содержит информацию о потоке. В настоящее время единственным свойством объекта являетсяcontentDetails.closedCaptionsIngestionUrl
, который определяет URL -адрес приема для закрытых подписей, связанных с видеопотоком.Список действительных значений для
status.streamStatus
liveStream
Resource.Новый параметр
walltime
методаliveBroadcasts.control
позволяет указать дату и время, когда произойдет изменение сланца. API возвращает ошибку, если запрос определяет значение для этого параметра и для параметраoffsetTimeMs
.В ответе API на запрос
liveBroadcasts.list
стоимость имуществаkind
собственности изменилась сyoutube#liveBroadcastList
наyoutube#liveBroadcastListResponse
.youtube#liveStreamList
ответе APIkind
запросliveStreams.list
youtube#liveStreamListResponse
Собственность
eventId
была устарел как отliveBroadcastListResponse
так и изliveStreamListResponse
.API поддерживает следующие новые ошибки:
Тип ошибки Деталь ошибки Описание invalidValue
conflictingTimeFields
Метод liveBroadcasts.control
возвращает эту ошибку, если ваш запрос определяет значения дляoffsetTimeMs
и параметровwalltime
. Запрос может либо опустить оба параметра, либо указать значение для одного из двух параметров.invalidValue
invalidWalltime
Метод liveBroadcasts.control
возвращает эту ошибку, если значение параметраwalltime
неверно.forbidden
enableClosedCaptionsModificationNotAllowed
Метод liveBroadcasts.update
возвращает эту ошибку, если вы попытаетесь обновить значениеcontentDetails.enableClosedCaptions
, а статус трансляции неcreated
илиready
.invalidValue
conflictingTimeFields
Метод liveCuepoints.insert
возвращает эту ошибку, если ваш запрос определяет значения дляsettings.offsetTimeMs
иsettings.walltime
. Запрос может либо опустить как свойства, либо указать значение для одного из двух свойств.Кроме того, метод
liveStreams.update
больше не поддерживает ошибкуcdnRequired
, аналогичную той, которую поддерживает методliveStreams.insert
.
10 мая 2013 года
Это обновление содержит следующие изменения:
YouTube больше не идентифицирует экспериментальные функции и услуги API. Вместо этого мы теперь предоставляем список API YouTube, которые подчиняются политике детектирования .
2 мая 2013 г.
Это обновление содержит следующие изменения:
Новый метод
liveBroadcasts.control
позволяет переключать настройки дисплея для сланца, который отображается в потоке вещания для трансляции, которая уже находится в процессе. Если ваш трансляционный поток задерживается, вы также можете использовать этот метод для указания смещения времени, когда произойдет запрошенное изменение сланца.Определения следующих свойств были обновлены, чтобы объяснить, что значения свойства должны быть установлены, если вы обновляете часть
contentDetails
Resource ResourceliveBroadcast
:status.streamStatus
ресурсаliveStream
deleted
Информация, которую API возвращает для многих сообщений об ошибках, была пересмотрена, чтобы лучше объяснить, почему возникли конкретные ошибки. API также поддерживает несколько новых ошибок.
27 марта 2013 года
Это обновление содержит следующие изменения:
Следующие свойства изменились в ресурсе
liveBroadcast
:- Свойство
startWithSlateCuepoint
была переименована вstartWithSlate
. - Собственность
enableArchive
была переименована вrecordFromStart
. - Объект
slateSettings
был устарел и удален из документации. Сообщения об ошибках, связанные с объектомslateSettings
или его свойствами, также были удалены. Наконец, раздел «отображения сланцев» в руководстве по началу работы была удалена.
- Свойство
API больше не поддерживает способность вставлять встроенные сланцы с использованием метода
liveCuepoints.insert
. Следующие документы были обновлены, чтобы отразить это изменение:Страница индекса , руководство по началу работы и жизнь вещательного учебника больше не упоминает эту функциональность.
settings.cueType
ресурсаliveCuepoint
slate
(Единственное поддерживаемое значение -ad
.settings.eventState
ресурсаliveCuepoint
.
18 марта 2013 года
Это обновление содержит следующие изменения:
Все сообщения об ошибках API были обновлены, чтобы более четко объяснить возможные ошибки и, когда это возможно, предложит руководство о том, как их исправить.
API теперь может вернуть несколько новых ошибок. Список ниже идентифицирует ошибку и метод API, который может вернуть эту ошибку:
-
liveBroadcasts.insert
- запланированное время завершения трансляции должно быть после запланированного времени начала. -
liveBroadcasts.insert
- The Redcast определяет неверный статус конфиденциальности. -
liveBroadcasts.update
- ресурс не содержит или не устанавливает значение для свойстваcontentDetails.enableArchive
. -
liveBroadcasts.update
- ресурс не содержит или не устанавливает значение для свойстваcontentDetails.enableContentEncryption
. -
liveBroadcasts.update
- ресурс не содержит или не устанавливает значение для свойстваcontentDetails.enableDvr
. -
liveStreams.insert
- заголовок фрагмента должен составлять от 1 до 128 символов. -
liveStreams.update
- ресурс не содержит или не устанавливает значение для свойстваsnippet.title
.
-
Документация по ресурсам
liveStream
была обновлена, чтобы отразить, что многоадресная рассылка и WebM не поддерживаются методами приема питания, как указано ранее. Список форматов для свойстваcdn.format
был обновлен соответственно, и объектcdn.multicastIngestionInfo
и его свойства дочерних свойств были удалены из документации ресурса. Кроме того,http
был удален из списка поддерживаемых значенийcdn.ingestionType
.
На этой странице перечислены изменения API API YouTube и обновления документации. Подпишитесь на эту изменение .
9 октября 2023 года
Только для справки, вы можете найти, какие идентификаторы наклеек относятся к каким суперклейки в этом файле CSV . Определения snippet.superStickerDetails.superStickerMetadata.stickerId
ресурса liveChatMessage
SuperStickerDetails.superStickerMetAdata.StickerId и snippet.superStickerMetadata.stickerId
ресурса superChatEvent
были обновлены, чтобы отразить эту информацию.
15 сентября 2023 г.
API теперь поддерживает новый способ вставить рекламу в живые трансляции. В дополнение к liveCuepoints
, которые позволяют вам вручную вставить разрывы AD в трансляцию, YouTube теперь поддерживает функцию для автоматической вставки AD -разрыва в среднем ролле в трансляцию с фиксированными промежутками.
Если владелец трансляции включает автоматическую рекламу, он может просмотреть следующие аспекты поведения рекламы:
- Длина интервала между разрывами в среднем ролике.
- Стратегия планирования для AD Cuepoints. Cuepoints можно вставить одновременно для всех зрителей, или время Cuepoints может варьироваться от зрителя к зрителю. Последняя стратегия позволяет YouTube планировать куэпоинты с повышенной скоростью, которая позволяет зрителям получать купоины, когда они имеют право на это.
- период, в течение которого реклама средней ролики не показана; Для этой функции владелец вещания указывает, что вставка рекламы в среднем уровне приостановлена до определенного времени.
Документация отражает следующие изменения API, чтобы поддержать эту функцию:
- Ресурс
liveBroadcast
теперь содержит объектmonetizationDetails
. Поля объекта указывают, включена ли автоматическая вставка AD для трансляции, и указывает дополнительную информацию для планирования Cuepoints. - Параметр
part
методаliveBroadcast.list
поддерживаетmonetizationDetails
значения. - Метод
update
может использоваться для приостановки вставки рекламы в среднем ролике в течение определенного периода для живой трансляции. Документация также теперь идентифицирует несколько ошибок, которые могут возникнуть при обновлении деталей монетизации для живой трансляции.
1 августа 2023 г.
Это обновление содержит следующие изменения:
Метод
liveBroadcasts.update
больше не требует, чтобы значения были указаны для этих полей:-
snippet.title
-
status.privacyStatus
Опустив эти поля из запроса оставит их неизменными.
-
1 ноября 2022 г.
Новый метод
liveBroadcasts.cuepoint
позволяет любому владельцу канала, управляющего прямой трансляцией на YouTube для вставки CuePoints в эту трансляцию, которая может вызвать разрывы рекламы. Этот метод заменяет методliveCuepoints.insert
, который только позволил партнерам по контенту YouTube вставить CuePoints в живые трансляции.Несколько гидов были обновлены, чтобы отразить доступность этого нового метода.
Примечание: это объявление об ископке.
Метод
liveCuepoints.insert
теперь устарел. Поддержка методаliveCuepoints.insert
будет удалена 1 мая 2023liveBroadcasts.cuepoint
или после этого.Документация для метода
liveBroadcasts.control
была удалена. Уведомление об испаке для этого метода было опубликовано в сентябре 2020 года.
1 октября 2022 года
Это обновление содержит следующие изменения:
liveBroadcasts.update
Метод не требует, чтобы значения были указаны для этих полей:-
contentDetails.enableContentEncryption
-
contentDetails.enableDvr
-
contentDetails.enableEmbed
-
contentDetails.recordFromStart
-
contentDetails.startWithSlate
Опустив эти поля из запроса оставит их неизменными.
-
Удаленная документация для устаревших полей
liveBroadcast
:-
contentDetails.enableContentEncryption
-
contentDetails.startWithSlate
-
1 апреля 2022 г.
Это обновление содержит следующие изменения:
Свойство
snippet.type
теперь поддерживает два новых значения:-
membershipGiftingEvent
-
giftMembershipReceivedEvent
-
Новый
snippet.membershipGiftingDetails
ресурсаliveChatMessage
Resource.membershipgiftingDetails и его дети содержат информацию о событии подарков членства. Аналогичным образом, новая собственностьsnippet.giftMembershipReceivedDetails
и ее дети содержат информацию о мероприятии по получению подарков.
15 сентября 2021 г.
Это обновление содержит следующие изменения:
Свойство
snippet.type
теперь поддерживает два новых значения:-
newSponsorEvent
-
memberMilestoneChatEvent
-
Новый
snippet.memberMilestoneChatDetails
ресурсаliveChatMessage
. Аналогичным образом, новая собственностьsnippet.newSponsorDetails
и ее дети содержат информацию о новом спонсорском мероприятии.
1 декабря 2020 года
Forbidden
liveBroadcasts.transition
API 403
Причина ошибки - userRequestsExceedRateLimit
.
21 сентября 2020 года
Определение
status.madeForKids
ресурсаliveBroadcast
. Это не отражает изменение функциональности API.liveBroadcasts.insert
обозначить живую трансляцию как режиссер-true
, установитеstatus.selfDeclaredMadeForKids
Примечание. Это изменение включает в себя объявление об ископке и обновление предварительного объявления о том, как объявление о том.
Метод
liveBroadcasts.control
будет устарел 1 октября 2020 года или после этой даты. После этой даты все вызовы этого метода вернут запрещенную (403) ошибку, и впоследствии этот метод будет полностью удален. Клиенты все еще могут реализовать свой собственный линг, добавив накладку к видео, отправленному на серверы проглатывания YouTube.Дата снижения объявления об ископке, сделанная 16 апреля 2020 года , которая была первоначально запланирована на 1 сентября 2020 года, была отброшена обратно и теперь произойдет 1 октября 2020 года или после этого. Таким образом, функции, включенные в это объявление об искоренении, и метод
liveBroadcasts.control
, будут снижаются в одно и то же время.
17 июля 2020 года
Примечание: это обновление предварительного объявления об испаке.
Поле cdn.format
Resource liveStream
, которая была устарела в апреле 2016 года, больше не будет поддерживать по состоянию на 17 августа 2020 года. Запросы, которые все еще используют это поле, потерпят неудачу с этой даты.
Если ваш код по -прежнему использует поле cdn.format
, его необходимо обновить, чтобы указать частоту кадров и разрешение отдельно, используя свойства cdn.frameRate
и cdn.resolution
.
6 июля 2020 года
Руководство по доставке контента на YouTube через HLS обновляется с несколькими изменениями:
- Рекомендуемая продолжительность для сегмента медиа была обновлена до одной до четырех секунд.
- В новом разделе объясняется, как получить URL -адрес приема HLS от YouTube Creator Studio .
- Инструкции по форматированию значения параметра
file
были перемещены в новый раздел URL -адрес URL -адреса HLS . Эти инструкции применяются независимо от того, получен ли URL -адрес приема HLS в API YouTube или YouTube Creator Studio.
Кроме того, в новом сравнении протокола протокола перечислены протоколы приема, которые поддерживает YouTube, кодеки, поддерживаемые для каждого протокола, и дополнительную информацию, касающуюся соответствующих вариантов использования для каждого протокола.
16 апреля 2020 года
Это обновление включает в себя новое свойство и объявление об ископке:
Ресурс
liveBroadcast
теперь поддерживает собственностьcontentDetails.enableAutoStop
. Свойство указывает, должна ли трансляция автоматически останавливаться через одну минуту после того, как владелец канала прекратит потоковое видео в граничном видеопотоке.Срок службы вещательного документа была обновлена, чтобы объяснить, как пошаговый процесс создания и управления живым событием на YouTube, если вы
true
свойстваcontentDetails.enableAutoStart
илиcontentDetails.enableAutoStop
.Примечание: это объявление об ископке. Эти изменения вступит в силу 1 сентября 2020 года или после или после. Фактическая дата, в которую вступают в силу, упоминается ниже как дату снижения.
Это обновление объясняет потенциально нарушение изменения. Он влияет на клиентские приложения API, которые используют каналы по умолчанию и
liveBroadcast
liveStream
трансляции живого контента на YouTube. В частности, идентификатор трансляции и идентификатор потока , связанные с постоянной вещанием и потоком, больше не будут функционировать для запуска новых трансляций.Ваше заявление будет затронуто, если какое -либо из следующего будет правдой:
- Он проверяет стоимость недвижимости
liveBroadcast
ResourceisDefaultBroadcast
. Это свойство не будет возвращено после даты снижения. - Он проверяет значение свойства
liveStream
ресурсаisDefaultStream
. Это свойство не будет возвращено после даты снижения. - Он вызывает метод
liveBroadcasts.list
и устанавливает значение параметраbroadcastType
наpersistent
илиall
. Этот параметр будет устареть как часть этих изменений. На дату снижения:- Если значение параметра
broadcastType
persistent
, то методliveBroadcasts.list
не вернет никаких результатов. - Если значение параметра
broadcastType
all
, то методliveBroadcasts.list
не будет возвращать постоянные трансляции, которые существовали до этого времени.
- Если значение параметра
В качестве фона, в течение последних нескольких лет, YouTube автоматически создал поток по умолчанию и трансляцию по умолчанию для канала, когда этот канал был включен для прямой трансляции. Поток по умолчанию существовал на неопределенный срок, не имел времени начала или окончания, и не мог быть удален. Точно так же трансляция по умолчанию считалась постоянной . Он всегда существовал и не был связан с определенным событием.
На дату снижения:
- YouTube больше не будет создавать потоки и трансляции по умолчанию. Вместо того, чтобы полагаться на ресурсы по умолчанию, клиенты API должны иметь возможность создавать и управлять и управлять ресурсами
liveBroadcast
иliveStream
, а также связывать эти ресурсы вместе. - Если трансляция и поток по умолчанию по умолчанию активно вживую, то есть канал использует их для живой трансляции в то время, когда вступит в силу, продолжающаяся трансляция не будет затронута. Однако после того, как эта трансляция заканчивается, канал не сможет снова использовать трансляцию по умолчанию и поток по умолчанию.
- Если трансляция и поток по умолчанию по умолчанию не активно вжизнен, то после того, как детекция вступит в силу, YouTube игнорирует попытки использовать эти ресурсы для трансляции видео.
Если ваша заявка затронута, пожалуйста, обратитесь к следующим документам, которые помогут вам обновить ваше приложение, чтобы оно все еще работало, как и ожидалось после этого изменения:
- Новое руководство по миграции пытается объяснить шаги, которые разработчикам может потребоваться обратиться к клиентам API, которые в настоящее время используют трансляции и потоки по умолчанию.
- Жизнь вещательного руководства проведет вас через пошаговый процесс, который объясняет, как создавать и управлять живым событием на YouTube. Каждый шаг объясняет вызовы API или другие вещи, которые вам необходимо сделать, чтобы выполнить конкретное действие, и ваше приложение должно следовать этому процессу, когда YouTube прекратит поддержку потоков и трансляций по умолчанию.
- Он проверяет стоимость недвижимости
31 марта 2020 года
Примечание: это объявление об ископке.
sponsor
ресурс и метод sponsors.list
Список были устарели и заменены методом member
и members.list
.
members.list
sponsors.list
больше не будет поддерживаться 30 sponsors.list
2020 года. Пожалуйста, смотрите историю пересмотра данных YouTube Data для получения дополнительной информации о новом ресурсе.
11 марта 2020 г.
Раздел «Конечная точка проглатывания» в Руководстве по доставке контента на YouTube через HLS был обновлен, чтобы уточнить процесс, который должен использовать кодер для завершения значения file=
параметр при формировании основных и резервных URL -адресов.
4 февраля 2020 года
Руководство по доставке контента на YouTube с помощью HLS было обновлено, чтобы отметить, что запросы DELETE
являются необязательными и что конечная точка YouTube HLS игнорирует их. По причинам производительности YouTube рекомендует клиентам не отправлять запросы DELETE
.
10 января 2020 года
API теперь поддерживает способность идентифицировать контент, ориентированный на ребенка, который YouTube называет «созданным для детей». Узнайте больше о контенте «Сделано для детей» в Центре справки YouTube.
- Ресурс
liveBroadcast
поддерживает два новых свойства, чтобы позволить создателям контента и зрителям идентифицировать контент «Сделано для детей»:- Собственность
selfDeclaredMadeForKids
позволяет создателям контента указывать, является ли живая трансляция, ориентированная на дочерние контент. Это свойство может быть установлено при создании трансляции через методliveBroadcasts.insert
. Обратите внимание, что это свойство включено только в ответы API, которые содержат ресурсыliveBroadcast
, владелец канала разрешил запрос API. - The
madeForKids
property enables any API user to retrieve the "made for kids" status of a broadcast. For example, the status might be determined based on the value of theselfDeclaredMadeForKids
property. See the YouTube Help Center for more information about setting the audience for your channel, videos, or broadcasts.
- Собственность
- In the YouTube Data API, the
channel
resource also supports newselfDeclaredMadeForKids
andmadeForKids
properties.
We have also updated the YouTube API Services Terms of Service and Developer Policies. Please see the YouTube API Services Terms of Service - Revision History for more information. The changes to the YouTube API Services Terms of Service and Developer Policies will take effect on January 10, 2020 Pacific Time.
August 20, 2019
The Requirements section of the Delivering Live YouTube Content via HLS guide has been updated with two changes:
- It explains that it is a best practice to include both acknowledged segments and outstanding segments in each Media Playlist. This practice makes it less likely for a segment to be skipped if a Media Playlist is lost on the server side. For example, you could include up to two acknowledged segments and up to five outstanding segments in each Media Playlist.
- It is now a requirement to send a Media Playlist for every Media Segment. This enables the server to recover quickly if a Media Playlist is lost. This practice was previously listed as a recommendation.
28 июня 2019 г.
YouTube now supports HLS ingestion. Accordingly, the liveStream
resource's ingestionType
property supports the new value hls
to identify streams ingested to YouTube using HLS.
The new Delivering Live YouTube Content via HLS guide provides guidelines for using HLS to stream live content to YouTube from an encoder. The guide aims to help encoder vendors add HLS delivery support to their products.
April 4, 2019
This update contains the following changes:
The API reference documentation has been updated to better explain common use cases for each method and to provide dynamic, high-quality code samples through the APIs Explorer widget. See the
liveBroadcasts.list
method's documentation for an example. There are now two new elements on pages that describe API methods:The APIs Explorer widget lets you select authorization scopes, enter sample parameter and property values, and then send actual API requests and see actual API responses. The widget also offers a fullscreen view that shows complete code samples, which dynamically update to use the scopes and values that you have entered.
The Common use cases section describes one or more common use cases for the method explained on the page. For example, you could call the
liveBroadcasts.list
method to retrieve data about a specific broadcast or to retrieve data about the current user's broadcasts.You can use links in that section to populate the APIs Explorer with sample values for your use case or to open the fullscreen APIs Explorer with those values already populated. These changes aim to make it easier for you to see code samples that are directly applicable to the use case that you're trying to implement in your own application.
Code samples are currently supported for Java, JavaScript, PHP, Python, and curl.
The code samples page has also a new UI that offers all of the same features described above. Using that tool, you can explore use cases for different methods, load values into the APIs Explorer, and open the fullscreen APIs Explorer to get code samples in Java, JavaScript, PHP, and Python.
In conjunction with this change, the pages that previously listed available code samples for Java, PHP, and Python have been removed.
25 февраля 2019 года
The documentation of the liveChatMessage
and superChatEvent
resources has been updated to reflect the fact that both resources can now contain information about Super Stickers. Super Stickers are a type of Super Chat message that displays an image. Like other Super Chats, a Super Sticker message is purchased by a fan during a YouTube live stream.
- In a
liveChatMessage
resource, thesnippet.type
property is now set tosuperStickerEvent
to indicate that the resource contains information about a Super Sticker. In that case, the resource also contains thesnippet.superStickerDetails
object, which contains additional information about the Super Sticker. - In a
superChatEvent
resource, the booleansnippet.isSuperStickerEvent
indicates whether the Super Chat message is also a Super Sticker. If so, then thesnippet.superStickerMetadata
object contains additional details about the Super Sticker.
5 апреля 2018 года
The description of the superChatEvents.list
method has been updated to reflect the fact that the API response no longer contains fanFundingEvents
, which were deprecated in early 2017.
April 3, 2017
New Java code samples have been added that show how to list , insert , and delete live chat messages. The samples call the following methods:
February 13, 2017
This update contains the following changes:
Updates to existing resources and methods
The
liveCuepoints.insert
method has been updated to reflect the fact that theonBehalfOfContentOwner
parameter is currently required. In addition, the method's description has been updated to note that calls to that method must be authorized by an account associated with a YouTube Content Owner.
February 9, 2017
This update contains the following changes:
Updates to existing resources and methods
The
superChatEvents.list
method's newhl
parameter lets you specify that thesnippet.displayString
property value should be formatted according to the conventions of a particular language. That property's definition has also been updated accordingly.The parameter value must be a language code included in the list returned by the
i18nLanguages.list
method. The default value isen
, which means that the default behavior is to format display strings as they would be used in English. For example, by default, a string is formatted as$1.00
rather than$1,00
.
February 1, 2017
This update contains the following changes:
New resources and methods
The new
superChatEvent
resource represents a Super Chat message purchased by a fan during a YouTube live stream. In the YouTube live chat stream, Super Chats stand out from other messages in two ways:- Super Chats are highlighted with a color.
- Super Chats stay pinned in the ticker for a set period of time.
The color of the Super Chat, the period of time it stays pinned in the ticker, and the maximum message length are all determined by the purchase amount. The YouTube Help Center has more information about Super Chats.
The API supports a method to list Super Chat events for a channel's live streams in the previous 30 days. That method also returns data about Fan Funding events (
fanFundingEvents
) from the channel's last live stream.
Updates to existing resources and methods
The
snippet.type
property now supports thesuperChatEvent
value, which indicates that the resource describes a Super Chat.In addition, the
liveChatMessage
resource's newsnippet.superChatDetails
property and its children contain information about the Super Chat event.The
liveStream
resource'scdn.resolution
property now supports the value2160p
.
New and updated errors
The API supports the following new errors:
Подробности ошибки liveBroadcasts.insert
,liveBroadcasts.update
The liveBroadcasts.insert
andliveBroadcasts.update
methods return400
(Bad Request
) errors to indicate that theliveBroadcast
resource being inserted or updated contains an invalid value for either thecontentDetails.enableEmbed
property or thecontentDetails.projection
property. The error reasons for the two new errors areinvalidEmbedSetting
andinvalidProjection
, respectively.
12 января 2017 года
Note: This is a deprecation announcement.
In conjunction with the release of the new Super Chat feature, YouTube has deprecated the Fan Funding feature, and the Fan Funding API will be turned off on February 28, 2017. As of that date:
- The
liveChatMessages.list
method will no longer return messages with asnippet.type
offanFundingEvent
. Similarly,liveChatMessage
resources will no longer contain thesnippet.fanFundingEventDetails
object. - The
fanFundingEvents.list
method will no longer return data.
11 августа 2016 года
This update contains the following changes:
The newly published YouTube API Services Terms of Service ("the Updated Terms"), discussed in detail on the YouTube Engineering and Developers Blog , provides a rich set of updates to the current Terms of Service. In addition to the Updated Terms , which will go into effect as of February 10, 2017, this update includes several supporting documents to help explain the policies that developers must follow.
The full set of new documents is described in the revision history for the Updated Terms . In addition, future changes to the Updated Terms or to those supporting documents will also be explained in that revision history. You can subscribe to an RSS feed listing changes in that revision history from a link in that document.
20 мая 2016 года
YouTube now supports DASH ingestion. Accordingly, the liveStream
resource's ingestionType
property supports the new value dash
to identify streams ingested to YouTube using DASH.
The new Delivering Live YouTube Content via DASH guide provides guidelines for using the DASH Delivery format to stream live data on YouTube from an encoder. It is intended to help encoder vendors add DASH delivery support to their products.
18 апреля 2016 года
This update contains the following changes:
Updates to existing resources and methods
-
liveStream
resource updatesYouTube now supports streams with 1440p resolution at either 30 or 60 frames per second.
In addition, the
liveStream
resource contains new properties for specifying the frame rate and resolution of the inbound video data:Характеристики cdn.frameRate
The frame rate of the inbound video data. Valid values are 30fps
and60fps
.cdn.resolution
The resolution of the inbound video data. Valid property values are: 1440p
,1080p
,720p
,480p
,360p
, and240p
.In accordance with the introduction of the
liveStream
resource'scdn.frameRate
andcdn.resolution
properties, the resource'scdn.format
is now deprecated. Thecdn.format
property specifies resolution and frame rate in a single value.We encourage you to transition to the newly supported fields. In the meantime,
cdn.format
continues to work. In addition, requests to insert live streams currently succeed as long as you specify values for either thecdn.format
property or thecdn.frameRate
andcdn.resolution
properties. If you provide values for all three properties, the API might return an error if the values are not in agreement.Note that even though the
cdn.format
property is deprecated, it does now support two new values,1440p
and1440p_hfr
, to reflect the API's support for 1440p streams at either 30 or 60 frames per second.
-
liveBroadcast
resource updatesThe
liveBroadcast
resource contains the following new properties:Характеристики contentDetails.boundStreamLastUpdateTimeMs
The date and time that the live stream referenced by the broadcast's contentDetails.boundStreamId
property was last updated.contentDetails.projection
The broadcast's projection format. The property's default value is rectangular
. Valid values for the property are360
andrectangular
.The definition of the
liveBroadcast
resource'sstatistics.totalChatCount
property has been updated to note that the property value only shows up if the broadcast has at least one chat message.
-
liveChatMessage
resource updatesThe
snippet.type
property supports two new values –messageDeletedEvent
anduserBannedEvent
– that correspond to the new properties described in the following bullet point. The definition of thesnippet.authorChannelId
property has also been updated to explain what the property value identifies for these new message types.The
liveChatMessage
resource contains the following new properties:Характеристики snippet.messageDeletedDetails
This object contains information about a message that was deleted by a chat moderator. The object is only present if the snippet.type
property value ismessageDeletedEvent
.snippet.userBannedDetails
This object contains information about a user who has been banned from participating in the chat. The object also contains information about the ban itself, namely whether the ban is permanent or temporary. If the ban is temporary, one of the object's properties specifies the duration of the ban.
This object is only present if thesnippet.type
property value isuserBannedEvent
.
-
New and updated errors
The API supports the following new errors:
Подробности ошибки liveBroadcasts.bind
The liveBroadcasts.bind
method returns a403
(Forbidden
) error to indicate that the user has sent too many requests within a given timeframe. The error reason isuserRequestsExceedRateLimit
.
TheliveBroadcasts.insert
andliveBroadcasts.update
methods already support the same error.liveStreams.insert
The liveStreams.insert
method supports four new400
(Bad Request
) errors that identify an invalid property value in theliveStream
resource that the request tried to insert. The following list identifies the error reasons and the properties with which they are associated:-
invalidFormat
:cdn.format
-
invalidFrameRate
:cdn.frameRate
-
invalidIngestionType
:cdn.ingestionType
-
invalidResolution
:cdn.resolution
liveStreams.insert
The liveStreams.insert
method supports two new400
(Bad Request
) errors, each of which indicates that a required value is not present in theliveStream
resource that the request tried to insert. The following list identifies the error reasons and the properties with which they are associated:-
frameRateRequired
:cdn.frameRate
-
resolutionRequired
:cdn.resolution
liveStream
resource, you must specify a value for either thecdn.format
property or for thecdn.frameRate
andcdn.resolution
properties.- The API returns a
formatRequired
error if you do not specify a value for any of the three properties. - The API returns a
frameRateRequired
error if you specify a value forcdn.resolution
but notcdn.frameRate
. - The API returns a
resolutionRequired
error if you specify a value forcdn.frameRate
but notcdn.resolution
.
liveStreams.update
The liveStreams.update
method returns a403
(Forbidden
) error if the request tries to modify the value of any of the following non-mutable properties:-
cdn.format
-
cdn.frameRate
-
cdn.ingestionType
-
cdn.resolution
reason
in the error response isliveStreamModificationNotAllowed
.-
18 декабря 2015 г.
European Union (EU) laws require that certain disclosures must be given to and consents obtained from end users in the EU. Therefore, for end users in the European Union, you must comply with the EU User Consent Policy . We have added a notice of this requirement in our YouTube API Terms of Service .
December 17, 2015
This update contains the following changes:
New resources and methods
The API supports several new resources to support chat functionality for live broadcasts. YouTube supports live chat functionality during active live broadcasts, and these resources and their methods support retrieval of chat messages as well as administrative functions for the chat.
Ресурсы liveChatMessage
This resource represents a message in a YouTube live chat. YouTube supports several types of messages, including text messages and Fan Funding events. Some message types identify a particular phase of the chat, such as the beginning of a sponsors-only period or the end of the chat. The API supports methods to list, insert, and delete live chat messages. liveChatModerators
This resource identifies a chat moderator. Moderators can perform some administrative functions, such as banning users from the chat or removing messages. The API supports methods to list, insert, and delete live chat moderators. liveChatBans
This resource identifies a user who is banned from posting messages to a particular live chat. Bans can be temporary or permanent. The API supports methods to insert and delete live chat bans. fanFundingEvents
This resource represents a Fan Funding event on a YouTube channel. Fan Funding provides a way for viewers to voluntarily support YouTube Creators with one-time monetary support.
The API'sfanFundingEvents.list
method lists a channel's Fan Funding events. Fan Funding events that are initiated through a live chat during a live broadcast owned by the channel also trigger afanFundingEvent
message to the broadcast's live chat.
Learn more about Fan Funding in the YouTube Help Center .sponsors
The sponsor
resource identifies a sponsor of a YouTube channel. A sponsor pays a monthly fee to a channel. A badge shows up next to the sponsor's messages in the channel's live chats and sponsors can also participate in live chats exclusively for the channel's sponsors, if those occur.
The API'ssponsors.list
method lists a channel's sponsors. When users sign up to sponsor a channel during a live broadcast owned by that channel, the API also adds anewSponsorEvent
message to the broadcast's live chat.Learn more about sponsorships in the YouTube Help Center .
Updates to existing resources and methods
The
liveBroadcast
resource contains the following new properties:Характеристики snippet.liveChatId
The ID for the broadcast's YouTube live chat. With this ID, you can use the liveChatMessage
resource's methods to retrieve, insert, or delete chat messages. You can also add or remove chat moderators, ban users from participating in live chats, or remove existing bans.contentDetails.closedCaptionsType
Note: This property replaces the contentDetails.enableClosedCaptions
property.
This property indicates whether closed captioning is enabled for your broadcast and, if so, what type of closed captions you are providing:-
closedCaptionsDisabled
: Closed captions are disabled for the live broadcast. -
closedCaptionsHttpPost
: You will send captions, via HTTP POST, to an ingestion URL associated with your live stream. -
closedCaptionsEmbedded
: Captions will be encoded in the video stream using EIA-608 and/or CEA-708 formats.
contentDetails.enableClosedCaptions
This property has been deprecated as of December 17, 2015. Use the contentDetails.closedCaptionsType
property instead. For API clients that are already using this property:- Setting the property value to
true
is equivalent to setting thecontentDetails.closedCaptionsType
property toclosedCaptionsHttpPost
. - Setting the property value to
false
is equivalent to setting thecontentDetails.closedCaptionsType
property toclosedCaptionsDisabled
.
-
The
liveBroadcasts.list
method's newbroadcastType
parameter lets you filter an API response to include event broadcasts, persistent broadcasts, or all broadcasts.A persistent broadcast is one that always exists and is not tied to a particular event. Specifically, a channel's default broadcast is a persistent broadcast, and it is accessible via the Live Dashboard in the YouTube Creator Studio. The channel's other broadcasts are event broadcasts.
The
liveStream
resource'sstatus.healthStatus.configurationIssues[].type
field reports the following new health status errors:Ошибки audioTooManyChannels
The audio has more than two channels, but only one (mono) or two (stereo) channels are supported. Please correct the number of audio channels. frameRateHigh
The current framerate is too high. Please set the framerate to %(framerate)s
fps or less.The publication date of the previous documentation update was corrected.
New and updated errors
In addition to errors defined for the new resources listed above, the API supports the following new errors:
Подробности ошибки liveBroadcasts.update
HTTP Response Code forbidden (403)
Причина closedCaptionsTypeModificationNotAllowed
Описание The contentDetails.closedCaptionsType
value can only be modified when the broadcast is in thecreated
orready
status.liveBroadcasts.update
HTTP Response Code invalidValue (400)
Причина invalidEnableClosedCaptions
Описание In the liveBroadcast resource , the value of the contentDetails.enableClosedCaptions
property is incompatible with the value of thecontentDetails.closedCaptionType
setting. Modify the resource to only include one of the two properties, and then resubmit the request.
August 19, 2015
This update contains the following changes:
New resources and methods
Note: Documentation for the
liveChat
resource and its methods is confidential and only visible to select YouTube partners.The new
liveChat
resource contains a comment posted during a live broadcast on YouTube. The API supports two methods for this resource:Методы liveChats.list
List live chat messages for a broadcast. liveChats.insert
Create a new chat message. Live chat messages can only be retrieved and posted while a broadcast is live.
Updates to existing resources and methods
The
liveStream
resource contains the following new properties:Характеристики snippet.isDefaultStream
Indicates whether this stream is the default stream for the channel. A channel's default stream exists indefinitely, does not have a start or end time associated with it, and cannot be deleted. See the property's definition for more information about how default streams work. status.healthStatus
This object contains information that could be used to identify, diagnose and resolve streaming problems. The object contains a number of child properties to help you evaluate the health of a live video stream.
In particular, thestatus.healthStatus.configurationIssues[]
object lists issues affecting a video stream. A new document, Configuration Issues for LiveStream Resources , lists all of the issues that the API reports.contentDetails.isReusable
Indicates whether the stream is reusable, which means that it can be bound to multiple broadcasts. It is common for broadcasters to reuse the same stream for many different broadcasts if those broadcasts occur at different times. The
liveBroadcast
resource contains the following new properties:Характеристики snippet.isDefaultBroadcast
Indicates whether this broadcast is the default broadcast for the channel. When a YouTube channel is enabled for live streaming, YouTube creates a default stream and a default broadcast for the channel. The stream defines how the channel owner sends live video to YouTube, and the broadcast is how viewers can see the default stream. See the property's definition for more information about how default broadcasts work. contentDetails.enableLowLatency
Indicates whether this broadcast should be encoded for low-latency streaming. A low-latency stream can reduce the amount of time it takes for video to be visible to users watching a broadcast, though it can also impact the resolution for viewers of the stream. statistics.totalChatCount
The total number of live chat messages associated with the broadcast. The property and its value are present if the broadcast is visible to the user and has the live chat feature enabled. Note that this property will not specify a value after the broadcast ends. So, this property would not identify the number of chat messages for an archived video of a completed live broadcast.
New and updated errors
In addition to errors defined for the new
liveChat
resource, the API supports the following new error:Подробности ошибки liveStreams.update
HTTP Response Code forbidden (403)
Причина liveStreamModificationNotAllowed
Описание The API does not allow you to change a reusable stream to be non-reusable, or vice versa. For more information, see Understanding Broadcasts and Streams
21 мая 2015 года
This update contains the following changes:
YouTube now supports live video streaming at 60 frames per second (fps), which means smoother playback for gaming and other fast-action videos. When you start a live stream on YouTube at 60fps, YouTube also makes the stream available in 30fps on devices where high-frame-rate viewing is not yet available.
The
liveStream
resource'scdn.format
property supports two new values for this feature:720p_hfr
and1080p_hfr
.See the YouTube Creators Blog for more information about this feature.
21 августа 2014 г.
This update contains the following changes:
The definition of the
liveBroadcasts.control
method'swalltime
parameter has been updated to note that the property value is specified in ISO 8601 format (YYYY-MM-DDThh:mm:ss.sssZ
).The API now supports the following errors:
Тип ошибки Error detail Описание insufficientPermissions
liveStreamingNotEnabled
All methods for the liveBroadcast
andliveStream
resources return this error if the user that authorized the API request has not been enabled to stream live video on YouTube. Details explaining why the user cannot stream live video may be available in the user's channel settings at https://www.youtube.com/features .rateLimitExceeded
userRequestsExceedRateLimit
The liveBroadcasts.insert
andliveStreams.insert
methods both return this error to indicate that the user has sent too many requests within a given timeframe.
2 мая 2014 года
This update contains the following changes:
The descriptions of the
liveStream
resource and of theliveBroadcasts.bind
method have been updated to note that a broadcast can only be bound to one video stream, but a video stream can be bound to more than one broadcast. This change is solely a correction to the documentation; the underlying API functionality has not changed.The
liveBroadcast
resource'scontentDetails.monitorStream.enableMonitorStream
property has been updated to explain that if the property's value istrue
, then you must transition your broadcast to thetesting
state before you can transition it to thelive
state. (If the property's value isfalse
, your broadcast cannot have atesting
stage, so you can transition the broadcast directly to thelive
state.The
liveCuepoint
resource'ssettings.offsetTimeMs
property has been updated to note that you should not specify a value for the property if your broadcast does not have a monitor stream.All of the methods for the
liveBroadcast
andliveStream
resources now support theonBehalfOfContentOwner
andonBehalfOfContentOwnerChannel
parameters. These parameters allow you to use the same authorization credentials to complete API requests for different channels associated with the same content owner.The
liveCuepoints.insert
method's documentation has been updated to note that you can set a value for thesettings.walltime
property when calling that method.The error documentation now specifies the HTTP response code for each error type.
The API now supports the following error:
Тип ошибки Error detail Описание insufficientPermissions
livePermissionBlocked
The liveBroadcasts.insert
,liveBroadcasts.transition
, andliveStreams.insert
methods return this error if the user that authorized the request is unable to stream live video on YouTube. Details explaining why the user cannot stream live video may be available in the user's channel settings at https://www.youtube.com/features .The
liveBroadcasts.insert
method'sinvalidScheduledStartTime
error has been updated to clarify that the scheduled start time must be close enough to the current date that a broadcast could be reliably scheduled at that time.
December 13, 2013
This update contains the following changes:
The
liveBroadcast
resource's newstatus.recordingStatus
property identifies the broadcast's current status.The
liveBroadcast
resource's newcontentDetails.enableClosedCaptions
property indicates whether closed captions can be ingested for the broadcast. The property value can be set when you insert or update a broadcast, but it cannot be updated once the broadcast is in thetesting
orlive
state. If you set this property totrue
, then theliveStream
resource that is bound to the broadcast will specify the ingestion URL to use for the broadcast's closed captions.The
liveBroadcast
resource'ssnippet.scheduledEndTime
property now supports broadcasts that are scheduled to continue indefinitely. With this change, the property is no longer required inliveBroadcasts.insert
andliveBroadcasts.update
requests.
If you retrieve aliveBroadcast
resource that does not specify a value for this property, then the broadcast is scheduled to continue indefinitely. Similarly, if you call theliveBroadcasts.insert
orliveBroadcasts.update
method and do not specify a value for this property, the broadcast will be scheduled to continue indefinitely.The
liveBroadcast
resource'scontentDetails.recordFromStart
property, which already had a default value oftrue
, can now only be set tofalse
if the broadcasting channel is allowed to disable recordings for live broadcasts.If your channel does not have permission to disable recordings, and you attempt to insert a broadcast with the
recordFromStart
property set tofalse
, the API will return aForbidden
error. In addition, if your channel does not have that permission and you attempt to update a broadcast to set therecordFromStart
property tofalse
, the API will return amodificationNotAllowed
error.The
liveBroadcast
resource no longer contains anenableArchive
property, which had been mentioned in the descriptions of thecontentDetails.enableDvr
andcontentDetails.enableEmbed
properties.The list of valid values for the
liveBroadcast
resource'sstatus.lifeCycleStatus
property has been updated to include a description of each status.The
liveCuepoint
resource's newsettings.walltime
property specifies the date and time at which the cuepoint should be inserted. The API returns an error if a request tries to insert a cuepoint that specifies a value for this property and for thesettings.offsetTimeMs
property.The new
contentDetails
object in aliveStream
resource contains information about the stream. Currently, the object's only property iscontentDetails.closedCaptionsIngestionUrl
, which specifies the ingestion URL for closed captions associated with the video stream.The list of valid values for the
liveStream
resource'sstatus.streamStatus
property has been updated to include a description of each status.The
liveBroadcasts.control
method's newwalltime
parameter lets you specify the date and time when a slate change will occur. The API returns an error if a request specifies a value for this parameter and for theoffsetTimeMs
parameter.In the API response to a
liveBroadcasts.list
request, the value of thekind
property has changed fromyoutube#liveBroadcastList
toyoutube#liveBroadcastListResponse
.In the API response to a
liveStreams.list
request, the value of thekind
property has changed fromyoutube#liveStreamList
toyoutube#liveStreamListResponse
.The
eventId
property has been deprecated from both theliveBroadcastListResponse
and theliveStreamListResponse
.The API supports the following new errors:
Тип ошибки Error detail Описание invalidValue
conflictingTimeFields
The liveBroadcasts.control
method returns this error if your request specifies values for theoffsetTimeMs
andwalltime
parameters. A request can either omit both parameters or specify a value for one of the two parameters.invalidValue
invalidWalltime
The liveBroadcasts.control
method returns this error if thewalltime
parameter's value is invalid.forbidden
enableClosedCaptionsModificationNotAllowed
The liveBroadcasts.update
method returns this error if you attempt to update thecontentDetails.enableClosedCaptions
value and the broadcast's status is notcreated
orready
.invalidValue
conflictingTimeFields
The liveCuepoints.insert
method returns this error if your request specifies values for thesettings.offsetTimeMs
andsettings.walltime
properties. A request can either omit both properties or specify a value for one of the two properties.In addition, the
liveStreams.update
method no longer supports acdnRequired
error similar to the one that theliveStreams.insert
method supports.
May 10, 2013
This update contains the following changes:
YouTube no longer identifies experimental API features and services. Instead, we now provide a list of YouTube APIs that are subject to the deprecation policy .
2 мая 2013 г.
This update contains the following changes:
The new
liveBroadcasts.control
method enables you to toggle the display settings for a slate that displays in the broadcast stream for a broadcast that is already in progress. If your broadcast stream is delayed, you can also use this method to specify a time offset when the requested slate change will occur.The definitions of the following properties have been updated to explain that the property values must be set if you update a
liveBroadcast
resource'scontentDetails
part:The
liveStream
resource'sstatus.streamStatus
no longer supports the valuedeleted
as a possible stream status.The information that the API returns for many error messages has been revised to better explain why particular errors occurred. The API also supports several new errors.
27 марта 2013 года
This update contains the following changes:
The following properties have changed in the
liveBroadcast
resource:- The
startWithSlateCuepoint
property has been renamed tostartWithSlate
. - The
enableArchive
property has been renamed torecordFromStart
. - The
slateSettings
object has been deprecated and removed from the documentation. Error messages related to theslateSettings
object or its properties have also been removed. Finally, the "Displaying Slates" section of the Getting started guide has been removed.
- The
The API no longer supports the ability to insert in-stream slates using the
liveCuepoints.insert
method. The following documents have been updated to reflect this change:The index page , Getting started guide, and Life of a broadcast tutorial no longer mention this functionality.
The
liveCuepoint
resource'ssettings.cueType
property no longer supportsslate
as a property value. (The only supported value isad
.The
liveCuepoint
resource'ssettings.eventState
property has been deprecated and removed from the documentation.
18 марта 2013 года
This update contains the following changes:
All of the API's error messages have been updated to more clearly explain possible errors and, when possible, offer guidance about how to fix them.
The API may now return several new errors. The list below identifies the error and the API method that might return that error:
-
liveBroadcasts.insert
– A broadcast's scheduled end time must be after its scheduled start time. -
liveBroadcasts.insert
– The broadcast specifies an invalid privacy status. -
liveBroadcasts.update
– The resource does not contain or does not set a value for thecontentDetails.enableArchive
property. -
liveBroadcasts.update
– The resource does not contain or does not set a value for thecontentDetails.enableContentEncryption
property. -
liveBroadcasts.update
– The resource does not contain or does not set a value for thecontentDetails.enableDvr
property. -
liveStreams.insert
– The snippet title must be between 1 and 128 characters long. -
liveStreams.update
– The resource does not contain or does not set a value for thesnippet.title
property.
-
The
liveStream
resource documentation has been updated to reflect that multicast and WebM are not supported ingestion methods as previously indicated. The list of formats for thecdn.format
property has been updated accordingly, and thecdn.multicastIngestionInfo
object and its child properties have been removed from the resource's documentation. In addition,http
has been removed from the list of supportedcdn.ingestionType
values.