VideoView を使用して HLS (Http Live Streaming) ビデオを再生する Android アプリケーションがあります。
ストリーム (トランスポート セグメント) が暗号化されているため、VideoView からメインの HLS サーバーに HTTP 要求を転送するためにローカル HTTP プロキシを使用しています。
Flow of my application:
0. ローカル プロキシ URL を使用して VideoView を準備します。元。"http:// localhost :9878/index.m3u8"
1. VideoView は、M3U8 および ts セグメントの要求をプロキシに送信します。
2. プロキシは、M3u8 および ts のリクエストを VideoView から HLS サーバーに転送します。
3. プロキシはトランスポート ストリーム要求をチェックし、応答を VideoView に送信する前に、トランスポート ストリームを復号化して VideoView に送信します。
4. VideoView がビデオ ストリームを再生します。
これは正常に機能していますが、次のエラーが発生することがあります。
output buffer is smaller than decoded data size Out Length
logcat でこのエラーが発生すると、ビデオがガベージ (緑色のビデオ)
になります。この問題は通常、ビデオ ストリームのビットレート サイズが増加したときに発生します。この問題の回避策はありますか?