2

HoneyComb以降正式にサポートされているHLSを使用してAndroidデバイスにビデオをストリーミングしようとしています。問題は、Apple HLSテストストリームを使用すると、適応性がないように見えることです。接続が良好な場合、高品質で適切なストリームを取得できますが、3Gを使用すると、同じ品質とストリーミングの遅延が発生します。私はこれに標準のAndroidクラスを使用しています:

String Url = AppleUrl = "http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8";
MediaController mMediaController = new MediaController(this);
VideoView mVideoView = (VideoView) findViewById(R.id.vid);
mVideoView.setVideoPath(Url);
mVideoView.setMediaController(mMediaController);
mVideoView.setOnPreparedListener(new OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mp) {
         mp.start();
    }
});

VLCを使用すると同じ結果が得られますが、AndroidがHLSストリーミングの適応性を本当にサポートしているかどうかをテストした人はいますか?

アップデート

ストリームURLをマルチトラックm3u8プレイリストに更新しました

4

2 に答える 2

3

したがって、AndroidはHLSストリーミングをサポートしていますが、アダプティブビットレートスイッチングの部分は省略されています。接続が良くなったり悪くなったりして別のビデオトラックが選択されるとすぐにストリームがフリーズし、その後すぐにアプリがクラッシュします。

于 2013-05-22T10:27:35.043 に答える
1

コード例では、プレイリストへのURLは特定のビットレート用であり、Androidクライアントが代替レンディションを認識していない限り、アダプティブストリーミングを実行することはできません。

に別のURLを設定する必要がありますVideoView。複数のビットレートを含むこれを試してください:http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8

于 2012-12-20T12:05:55.543 に答える