HLS о миграции игрока Shaka

Обзор

Пакет SDK Cast Web Receiver поддерживает воспроизведение контента по нескольким протоколам веб-трансляций . В зависимости от используемого протокола SDK загружает плеер для управления воспроизведением контента. Для контента HLS загружается библиотека Media Player Library ( MPL ). Для контента DASH загружается Shaka Player .

В дальнейшем команды разработчиков Cast SDK и Shaka Player объединяют усилия для улучшения поддержки воспроизведения HLS-контента в Shaka Player. MPL больше не будет получать критические обновления . Мы рекомендуем вам включить использование Shaka Player для воспроизведения HLS-контента в вашем приложении.

Преимущества Shaka Player

При смене игроков приложения используют следующие преимущества:

  • Более надежные сеансы потоковой передачи для пользователей с уменьшением количества сбоев загрузки и задержек.
  • Продолжение внедрения новейших функций HLS.
  • Повышенная ясность в анализе первопричин проблем совместимости плеера и его содержимого благодаря открытому исходному коду Shaka Player.
  • База исходного кода плеера с открытым исходным кодом позволяет партнерам вносить свой вклад в проект Shaka Player.
  • Значительное сокращение времени на исправление функций и ошибок в процессе производства, поскольку ритмичность выпуска Shaka Player частая и независима от выпусков Web Receiver SDK.
  • Расширенный контроль над средой воспроизведения, обеспечиваемый API shakaVersion .
  • Расширенная поддержка воспроизведения со стороны Google с инженерными ресурсами, сосредоточенными на воспроизведении HLS на Shaka Player, как показано в дорожной карте .

Хронология

Web Receiver SDK перейдет на использование Shaka Player в качестве плеера по умолчанию для воспроизведения HLS-контента. Это будет происходить поэтапно, чтобы помочь партнерам пройти процесс миграции.

Фаза Дата начала Обзор
1 Октябрь 22 г. Cast Web Receiver SDK представляет API-интерфейсы для включения воспроизведения HLS-контента на Shaka Player.
2 Ноябрь 25 г. Cast Web Receiver SDK меняет плеер по умолчанию на Shaka Player для воспроизведения HLS-контента.

Команды разработчиков Web Receiver SDK используют подход, ориентированный на производительность, и перейдут к следующему этапу только после того, как производительность Shaka Player сравняется с базовым уровнем производительности MPL. Эти изменения будут объявлены в группе cast-sdk-announcements в Google и обновлены в этом руководстве.

Подписаться

Начиная с версии CAF 3.0.0105 , доступна настройка на уровне приложения для включения использования Shaka Player для воспроизведения HLS. В этой версии также представлен API для выбора поддерживаемых версий Shaka Player для загрузки. Эти флаги предоставляются в классе CastReceiverOptions через свойства useShakaForHls и shakaVersion и проверяются при запуске CastReceiverContext . Любое приложение, использующее Shaka для HLS, должно установить версию Shaka Player не ниже 4.15.12 , чтобы воспользоваться последними улучшениями HLS. Чтобы включить использование, следуйте приведенному ниже фрагменту кода:

const context = cast.framework.CastReceiverContext.getInstance();

let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = true;

context.start(castReceiverOptions);

Проверить содержание

Партнёрам следует проверить воспроизведение своего контента в Shaka Player, прежде чем использовать Shaka Player в своём производственном приложении. Мы рекомендуем протестировать каждый из перечисленных ниже вариантов вашего контента:

  • Типы трансляций: LIVE или VOD
  • Форматы контейнеров: TS, MP4 или элементарные потоки
  • Контент с разрывами или встроенной рекламой
  • Воспроизведение на следующих типах устройств: смарт-дисплеи, устройства Google Cast, устройства Android TV, телевизоры с Google Cast, смарт-колонки

Если вы обнаружите какие-либо ошибки или непредвиденное поведение, сообщите об ошибке . Убедившись в отсутствии критических сбоев воспроизведения контента, внесите изменения в рабочую среду.

Уклоняться

Web Receiver SDK перейдет на модель отказа от воспроизведения HLS-контента Shaka Player в соответствии с временной шкалой . Свойство useShakaForHls изменит свое значение по умолчанию с false на true . В этом случае приложения смогут выбрать использование MPL для воспроизведения HLS, вручную установив это свойство в false . При запуске CastReceiverContext Web Receiver SDK вернется к загрузке MPL вместо Shaka Player. См. пример ниже, чтобы узнать, как отказаться от загрузки:

const context = cast.framework.CastReceiverContext.getInstance();

let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = false;

context.start(castReceiverOptions);

Сообщить о проблемах

Мы призываем наших партнёров сообщать о любых проблемах, обнаруженных ими при воспроизведении контента HLS. Как уже упоминалось, MPL больше не будет получать критические обновления. Если возникнут какие-либо проблемы с MPL, следуйте инструкциям в разделе «Подписка» руководства, чтобы проверить, решит ли проблема переход на Shaka Player. Если проблема сохраняется или возникла другая проблема при переключении плеера, выполните следующие действия.

  1. Попробуйте установить версию shakaVersion в другой ветке, чтобы решить проблему. Например, если проблема наблюдается в ветке 4.15 , попробуйте установить версию в последней версии в другой ветке. Проверьте заметки о выпуске Shaka Player, чтобы найти выпуски с наиболее актуальными обновлениями. Обратите внимание, что API shakaVersion имеет минимальную и максимальную поддерживаемую версию, как указано в справочной документации. Если вы заметили регрессию, сообщите о проблеме в системе отслеживания проблем Shaka Player .
  2. Попробуйте изменить параметры конфигурации проигрывателя. Shaka Player настраивается через объект PlayerConfiguration . Web Receiver SDK определяет набор значений по умолчанию и позволяет приложениям изменять эту конфигурацию через свойство shakaConfig объекта PlaybackConfig . Это значение оценивается во время загрузки при создании экземпляра проигрывателя. Подробнее см. в разделе «Конфигурация и параметры приложения» . Значения по умолчанию, установленные Web Receiver SDK, являются рекомендуемыми.
  3. Проверьте, сообщалось ли об этой проблеме в системе отслеживания проблем Shaka Player или Cast . Оставьте комментарий к ошибке и добавьте любую важную информацию, если она также относится к вашей проблеме.
  4. Протестируйте свой контент на демо-сайте Shaka Player . Если вы обнаружите, что проблема воспроизводится на демо-сайте вашего контента, сообщите об ошибке в проект Shaka Player.
  5. Если у вас возникла проблема, уникальная для Shaka Player на конечных точках трансляции, сообщите об ошибке в Cast Issue Tracker .

Часто задаваемые вопросы

Смена игроков может вызвать множество вопросов. Ниже вы найдете ответы на самые распространённые вопросы, которые помогут вам в процессе миграции.

Стоит ли мне перейти на Shaka Player?

Мы рекомендуем нашим партнёрам, использующим HLS-контент, как можно скорее начать процесс миграции. В результате ваше приложение обеспечит пользователям более качественную потоковую передачу. Дополнительные преимущества описаны в разделе «Преимущества Shaka Player» данного руководства. Партнёрам следует убедиться, что их приложения корректно работают с Shaka Player, чтобы обеспечить плавный переход. Некоторые приложения могут оказаться под угрозой при переходе Web Receiver SDK на модель Opt-Out, если партнёры заранее не проверят корректность воспроизведения своего контента в Shaka Player.

Какой уровень усилий ожидается при замене игроков?

Партнёрам необходимо будет протестировать своё приложение и контент в тестовой среде, чтобы убедиться, что пользовательский опыт аналогичен или лучше по сравнению с HLS. Для этого партнёрам необходимо будет включить функцию во внутренней среде и тщательно проверить, воспроизводится ли их контент в Shaka Player. Подробнее о том, на каких аспектах контента следует сосредоточиться, читайте в разделе «Проверка контента ». После проверки партнёрам необходимо добавить флаг для включения в свою рабочую среду приложения, чтобы начать пользоваться преимуществами Shaka Player. Для успешной миграции нашим партнёрам потребуется внести минимальные изменения в разработку программного обеспечения и выполнить в основном требования отдела контроля качества.

Мое приложение скоро будет использовать HLS для потоковой передачи контента. Что мне делать?

Новые интеграции должны использовать Shaka Player для воспроизведения. Ваше приложение будет получать лучшую поддержку в долгосрочной перспективе, а также сможет использовать новые функции HLS и улучшенную производительность. Если в вашей новой интеграции возникли проблемы, сообщите об ошибке как можно скорее, чтобы дать команде разработчиков достаточно времени для их решения. Если у вашего приложения сжатые сроки, включите эту информацию в отчёт об ошибке, а также укажите степень её влияния, чтобы соответствующим образом расставить приоритеты. Наша команда разработчиков разработает решение для адекватной поддержки ваших пользователей.

Мой контент или приложение не работают с Shaka Player. Что делать?

Вам следует сообщить об ошибке либо в проект Shaka Player, либо в проект Cast (см. раздел «Сообщить об ошибках» ). Команда разработчиков Cast SDK активно отслеживает эти трекеры и будет работать с вами над решением любых возникших проблем. Чем раньше будут обнаружены проблемы, тем больше времени у них будет на исправление.

MPL больше не получает критических обновлений. Что именно это означает?

MPL традиционно внедрял новые функции HLS и исправлял серьёзные ошибки в критических обновлениях. Теперь, когда MPL больше не будет получать их, новые функции HLS не будут добавляться в плеер. Аналогично, любые выявленные проблемы с воспроизведением HLS в MPL не будут исправлены в MPL. Эти проблемы следует решить, перейдя на Shaka Player. Если проблемы сохраняются, необходимо отправить сообщение об ошибке с описанием соответствующих проблем в Shaka Player. Партнёрам следует отказаться от использования MPL.

Мой контент использует протокол Smooth Streaming. Как это влияет на мое приложение?

Двоичные файлы MPL по-прежнему будут размещены и доступны вашему приложению-приёмнику. Однако любые запросы на функции и исправления ошибок, связанные с Smooth Streaming, не будут поддерживаться, поскольку спецификация Smooth Streaming не обновлялась более четырёх лет. Мы рекомендуем перенести ваш контент на использование протокола потоковой передачи DASH или HLS, чтобы продолжать получать обновления производительности и поддержку вашего контента.

Мой контент не использует протоколы HLS или Smooth Stream. Как это влияет на мое приложение?

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