概要
Cast Web Receiver SDK は、複数のウェブ ストリーミング プロトコルを使用したコンテンツの再生をサポートしています。使用されるプロトコルに基づいて、SDK はコンテンツの再生を処理するプレーヤーを読み込みます。HLS コンテンツの場合、Media Player Library(MPL)が読み込まれます。DASH コンテンツの場合、Shaka Player が読み込まれます。
今後、Cast SDK と Shaka Player のエンジニアリング チームは、Shaka Player での HLS コンテンツの再生サポートを強化するために、取り組みを統合していきます。MPL で重要なアップデートが提供されなくなります。アプリの HLS コンテンツの再生に Shaka Player を使用することをおすすめします。
Shaka Player のメリット
プレーヤーを変更することで、アプリケーションは次のメリットを活用できます。
- ユーザー向けのより堅牢なストリーミング セッション。読み込み時間の失敗とレイテンシが改善されます。
- 最新の HLS 機能の継続的な採用。
- Shaka Player のオープンソースの性質により、プレーヤーとコンテンツの互換性に関する問題の根本原因分析の明確性が向上しました。
- オープンソース プレーヤーのコードベースにより、パートナーは Shaka Player プロジェクトに貢献できます。
- Shaka Player のリリース ケイデンスは頻繁で、Web Receiver SDK のリリースとは独立しているため、機能とバグの修正を本番環境に反映するまでの時間を大幅に短縮できます。
shakaVersion
API によって提供される再生環境のより詳細な制御。- ロードマップに記載されているように、Shaka Player での HLS 再生に重点を置いたエンジニアリング リソースにより、Google による再生サポートが強化されました。
タイムライン
Web Receiver SDK は、HLS コンテンツの再生に Shaka Player をデフォルトのプレーヤーとして使用するように移行します。移行プロセスをパートナーに案内するため、段階的なアプローチで実施されます。
フェーズ | 開始日 | 概要 |
---|---|---|
1 | 2022 年 10 月 | Cast Web Receiver SDK では、Shaka Player で HLS コンテンツを再生するためのオプトイン API が導入されています。 |
2 | 2025 年 11 月 | Cast Web Receiver SDK は、HLS コンテンツの再生用にデフォルトのプレーヤーを Shaka プレーヤーに変更します。 |
Web Receiver SDK のエンジニアリング チームはパフォーマンス重視のアプローチを採用しており、Shaka Player のパフォーマンスが MPL のベースライン パフォーマンスと同等になった場合にのみ、次のフェーズに進みます。これらの変更は、cast-sdk-announcements Google グループで発表され、このガイドで更新されます。
オプトイン
CAF バージョン 3.0.0105
以降では、HLS 再生に Shaka Player を使用するためのアプリケーション レベルの構成がオプトインされています。このバージョンでは、読み込む Shaka Player のサポート対象バージョン範囲から選択する API も導入されています。これらのフラグは、useShakaForHls
プロパティと shakaVersion
プロパティを介して CastReceiverOptions
クラスで提供され、CastReceiverContext
の開始時に評価されます。HLS で Shaka を選択するアプリケーションは、最新の HLS の改善を利用するために、少なくとも 4.15.12
の Shaka プレーヤー バージョンを設定する必要があります。オプトインするには、次のコード スニペットを使用します。
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 のリリースノートで、最も関連性の高い更新を含むリリースを確認してください。shakaVersion
API には、リファレンス ドキュメントで説明されているように、サポートされている最小バージョンと最大バージョンがあります。リグレッションが見られた場合は、Shaka Player の Issue Tracker で問題を報告してください。 - プレーヤーの構成パラメータを変更してみてください。Shaka Player は、
PlayerConfiguration
オブジェクトを通じて構成できます。ウェブ レシーバー SDK は一連のデフォルト値を定義し、アプリケーションがPlaybackConfig
オブジェクトのshakaConfig
プロパティを介してこの構成を変更できるようにします。これは、プレーヤー インスタンスの作成時に読み込み時に評価されます。詳しくは、アプリケーションの構成とオプションをご覧ください。Web Receiver SDK で設定されるデフォルト値は推奨値です。 - Shaka Player の Issue Tracker または Cast の Issue Tracker で、問題が報告されているかどうかを確認します。バグにコメントし、問題が説明されている場合は関連情報を追加します。
- Shaka Player のデモサイトでコンテンツをテストします。コンテンツのデモサイトで問題が再現される場合は、Shaka Player プロジェクトにバグを報告してください。
- キャスト エンドポイントの Shaka Player に固有の問題が発生した場合は、キャストの Issue Tracker でバグを報告してください。
よくある質問
選手を変更すると、多くの疑問が生じる可能性があります。移行プロセスをスムーズに進めるために、よくある質問とその回答を以下にまとめました。
Shaka Player に移行すべきですか?
HLS コンテンツを使用しているパートナー様は、できるだけ早く移行プロセスを開始することをおすすめします。これにより、アプリでより安定したストリーミング エクスペリエンスをユーザーに提供できるようになります。その他のメリットについては、このガイドの Shaka Player のメリットのセクションをご覧ください。パートナーは、Shaka Player を使用してアプリが正しく動作することを確認し、スムーズな移行を確保する必要があります。パートナーがコンテンツを Shaka Player で事前に正しく再生できることを確認していない場合、一部のアプリは Web Receiver SDK が移行するとオプトアウト モデルに移行するリスクがあります。
プレーヤーを変更する際の労力レベルはどのくらいですか?
パートナーは、テスト環境でアプリケーションとコンテンツをテストし、HLS と比較してユーザー エクスペリエンスが同程度かそれ以上であることを確認する必要があります。そのため、パートナーは内部環境でこの機能を有効にし、Shaka Player を使用してコンテンツを再生できることを十分にテストする必要があります。コンテンツのどの部分に重点を置くべきかについては、コンテンツの検証をご覧ください。検証が完了したら、パートナーは本番環境のアプリケーション環境にオプトイン フラグを追加して、Shaka Player が提供するメリットを利用する必要があります。大まかに言うと、パートナーが移行を成功させるために必要なソフトウェア開発の変更は最小限で、ほとんどが QA 要件です。
まもなく HLS を使用してコンテンツをストリーミングする予定のアプリがあります。どうすればよいですか?
新しい統合では、再生に Shaka Player を使用するようにオプトインする必要があります。アプリケーションの長期的なサポートが向上し、新しい HLS 機能とパフォーマンスの改善も活用できるようになります。新しい統合で問題が発生した場合は、エンジニアリング チームが問題を解決するのに十分な時間を確保できるよう、できるだけ早くバグを報告してください。アプリケーションに厳しい期限がある場合は、バグレポートにその情報と影響を含めて、優先度を適切に設定してください。Google のエンジニアリング チームは、ユーザーを適切にサポートするためのソリューションの提供に取り組んでいます。
コンテンツやアプリが 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 プロトコルを使用していません。アプリケーションにはどのような影響がありますか?
コンテンツ ライブラリでこれらのストリーミング プロトコルのいずれも使用していない場合は、移行の影響を受けません。アプリケーションの変更は必要ありません。