WWDC Quick Look 💓 By SwiftGGTeam
What's new in streaming audio for Apple Watch

What's new in streaming audio for Apple Watch

元の動画を見る

ハイライト

watchOS 7 は Apple Watch の AVPlayer に xHE-AAC を追加し、FairPlay ストリーミングとAVContentKeySessionこれをウォッチに持ち込むと、オーディオ アプリが保護されたコンテンツを低ビットレートで再生および配信できるようになります。


主要内容

watchOS 6 では、Apple Watch でストリーミング オーディオを直接再生できるようになりました。開発者は、AVPlayer または独自のオーディオ プロトコルを使用して、コンテンツを手首に配信できます。問題は次のステップにあります。時計のネットワーク環境はより劇的に変化し、バッテリーはより制限され、多くのオーディオ サービスには保護されたメンバーシップ コンテンツも付属しています。

このセッションでは、こうした発売前の実際の逆風に対処します。 Apple は、watchOS 7 で初めて xHE-AAC を AVPlayer に追加しました。これは、より低いビットレートで同等の品質、または同じビットレートでより高い品質を提供できます。時計の場合、ビット レートは小さな最適化ではありません。ビットレートが低いほど、モバイルネットワークで安定して再生しやすくなります。

2 番目の変更は、FairPlay ストリーミングが watchOS 7 に追加されることです。多くの音楽、オーディオブック、ポッドキャスト、コース サービスは、ライブラリ全体をクライアントにそのままストリーミングできません。これで、アプリは Apple Watch を同じ保護されたコンテンツ リンクのセットに接続できるようになります。プラットフォームはキーのリクエストを開始し、アプリはキー サーバーに接続し、暗号化されたキーの応答を AVFoundation に返します。

最後に、Apple はパフォーマンスに関する推奨事項を非常に具体的な再生パスにまで落とし込んでいます。 HTTP リダイレクトが 1 つ減り、ネットワークの開始までの待機が 1 つ減ります。事前にキーと証明書を取得しておくと、再生ボタンを押した後に行うキー要求のセットが 1 つ少なくなります。オーディオのみのコンテンツの場合、HLS ターゲット期間を約 20 秒に調整して、モバイル ネットワークとバッテリー パフォーマンスの安定性を確保するためにクリップを長くすることができます。


詳細

xHE-AAC を watchOS 7 の AVPlayer に統合

(00:38) watchOS 7 では、AVPlayer に xHE-AAC サポートが追加されています。このスピーチでは、これを拡張高効率アドバンストオーディオコーディングと呼んでいます。これは、より低いビットレートで同等の品質を達成するか、同じビットレートでより高い品質を提供するために使用されます。

Apple のアドバイスは単純明快です。Apple Watch のネットワーク状態は非常に変化しやすいため、高品質を維持するにはオーディオ アセットを低いビットレートに保つ必要があります。したがって、すべてのオーディオ アセットには xHE-AAC エンコードが推奨されます。

キーポイント:

  • xHE-AAC はこのセッションで名前が挙がった新しいコーデックであり、注目は watchOS 7 の AVPlayer です。
  • Apple Watch のネットワークの現実に対応します。ユーザーは移動しており、接続品質は頻繁に変化します。
  • マニフェストには、相互運用性シナリオのフォールバックを残すために、AAC-LC、HE-AAC、または HE-AACv2 バリアントを含める必要があります。
  • バリアントの選択は AVPlayer に渡されるため、アプリは再生前に各ネットワーク状態でオーディオ形式を手動で指定する必要がありません。

FairPlay ストリーミングは保護されたコンテンツをサポートします

(02:15) 多くのオーディオ サービスが本当に Apple Watch に導入したいのは、大量の既存の保護されたコンテンツです。 watchOS 7 では、この目的のために FairPlay ストリーミングが追加されています。ここでは、プラットフォームが暗号化されたメディアを復号して再生できるように、コンテンツ復号キーを安全に配信するための一連の手順について説明します。

このプロセスでは、アプリの役割はプラットフォームとキーサーバー間の連絡役です。 AVFoundation はオンデマンドのキー読み込みリクエストを発行し、アプリはキー読み込み手順を処理して、暗号化されたキー応答を AVFoundation に返します。その後、AVFoundation は復号化と再生を開始できるようになります。

キーポイント:

  • FairPlay Streaming は新しいオーディオ形式ではなく、保護されたコンテンツのキー配信を処理します。
  • アプリはメディア コンテンツを直接復号化しませんが、プラットフォームのリクエストとキー サーバーの応答を接続する役割を果たします。
  • これにより、メンバーの音楽ライブラリ、有料コース、および認定されたオーディオ コンテンツが Apple Watch の再生リンクにアクセスできるようになります。
  • この機能は watchOS 7 以降時計側に登場し、前年に導入された直接ストリーミングを補完します。

### 使用AVContentKeySession鍵のライフサイクルを管理する

03:04AVContentKeySessionこれは、特に復号化キーを処理する AVFoundation のクラスです。 watchOS 7 では、Apple Watch にそれが導入され、FairPlay ストリーミングでのキーの処理が引き継がれます。

その主な機能は、キーの読み込みとアセットの読み込みを分離することです。AVContentKeySession特定の資産のライフサイクルを拘束することなく、アプリはキーの読み込みを開始するタイミングを決定し、キーのライフサイクルをより詳細に制御できます。講演では、これによりアプリのキー配信の最適化と再生エクスペリエンスの向上に役立つことが明確に述べられています。

キーポイント:

  • AVContentKeySessionこれはプレーヤー UI ではなく、キー処理に対応します。
  • 再生前にキーの読み込みをアクティブに開始できるため、再生をクリックした後のユーザーの待ち時間が短縮されます。
  • 資産のライフサイクルに関連付けられていないため、アプリはキーの準備、再利用、無効化をより適切に処理できます。
  • Apple はプレゼンテーション中の閲覧を推奨していますAVContentKeySessionベストプラクティスを文書化し、実装戦略を改良し続けます。

Apple Watch の再生開始パスを短縮する

(04:40) Apple Watch は低電力ウェアラブル デバイスであり、ユーザーの移動によりネットワーク状態がより不安定になります。講演で取り上げられた最初の実践方法は、再生に必要なリソースに対する HTTP リダイレクトなど、不必要なネットワークの往復を避けることです。リダイレクトを追加するたびに起動時間が長くなります。

(05:19) 2 番目の方法は、リソースを事前に取得することです。クリティカル パスを再生する前に、キーと証明書をプリフェッチできます。AVContentKeySessionコンテンツキーをプリフェッチするために使用できます。証明書はキャッシュでき、HTTP 応答の有効期限タグを使用してキャッシュ期間が決定されます。

(05:49) 3 番目のプラクティスは、HLS ターゲット期間を調整することです。 Apple Watch が音声のみのコンテンツのみを処理する場合、Apple は目標継続時間を約 20 秒にすることを推奨します。これにより、再生の起動時間に大幅な影響を与えることなく、ネットワーク モビリティとバッテリーのパフォーマンスに対する回復力が向上します。

キーポイント:

  • 再生開始のクリティカル パスはできるだけ短くする必要があります。リダイレクトと追加のリクエストはユーザーの待ち時間に反映されます。
  • キーと証明書は事前に準備できるリソースであり、再生ボタンを押してはいけません。
  • HTTP 有効期限タグは証明書キャッシュ期間の基礎となるため、無期限に保存することはできません。
  • このセッションの音声のみの watchOS ストリーミングの具体的な推奨値は、約 20 秒の目標継続時間です。

重要ポイント

  • 低ビットレート優先のウォッチ ラジオ: 対処方法: Apple Watch 用の xHE-AAC オーディオ バリアントを準備し、AAC-LC、HE-AAC、または HE-AACv2 フォールバックを保持します。実行する価値がある理由: トランスクリプトでは、品質を維持するために低ビットレートを使用し、ネットワーク状態が大きく変化する時計に適した xHE-AAC を明確に推奨しています。開始方法: まず、一般的なストリームを xHE-AAC に変換し、次に互換性のあるバリアントをマニフェストに入れて、AVPlayer がセルラーか Wi-Fi のどちらかを選択するのを確認します。

  • 保護されたメンバーシップ オーディオ ライブラリ: 機能: 有料の音楽、オーディオブック、コース コンテンツを Apple Watch に拡張します。実行する価値がある理由: watchOS 7 は FairPlay ストリーミングをサポートしており、アプリはプラットフォームとキー サーバー間のキー配信ブリッジとして機能します。開始方法: まず時計に読み込まれている FairPlay キーにアクセスし、次に使用します。AVContentKeySessionオンデマンドのキー読み込みリクエストと暗号化されたキー応答を処理します。

  • プレイ前のキーのウォームアップ: 対処方法: ユーザーがプレイの詳細ページに入ったときに、コンテンツ キーと証明書をプリフェッチします。実行する価値がある理由: キーと証明書を名前でプリフェッチすると、再生開始までのクリティカル パス上のネットワーク リクエストが減少します。開始方法: 使用するAVContentKeySessionキーのロードをアクティブに開始し、証明書は HTTP 有効期限タグに従ってキャッシュされ、再生ボタンは再生の開始のみを担当します。

  • モバイル ネットワーク用の HLS クリーンアップ: 対処方法: 時計側の再生に必要なプレイリスト、キー、証明書、セグメント URL を確認し、不要な HTTP リダイレクトを削除します。実行する価値がある理由: リダイレクトごとに起動時間が直接増加し、監視ネットワーク環境によってこのコストが増大する可能性が高くなります。開始方法: 最初の再生のリクエスト リンクを記録し、最終 URL へのリダイレクトが多いリソースを変更して、起動時間と失敗率を比較します。

  • 音声のみの長いクリップ構成: 対処方法: Apple Watch への音声のみのストリームについて、約 20 秒の目標継続時間をテストします。価値がある理由: Apple は、ネットワーク モビリティとバッテリー パフォーマンスの間でより安定した結果を達成するために、音声のみのコンテンツの目標時間を長くすることを推奨しています。開始方法: 同じストリームに対してターゲット期間が異なる HLS バージョンを準備し、実際の時計に対する起動時間、フリーズ回数、バッテリーへの影響を測定します。


関連セッション

コメント

GitHub Issues · utterances