2

akamai CDN からの hls ストリーミングを再生するビデオビューを含む Android アプリケーションを開発しています。問題は、ストリーミング URL に Akamai API を使用して生成されたトークン認証があることです。問題は、私のビデオがこのストリームを再生できないことです。

以下のフォーマットは正常に再生されます
http://xxxxxxx-i.akamaihd.net/hls/live/#####/event1/Playlistaaa_1200.m3u8

以下の形式は android では機能しません (ただし、samsung smart TV などの他の開発環境では機能します):
http://xxxxxxx-i.akamaihd.net/hls/live/#####/event1/Playlistaaa_1200.m3u8 ??hdnea=st=1364547301~exp=1364547901~acl=/ *~hmac=4baa8ad07af9f31c2d898bd205986e4c470a99b7573cc93918ce9caa234a8d03

Androidでこれを有効にする方法、またはこれに対する回避策があるかどうか、誰かが考えていますか?

よろしく

4

2 に答える 2

4

Akamai に確認したところ、問題は解決され、問題はクエリ文字列の「/」文字にありました。「/」は「%2F」に置き換える必要があり
ます。作業 URL :
http://xxxxx-i.akamaihd.net/hls/live/XXXX/event1/Playlist.m3u8?hdnea=st=1382080396~exp=1382685196~acl = %2F* ~hmac=71794db8368c2498fea5fb62c381ce6e51a7ff4628c1225ddfe41411596b5d6e

動作しない URL:
http://xxxxx-i.akamaihd.net/hls/live/XXXX/event1/Playlist.m3u8?hdnea=st=1382080396~exp=1382685196~acl= /* ~hmac=71794db8368c2498fea5fb62c381ce6e51a7ff4628c1225ddfe414b5d6e96

akamai へのコメントは次のとおりです。

  1. Android 2.x / 3.x デバイスは akamai トークン認証サービスをサポートしません
  2. Android 4.x がプレイリスト/セグメントの URL を処理する方法には多くのエラーがあります。master.m3u8 ファイルを要求するためのクエリ文字列の一部として「/」文字が使用され (たとえば、トークン認証を使用しているため)、相対 URL を使用してビットレート プレイリストとセグメント URL が定義されている場合、Android 4.x は絶対URLが間違っています。これは、ベース URL を取得するために、Android 4.x が master.m3u8 URL を最初の文字から最後の「/」文字まで取得するためです。この文字がクエリ文字列の一部であっても同様です。
  3. Android 4.x の HLS 実装は非常に機密性が高く、タイムスタンプが正しくありません。タイムスタンプの不一致 (H.264/AAC パケットの PTS/DTS) が原因で、iPhone で機能するストリームが Android 4.x では機能しません

このソリューションは次の場合にも機能することに注意してください。

  • サムスンのスマート TV プレーヤー
  • LG スマート TV プレーヤー
  • ウエスタンデジタルプレーヤー
于 2013-10-21T12:54:31.287 に答える
1

それは本当にどのデバイスに依存します - Android は HC の後に setCookie メソッドを追加しました。これにより、合理的な方法でプロセスを開始できます。

Akamai には、Android で動作するように変更する必要があるフラグがいくつかあります。私が覚えているように、それはたった1つのチェックボックスでした。

最後に、 http://www.nexstreaming.com/などのサードパーティ プレーヤーを使用して、HLS を適切に処理できます。

于 2013-03-29T16:16:35.237 に答える