На этой странице перечислены изменения API YouTube Live Streaming и обновления документации. Подпишитесь на этот журнал изменений .
14 июля 2025 г.
Описание метода liveChatMessages.streamList было обновлено с целью предоставления рекомендаций по использованию API streamList.
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и его дочерние элементы содержат информацию о событии «Подарка членства получено».
15 сентября 2021 г.
Это обновление содержит следующие изменения:
Свойство
snippet.typeтеперь поддерживает два новых значения:-
newSponsorEvent -
memberMilestoneChatEvent
-
Новое свойство
snippet.memberMilestoneChatDetailsресурсаliveChatMessageи его дочерние элементы содержат информацию о событии «Чат участника Milestone». Аналогично, новое свойство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 . Подробнее о новом ресурсе см. в истории изменений YouTube Data API .
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. - Свойство
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». Пример см. в документации по методу
liveBroadcasts.list. На страницах с описанием методов API теперь есть два новых элемента:Виджет «Обозреватель API» позволяет выбирать области авторизации, вводить примеры значений параметров и свойств, а затем отправлять реальные запросы API и просматривать реальные ответы API. Виджет также предлагает полноэкранный режим просмотра полных примеров кода, которые динамически обновляются в соответствии с указанными вами областями и значениями.
В разделе « Распространённые варианты использования» описаны один или несколько распространённых вариантов использования метода, описанного на странице. Например, вы можете вызвать метод
liveBroadcasts.listдля получения данных о конкретной трансляции или для получения данных о трансляциях текущего пользователя.Вы можете использовать ссылки в этом разделе, чтобы заполнить API Explorer примерами значений для вашего варианта использования или открыть полноэкранный API Explorer с уже заполненными значениями. Эти изменения направлены на то, чтобы вам было проще просматривать примеры кода, непосредственно применимые к варианту использования, который вы пытаетесь реализовать в своём приложении.
В настоящее время поддерживаются примеры кода для Java, JavaScript, PHP, Python и curl.
Страница примеров кода также имеет новый пользовательский интерфейс, предлагающий все описанные выше функции. С помощью этого инструмента вы можете изучать варианты использования различных методов, загружать значения в API Explorer и открывать API Explorer на весь экран для просмотра примеров кода на Java, JavaScript, PHP и Python.
В связи с этим изменением были удалены страницы, на которых ранее перечислялись доступные примеры кода для Java, PHP и Python.
25 февраля 2019 г.
Документация ресурсов liveChatMessage и superChatEvent обновлена с учётом того, что оба ресурса теперь могут содержать информацию о суперстикерах. Суперстикеры — это тип сообщения в суперчате, отображающий изображение. Как и другие сообщения в суперчате, сообщение с суперстикером приобретается поклонником во время прямой трансляции на YouTube.
- В ресурсе
liveChatMessageсвойствоsnippet.typeтеперь имеет значениеsuperStickerEvent, что указывает на то, что ресурс содержит информацию о суперстикере. В этом случае ресурс также содержит объектsnippet.superStickerDetails, содержащий дополнительную информацию о суперстикере. - В ресурсе
superChatEventлогический объектsnippet.isSuperStickerEventуказывает, является ли сообщение Super Chat также суперстикером. Если да, то объект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представляет собой сообщение SuperChat, приобретённое фанатом во время прямой трансляции на YouTube. В прямой трансляции чата на YouTube сообщения SuperChat выделяются среди других сообщений двумя способами:- Суперчаты выделены цветом.
- Суперчаты остаются закрепленными в тикере в течение определенного периода времени.
Цвет суперчата, время его закрепления в тикере и максимальная длина сообщения определяются суммой покупки. Подробнее о суперчатах можно узнать в Справочном центре YouTube .
API поддерживает метод для вывода списка событий Super Chat для прямых трансляций канала за последние 30 дней. Этот метод также возвращает данные о событиях Fan Funding (
fanFundingEvents) из последней прямой трансляции канала.
Обновления существующих ресурсов и методов
Свойство
snippet.typeтеперь поддерживает значениеsuperChatEvent, которое указывает, что ресурс описывает Суперчат.Кроме того, новое свойство
snippet.superChatDetailsресурсаliveChatMessageи его дочерние элементы содержат информацию о событии Super Chat.Свойство
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 прекратил поддержку функции «Пожертвования от поклонников», а API «Пожертвования от поклонников» будет отключен 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 г.
Это обновление содержит следующие изменения:
Обновления существующих ресурсов и методов
- обновления ресурсов
liveStreamYouTube теперь поддерживает трансляции с разрешением 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. Fan Funding позволяет зрителям добровольно поддержать авторов YouTube единовременной денежной помощью.
Метод APIfanFundingEvents.listвыводит список событий сбора средств фанатами на канале. События сбора средств фанатами, инициированные через чат во время прямой трансляции, принадлежащей каналу, также запускают отправку сообщенияfanFundingEventв чат трансляции.
Дополнительную информацию о фан-финансировании можно найти в Справочном центре YouTube .sponsorsРесурс sponsorопределяет спонсора канала на YouTube. Спонсор ежемесячно платит каналу. Значок спонсора отображается рядом с сообщениями в чатах канала, и спонсоры также могут участвовать в эксклюзивных чатах, если таковые проводятся.
Метод APIsponsors.listвыводит список спонсоров канала. Когда пользователи подписываются на спонсирование канала во время прямой трансляции, принадлежащей этому каналу, 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
liveStreamstatus.healthStatus.configurationIssues[].typeФилд сообщает о следующих новых ошибках состояния здоровья:Ошибки audioTooManyChannelsАудио имеет более двух каналов, но поддерживаются только один (моно) или два (стерео) канала. Пожалуйста, исправьте количество аудиоканалов. frameRateHighТекущая частота кадров слишком высока. Пожалуйста, установите кадрину на %(framerate)sFPS или меньше.Дата публикации предыдущей обновления документации была исправлена.
Новые и обновленные ошибки
В дополнение к ошибкам, определенным для новых ресурсов, перечисленных выше, API поддерживает следующие новые ошибки:
Подробности ошибки liveBroadcasts.updateHttp -код ответа forbidden (403)Причина closedCaptionsTypeModificationNotAllowedОписание Значение contentDetails.closedCaptionsTypeможет быть изменено только тогда, когда трансляция находится в статусеcreatedилиready.liveBroadcasts.updateHttp -код ответа 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.updateHttp -код ответа 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.controlwalltimeбыло обновлено, чтобы отметить, что значение свойства указано в формате ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ).API теперь поддерживает следующие ошибки:
Тип ошибки Деталь ошибки Описание insufficientPermissionsliveStreamingNotEnabledВсе методы для ресурсов liveBroadcastиliveStreamвозвращают эту ошибку, если пользователь, который разрешил запрос API, не был включен для потокового видео на YouTube. Подробная информация, объясняющая, почему пользователь не может транслировать живое видео, может быть доступно в настройках канала пользователя по адресу https://www.youtube.com/features .rateLimitExceededuserRequestsExceedRateLimitliveBroadcasts.insertиliveStreams.insertMethods возвращают эту ошибку, чтобы указать, что пользователь отправил слишком много запросов в течение определенного периода времени.
2 мая 2014 г.
Это обновление содержит следующие изменения:
Описания ресурса
liveStreamи методаliveBroadcasts.bindбыли обновлены, чтобы отметить, что трансляция может быть связана только с одним видеопотоком, но видеопоток может быть связан с более чем одной трансляцией. Это изменение является исключительно коррекцией к документации; Основная функция API не изменилась.contentDetails.monitorStream.enableMonitorStream.liveBroadcast. (Если стоимость свойстваtruefalseваша трансляция не может иметь этапаtesting, поэтому вы можетеtestingтрансляцию непосредственно вlivelive.settings.offsetTimeMsресурсаliveCuepoint.Все методы для ресурсов
liveBroadcastиliveStreamтеперь поддерживают параметрыonBehalfOfContentOwnerиonBehalfOfContentOwnerChannel. Эти параметры позволяют вам использовать те же учетные данные авторизации для выполнения запросов API для различных каналов, связанных с одним и тем же владельцем контента.Документация метода
liveCuepoints.insertбыла обновлена, чтобы отметить, что вы можете установить значение для свойстваsettings.walltimeпри вызове этого метода.В документации ошибок теперь указывается код ответа HTTP для каждого типа ошибки.
API теперь поддерживает следующую ошибку:
Тип ошибки Деталь ошибки Описание insufficientPermissionslivePermissionBlockedliveBroadcasts.insert,liveBroadcasts.transitionиliveStreams.insertМетоды возвращают эту ошибку, если пользователь, который авторизовал запрос, не может транслировать видео на YouTube. Подробная информация, объясняющая, почему пользователь не может транслировать живое видео, может быть доступно в настройках канала пользователя по адресу https://www.youtube.com/features .Ошибка
liveBroadcasts.insertMethodinvalidScheduledStartTimeбыла обновлена, чтобы уточнить, что запланированное время начала должно быть достаточно близко к текущей дате, что трансляция может быть надежно запланирована в то время.
13 декабря 2013 г.
Это обновление содержит следующие изменения:
Новый
status.recordingStatusресурсаliveBroadcast.Новый
contentDetails.enableClosedCaptions's Property stocteD.DableClosedCaptions отliveBroadcastуказывает, можно ли проглотить закрытые подписи для трансляции. Значение свойства может быть установлено при внедрении или обновлении трансляции, но его нельзя обновить, как только трансляция будет вtestingилиliveэфире. Если вы установите это свойство вtrue, то ресурсliveStream, который связан с трансляцией, будет указывать URL -адрес приема для использования для закрытых подписей трансляции.snippet.scheduledEndTimeотliveBroadcastResource.schedudEndtime теперь поддерживает трансляции, которые должны продолжаться бесконечно. С этим изменением собственность больше не требуется вliveBroadcasts.insertиliveBroadcasts.updateзапросы.
Если вы получаете ресурсliveBroadcast, который не указывает значение для этого свойства, то трансляция планирует продолжаться бесконечно. Аналогичным образом, если вы позвоните вliveBroadcasts.insertилиliveBroadcasts.updateи не указываете значение для этого имущества, трансляция будет запланирован на неопределенный срок.liveBroadcast'scontentDetails.recordFromStarttrueSproports Resource ResourcastfalseЕсли ваш канал не имеет разрешения на отключение записей, и вы пытаетесь вставить трансляцию со свойством
recordFromStartустановленного вfalse, API вернетForbiddenошибку. Кроме того, если ваш канал не имеет такого разрешения, и вы пытаетесь обновить трансляцию, чтобы установить свойствоrecordFromStartвfalse, API вернетmodificationNotAllowed.Ресурс
liveBroadcastбольше не содержитenableArchiveсвойство, которое было упомянуто в описанияхcontentDetails.enableDvrиcontentDetails.enableEmbedProperties.Список действительных значений для
status.lifeCycleStatusResourceliveBroadcast.Новые
settings.walltimeресурсаliveCuepointAPI возвращает ошибку, если запрос пытается вставить Cuepoint, которая указывает значение для этого свойства, и дляsettings.offsetTimeMs.Новый объект
contentDetailsв ресурсеliveStreamсодержит информацию о потоке. В настоящее время единственным свойством объекта являетсяcontentDetails.closedCaptionsIngestionUrl, который определяет URL -адрес приема для закрытых подписей, связанных с видеопотоком.Список действительных значений для
status.streamStatusResourceliveStream.Новый параметр
walltimeметодаliveBroadcasts.controlпозволяет указать дату и время, когда произойдет изменение сланца. API возвращает ошибку, если запрос определяет значение для этого параметра и для параметраoffsetTimeMs.В ответе API на запрос
liveBroadcasts.listстоимость имуществаkindсобственности изменилась сyoutube#liveBroadcastListнаyoutube#liveBroadcastListResponse.kindyoutube#liveStreamListAPIyoutube#liveStreamListResponseзапросliveStreams.list.Собственность
eventIdбыла устарел как отliveBroadcastListResponse, так иliveStreamListResponse.API поддерживает следующие новые ошибки:
Тип ошибки Деталь ошибки Описание invalidValueconflictingTimeFieldsМетод liveBroadcasts.controlвозвращает эту ошибку, если ваш запрос определяет значения дляoffsetTimeMsи параметровwalltime. Запрос может либо опустить оба параметра, либо указать значение для одного из двух параметров.invalidValueinvalidWalltimeМетод liveBroadcasts.controlвозвращает эту ошибку, если значение параметраwalltimeневерно.forbiddenenableClosedCaptionsModificationNotAllowedМетод liveBroadcasts.updateвозвращает эту ошибку, если вы попытаетесь обновить значениеcontentDetails.enableClosedCaptions, а статус трансляции неcreatedили неready.invalidValueconflictingTimeFieldsМетод liveCuepoints.insertвозвращает эту ошибку, если ваш запрос определяет значения дляsettings.offsetTimeMsиsettings.walltime. Запрос может либо опустить как свойства, либо указать значение для одного из двух свойств.Кроме того, метод
liveStreams.updateбольше не поддерживает ошибкуcdnRequired, аналогичную той, которую поддерживает методliveStreams.insert.
10 мая 2013 г.
Это обновление содержит следующие изменения:
YouTube больше не идентифицирует экспериментальные функции и услуги API. Вместо этого мы теперь предоставляем список API YouTube, которые подчиняются политике детектирования .
2 мая 2013 г.
Это обновление содержит следующие изменения:
Новый метод
liveBroadcasts.controlпозволяет переключать настройки дисплея для сланца, который отображается в потоке вещания для трансляции, которая уже находится в процессе. Если ваш трансляционный поток задерживается, вы также можете использовать этот метод для указания смещения времени, когда произойдет запрошенное изменение сланца.Определения следующих свойств были обновлены, чтобы объяснить, что значения свойства должны быть установлены, если вы обновляете часть
contentDetailsResource ResourceliveBroadcast:status.streamStatusресурсаliveStreamdeletedИнформация, которую API возвращает для многих сообщений об ошибках, была пересмотрена, чтобы лучше объяснить, почему возникли конкретные ошибки. API также поддерживает несколько новых ошибок.
27 марта 2013 г.
Это обновление содержит следующие изменения:
Следующие свойства изменились в ресурсе
liveBroadcast:- Свойство
startWithSlateCuepointбыла переименована вstartWithSlate. - Собственность
enableArchiveбыла переименована вrecordFromStart. - Объект
slateSettingsбыл устарел и удален из документации. Сообщения об ошибках, связанные с объектомslateSettingsили его свойствами, также были удалены. Наконец, раздел «отображения сланцев» в руководстве по началу работы была удалена.
- Свойство
API больше не поддерживает способность вставлять встроенные сланцы с использованием метода
liveCuepoints.insert. Следующие документы были обновлены, чтобы отразить это изменение:Страница индекса , руководство по началу работы и жизнь вещательного учебника больше не упоминает эту функциональность.
settings.cueTypeресурсаliveCuepoint. (Единственное поддерживаемое значение -slateadsettings.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.