2

私はAirPlayをAVPlayerで再生する暗号化されたストリームで動作させるのに苦労してきました。

Appleがこのページを読んでも、私はあまり役に立たない。

保護されたHTTPSレルムからキーを提供します。再生を開始する前に、アプリはNSURLConnectionを使用して自身を認証し、非表示にされた資格情報を提供できます。

私はこれをシミュレーターでしか動作させることができませんでした。デバイス上ではありません。

HTTPS経由でCookieを使用します。アプリはHTTPSサーバーに接続し、アプリケーション定義の方法でアプリケーションを認証できます。その後、サーバーはキーURLに適用されるCookieを発行できます。再生が完了してからかなり経ってからCookieの有効期限が切れるように設定する必要があります。サーバーは、キーに対する将来のGET要求で、有効なセッションCookieの存在を要求する必要があります。信頼性を最大にするために、有効期限が近い場合、サーバーは将来のGETリクエストへの応答でCookieの有効期限を更新する必要があります。

サーバーのセットアップに直接アクセスできないため、実際にこれを試したことはありませんが、他に回答が表示されない場合は試します。

アプリケーション定義のURLスキームを使用して、.m3u8ファイルのキーを指定します。アプリは、これらのURLのリクエストを処理するために、カスタムNSURLProtocolを登録する必要があります。プレーヤーは、キーURLを読み込む必要があるときに、アプリにコールバックします。その後、アプリは安全なサイドチャネルを使用してキーを取得し、プレーヤーに提供できます。

AVPlayer HTTP接続はNSURLProtocolシステムを完全にバイパスするため、これは機能しないようです。AVPlayerによって行われたHTTPリクエストを傍受することはできません。

AVPlayerとAirPlayで動作する方法で暗号化キーの提供の問題を解決する方法を誰かが持っていれば、私は永遠に感謝します。

4

1 に答える 1

1

私が取り組んでいた問題は、iOS5.1.1アップデートとそれに続くAppleTVアップデートで解消されたようです。iOS 5.1.1のアップデートだけでは問題を解決するのに十分ではありませんでしたが、その後のApple TVのアップデートと合わせて、すべてがうまくいき、もう一度ダンディになります。

以前の質問で説明したように、独自のループバックサーバーを実装するだけで十分です。

于 2012-05-11T08:55:42.617 に答える