問題タブ [fairplay]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
523 参照

ios - AVContentKeySession makeStreamingContentKeyRequestDataForApp を安全に強制的に同期できますか?

FairPlay DRM で保護されたオーディオをストリーミングするアプリがあります。当初は FairPlay キーを配信するために を使用して出荷されていましたが、現在はiOS 11.2 以降AVAssetResourceLoaderDelegateで使用できるように更新しています。補足: これを実行しようとしていて、ドキュメントの不足に不満を感じている場合は、こちらの「FairPlay Streaming Server SDK (4.2.0)」リンクにサンプル コードがありますAVContentKeySession

私のオーディオ製品はそれぞれ、多くのトラックに分割されています。オーディオ製品を開くと、 経由で複数のトラックをキューに入れますAVQueuePlayer。これらの各トラックは、FairPlay キーの要求を生成します。永続キーがまだダウンロードされていない場合、これらの各要求はキー サーバーに送られ、キーをダウンロードし、永続キーを生成して保存します。各トラックには同じキーがあるため、最終的にはすべて同じ永続キー データになり、それぞれが最後のトラックを上書きして終了します。

キー サーバーのコストはキー リクエストの数に依存するため、最初のリクエストのみが実際にキー サーバーにヒットし、後続のリクエストでは永続キーが使用されるようにしたいと考えています。ただし、SPC データを取得してキー サーバーに渡すために使用されるメソッドmakeStreamingContentKeyRequestDataForAppは、非同期完了ブロックを使用します。同等AVAssetResourceLoadingRequestのメソッド onは同期です。

私の質問: セマフォを使用してこの呼び出しを強制的に同期させても安全ですか? このような:

この効果は、以前にストリーミングされたことのないオーディオをダウンロードする場合に特に顕著です。AVAssetDownloadTask を使用したオーディオのダウンロード速度は非常に遅いため、一度に多くを開始し、それぞれがキー リクエストを生成します。

0 投票する
1 に答える
458 参照

ios - iOS は AVAssetDownloadURLSession を使用せずに HLS をオフラインでダウンロードできますか?

最近、iOS プロジェクトに HLS ストリーミングとオフライン機能を実装しようとしています。現在、私は独自のダウンロード ライブラリを使用して、Widevine ストリームなどのさまざまなストリーミング ファイルをダウンロードしています。私が気付いた問題は、AVAssetDownloadURLSession が hls ファイルをダウンロードし、.movpkg 形式で電話にローカルに保存することです。hls ファイルを .movpkg に変換し、Apple AVAssetDownloadURLSession に依存する代わりに、独自のダウンロード ライブラリを使用して .movpkg をダウンロードできるパッケージャー (Shaka-packager など) があるかどうかをオンラインで調べています。どんな助けでも大歓迎です。

ありがとう

0 投票する
1 に答える
414 参照

ios - Fairplay 対応ビデオのダウンロード時にサーバー再生コンテキストを取得中にエラーが発生しました

オフライン FPS の実装中に AVFoundation エラー -11800 が発生する FPS を使用してオフライン HLS を実装しています。

AVAssetDownloadDelegate を使用してビデオをダウンロードしました DRM コンテンツのライセンスを取得する必要があるため、AVAssetResourceLoaderDelegate を実装しました すべてが AVAssetResourceLoaderDelegate で正常に動作しています。CKC またはライセンスを取得しましたが、次のコードを実行すると

let persistentContentKeyContext = 試して loadRequest.persistentContentKey(fromKeyVendorResponse: responseData, options: nil) を試してください

次のエラーが表示されます

エラー ドメイン=AVFoundationErrorDomain コード=-11800 「操作を完了できませんでした」 UserInfo={NSLocalizedFailureReason=不明なエラーが発生しました (-12158)、NSLocalizedDescription=操作を完了できませんでした、NSUnderlyingError=0x1c084a6e0 {エラー ドメイン=NSOSStatusErrorDomain コード=- 12158 "(ヌル)"}}

このエラー コードの意味と、このエラーの解決方法を教えてください。

0 投票する
0 に答える
394 参照

java - FairPlay テスト コンテンツを AES 128 NoPadding で暗号化または復号化する方法

Appleのテクニカルノートに従って、NoPaddingアルゴリズムを使用したAES-128 CBCを使用していました。以下のコードを使用して、任意のビデオを暗号化および復号化できます。Muxed 暗号化ビデオと Un-Muxed 暗号化ビデオの両方を試しました。しかし、元のテスト コンテンツを適切に復号化できませんでした。元の暗号化されていないファイルを暗号化すると、Safari で再生されません。