概要
Cast Web Receiver SDK は、いくつかの web ストリーミング プロトコルを使用したコンテンツの再生をサポートしています。使用するプロトコルに応じて、SDK はコンテンツの再生を処理するプレーヤーを読み込みます。HLS コンテンツの場合は、メディア プレーヤー ライブラリ(MPL )が読み込まれます。DASH コンテンツの場合は、Shaka Player が読み込まれます。
今後、Cast SDK と Shaka Player のエンジニアリング チームは、Shaka Player での HLS コンテンツの再生のサポートを強化するために連携していきます。MPL は重要な更新を受け取らなくなります 。アプリケーションの HLS コンテンツの再生に Shaka Player を使用することをおすすめします。
Shaka Player のメリット
プレーヤーを変更すると、アプリケーションは次のメリットを得られます。
- 読み込み時間のエラーとレイテンシが改善され、ユーザーのストリーミング セッションがより安定 します。
- 最新の HLS 機能を引き続き採用 できます。
- Shaka Player はオープンソースであるため、プレーヤーとコンテンツの互換性に関する問題の根本原因分析がより明確 になります。
- オープンソース のプレーヤー コードベースにより、パートナーは 貢献できます。
- Shaka Player のリリース頻度は高く、Web Receiver SDK のリリースとは独立しているため、機能とバグ修正を本番環境に反映するまでの時間を大幅に短縮 できます。
- 再生環境をより細かく制御 できます。
shakaVersionAPI により提供されます。 - Google からの再生サポートが強化されます。エンジニアリング リソースを Shaka Player での HLS 再生に集中させることで、 ロードマップに示されているように
タイムライン
Web Receiver SDK は、HLS コンテンツの再生のデフォルト プレーヤーとして Shaka Player を使用するように移行します。移行プロセスをパートナーに案内するため、段階的に実施されます。
| フェーズ | 開始日 | 概要 |
|---|---|---|
| 1 | 2022 年 10 月 | Cast Web Receiver SDK に、Shaka Player で HLS コンテンツを再生するオプトイン API が導入 されました。 |
| 2 | 2026 年 5 月 18 日 | Cast Web Receiver SDK で、HLS コンテンツの再生のデフォルト プレーヤーが Shaka Player に変更 されました。 |
Web Receiver SDK のエンジニアリング チームはパフォーマンス重視のアプローチを採用しており、Shaka Player のパフォーマンスが MPL のベースライン パフォーマンスと同等になった場合にのみ、次のフェーズに進みます。これらの変更は、 cast-sdk-announcements Google グループで発表され、 このガイドで更新されます。
オプトイン
CAF バージョン 3.0.0105 以降では、HLS 再生に Shaka Player を使用するオプトイン のアプリケーション レベルの構成があります。このバージョンでは、読み込む Shaka Player バージョンのサポート対象範囲から選択する API も導入されています。これらのフラグは、
CastReceiverOptions クラスで
useShakaForHls プロパティと
shakaVersion プロパティを介して提供され、
the CastReceiverContext が開始されるときに評価されます。HLS に Shaka をオプトインするアプリケーションは、最新の HLS 改善を利用するために、Shaka Player バージョンを 4.15.35 以上に設定する必要があります。オプトインするには、次のコード スニペットを使用します。
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 は、タイムラインに従って、Shaka Player HLS コンテンツの再生のオプトアウト モデルに移行します。プロパティ
useShakaForHlsのデフォルト値
がfalseからtrueに変更されます。その時点で、アプリケーションはこのプロパティを false に手動で設定することで、HLS 再生に MPL を使用することを選択できます。CastReceiverContext が開始されると、Web Receiver SDK は Shaka Player ではなく MPL を読み込むように戻ります。オプトアウトの方法については、以下のサンプルをご覧ください。
const context = cast.framework.CastReceiverContext.getInstance();
let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = false;
context.start(castReceiverOptions);
問題を報告する
パートナー様には、HLS コンテンツの再生時に見つかった問題を報告することをおすすめします。前述のとおり、MPL は重要な更新を受け取らなくなります。MPL で問題が発生した場合は、ガイドのオプトイン セクションの手順に沿って、Shaka Player に切り替えることで問題が解決するかどうかを確認してください。プレーヤーを切り替えても問題が解決しない場合や、別の問題が発生した場合は、以下の手順に沿って対応してください。
shakaVersionを 別のブランチ バージョンに設定して、問題を解決してみてください。たとえば、4.15ブランチで問題が発生した場合は、別のブランチの最新リリースに設定してみてください。Shaka Player release notesで、最も関連性の高い更新を含む リリースを確認してください。shakaVersionAPI には、リファレンス ドキュメントに記載されているように、サポートされる最小バージョンと最大バージョンがあります。回帰が見られる場合は、Shaka Player 公開バグトラッカーで問題を報告してください。- プレーヤーの構成パラメータを変更してみてください。Shaka Player は
PlayerConfigurationオブジェクトを使用して構成できます。Web Receiver SDK はデフォルト値のセットを定義し、アプリケーションは この構成をshakaConfigプロパティを使用してPlaybackConfigオブジェクトで変更できます。これは、プレーヤー インスタンスが作成される読み込み時に評価されます。詳しくは、アプリケーションの構成と オプションをご覧ください。Web Receiver SDK で設定されたデフォルト値は、推奨値です。 - Shaka Player の 公開バグトラッカーまたは Cast の公開バグトラッカーで問題が報告されているかどうかを確認します。問題が説明されている場合は、バグにコメントを追加し、関連情報を追加してください。
- Shaka Player のデモサイトでコンテンツをテストします。コンテンツのデモサイトで問題が再現される場合は、Shaka Player プロジェクトでバグを報告してください。
- Cast の公開バグトラッカーでバグを報告してくださいCast エンドポイントで Shaka Player に固有の問題がある場合は、
よくある質問
プレーヤーを変更すると、多くの疑問が生じる可能性があります。移行プロセスをスムーズに進めるために、よくある質問とその回答を以下にまとめました。
Shaka Player に移行する必要がありますか?
HLS コンテンツを使用しているパートナー様には、できるだけ早く移行プロセスを開始することをおすすめします。これにより、アプリでユーザーに提供されるストリーミング エクスペリエンスがより安定します。その他のメリットについては、このガイドの Shaka Player メリット セクションをご覧ください。スムーズに移行できるように、パートナーは Shaka Player を使用してアプリが正しく動作していることを確認する必要があります。パートナーが Shaka Player でコンテンツが正しく再生されることを事前に確認しない場合、Web Receiver SDK が オプトアウト モデルに移行すると、一部のアプリで問題が発生する可能性があります。
プレーヤーを変更する際に必要な作業量はどの程度ですか?
パートナーは、テスト環境でアプリケーションとコンテンツをテストして、HLS と比較してユーザー エクスペリエンスが同等以上であることを確認する必要があります。 そのためには、パートナーは内部環境でこの機能をオプトインし、Shaka Player を使用してコンテンツを再生できることを徹底的にテストする必要があります。コンテンツのどの側面に重点を置くべきかについては、コンテンツの検証をご覧ください。検証が完了したら、パートナーは本番環境のアプリケーション環境にオプトイン フラグを追加して、Shaka Player のメリットを活用できるようにする必要があります。大まかに言うと、ソフトウェア開発の変更は最小限で済み、パートナーが正常に移行するための QA 要件がほとんどです。
アプリケーションでまもなく HLS を使用してコンテンツをストリーミングする予定です。どうすればよいですか?
新しい統合では、再生に Shaka Player を使用するようにオプトインする必要があります。アプリケーションは長期的にサポートが強化され、新しい HLS 機能とパフォーマンスの改善も活用できます。新しい統合で問題が発生した場合は、エンジニアリング チームが問題を解決するのに十分な時間を確保できるよう、できるだけ早くバグを報告してください。アプリケーションに厳しい期限がある場合は、バグレポートにその情報と影響を含めて、優先順位を付けられるようにしてください。エンジニアリング チームは、ユーザーを適切にサポートするためのソリューションの提供に取り組んでいます。
コンテンツまたはアプリが Shaka Player で動作しません。どうすればよいですか?
Shaka Player プロジェクトまたは Cast プロジェクトでバグを報告する必要があります (問題を報告するをご覧ください)。Cast SDK のエンジニアリング チームは、これらのトラッカーを積極的にモニタリングし、問題の解決に向けて協力します。 これらの問題が早く検出されるほど、修正をリリースするまでの時間を確保できます。
MPL は重要な更新を受け取らなくなります。具体的にどういう意味ですか?
これまで、MPL は重要な更新を通じて新しい HLS 機能を採用し、重大なバグを修正してきました。MPL が更新を受け取らなくなるため、新しい HLS 機能がプレーヤーに追加されることはありません。同様に、MPL での HLS 再生に関する報告された問題は MPL では修正されません。これらの問題は、再生に Shaka Player に切り替えることで解決する必要があります。問題が解決しない場合は、Shaka Player で発生した関連する問題についてバグを報告する必要があります。パートナーは MPL の使用を中止する必要があります。
コンテンツで Smooth Streaming プロトコルを使用しています。アプリケーションにどのような影響がありますか?
MPL バイナリは引き続きホストされ、レシーバー アプリケーションからアクセスできます。ただし、Smooth Streaming の仕様は 4 年以上更新されていないため、Smooth Streaming 関連の機能リクエストとバグ 修正はサポートされません。パフォーマンスの更新とコンテンツのサポートを引き続き受けられるように、コンテンツを移行して DASH または HLS ストリーミング プロトコルを使用することをおすすめします。
コンテンツで HLS プロトコルまたは Smooth Stream プロトコルを使用していません。アプリケーションにどのような影響がありますか?
コンテンツ ライブラリでこれらのストリーミング プロトコルのいずれも使用していない場合、移行による影響はありません。アプリケーションを変更する必要はありません。