LiveBroadcasts

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

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

Методы

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

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

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

Следующая JSON-структура демонстрирует формат ресурса liveBroadcasts :

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

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

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

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

Как работает широковещательная рассылка по умолчанию

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Допустимые значения для этого свойства:
  • normal
  • low
  • ultraLow
contentDetails. enableAutoStart boolean
Указывает, следует ли запускать эту трансляцию автоматически при начале потоковой передачи видео в рамках привязанного live stream .
contentDetails. enableAutoStop boolean
Указывает, следует ли автоматически прекращать трансляцию примерно через минуту после того, как владелец канала прекратит потоковую передачу видео в рамках привязанного видеопотока.
contentDetails. availabilityConfig object
Настройки доступности трансляции. Используются для установки доступности в определенном регионе или блокировки определенных регионов. Это необязательный параметр — если он не задан, его использование не будет применяться.
contentDetails.availabilityConfig. globalConfig object
Глобальная конфигурация доступности трансляции. Видео доступно во всех регионах, кроме тех, которые указаны в списке excludedRegionCodes .
contentDetails.availabilityConfig.globalConfig. excludedRegionCodes list (string)
Список регионов, где видео заблокировано.
contentDetails.availabilityConfig.globalConfig. interval object
Временной интервал по умолчанию, в течение которого видео доступно для всех незаблокированных регионов. Примечание: это свойство не поддерживается для предстоящих или текущих прямых трансляций.
contentDetails.availabilityConfig.globalConfig.interval. startTime datetime
Дата и время, когда видео становится доступным. Если не указано, видео уже доступно. Значение указывается в формате ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ).
contentDetails.availabilityConfig.globalConfig.interval. endTime datetime
Дата и время, когда видео перестает быть доступным. Если не указано, видео будет доступно навсегда. Указанные время начала и окончания не могут быть более чем на пять лет вперед. Значение указывается в формате ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ).
contentDetails.availabilityConfig. regionsConfig object
Региональные настройки доступности трансляции. Видео доступно только в указанных регионах.
contentDetails.availabilityConfig.regionsConfig. regionIntervals list (object)
Список регионов и временных интервалов, в которых доступно видео. Если регион указан несколько раз, используется объединение всех интервалов.
contentDetails.availabilityConfig.regionsConfig.regionIntervals. regionCode string
Регион, в котором доступно видео.
contentDetails.availabilityConfig.regionsConfig.regionIntervals. interval object
Временной интервал, в течение которого видео доступно для указанного региона. Примечание: Эта функция не поддерживается для предстоящих или текущих прямых трансляций.
contentDetails.availabilityConfig.regionsConfig.regionIntervals.interval. startTime datetime
Дата и время, когда видео станет доступно в указанном регионе. Если не указано, видео уже доступно. Значение указывается в формате ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ).
contentDetails.availabilityConfig.regionsConfig.regionIntervals.interval. endTime datetime
Дата и время, когда видео перестает быть доступным в указанном регионе. Если не указано, видео будет доступно навсегда. Указанные время начала и окончания не могут быть более чем на пять лет вперед. Значение указывается в формате ISO 8601 ( YYYY-MM-DDThh:mm:ss.sZ ).
statistics object
Объект statistics содержит статистические данные, относящиеся к прямой трансляции. Значения этих статистических данных могут изменяться во время трансляции и могут быть получены только в то время, когда трансляция идёт в прямом эфире.
statistics. totalChatCount unsigned long
Общее количество сообщений в чате, связанных с трансляцией. Это свойство и его значение присутствуют, если трансляция видна пользователю, функция чата включена и содержит хотя бы одно сообщение. Обратите внимание, что это свойство не будет указывать значение после завершения трансляции. Таким образом, это свойство не будет определять количество сообщений в чате для архивированного видео завершенной прямой трансляции.
monetizationDetails object
Объект monetizationDetails содержит информацию о деталях монетизации потока, например, включен ли автоматический рекламный генератор или задерживается ли вставка рекламы в середине видео.

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

Примечание:
  • Это значение определяет время между началом последовательных контрольных точек. То есть интервал измеряется не от конца одной контрольной точки до начала следующей.
  • Для обеспечения согласованности с настройками YouTube Studio это значение является кратным 6 минутам и находится в диапазоне от 6 до 30 минут. Любое целое число в запросе на обновление в этом диапазоне, хотя и допустимое, будет округлено в меньшую сторону до ближайшего кратного 6 минут.