Nea*_*hal 2 video-streaming http-live-streaming android-mediaplayer android-videoview exoplayer
我开发了一个小应用程序,可以录制和播放小视频(最多10秒).该应用程序以6 Mbps的速度捕获视频.为了确保更快的视频播放,我正在尝试实现HLS(http直播).但我注意到应用程序始终首先以最低比特率获取流,并且仅在10秒后才切换到最佳可用流(基于网络带宽).
我测试了不同的媒体播放器,如android媒体播放器,exoplayer等,但行为是一致的.视频仅在10秒后才会更改流.这是android中hls的默认实现吗?还是我错过了什么?我以前测试的m3u8是http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8
localUrl = "http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8";
vidView.setVideoPath(localUrl);
Log.i("GenericRequest", "VideoUrl " + localUrl);
vidView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
vidView.start();
}
});
Run Code Online (Sandbox Code Playgroud)
如果查看列出的播放列表的内容bipbopall.m3u8,您将看到段持续时间为10秒.这可能解释了为什么你在10秒后看到开关.
播放器将下载列出的第一个播放列表bipbopall.m3u8,在此实例中是具有最低比特率的流,并开始播放第一个片段.它随后计算出可用的额外带宽,因此切换到具有更高比特率的流.
如果段持续时间不同,您可能会看到切换发生在不同的时间.
| 归档时间: |
|
| 查看次数: |
504 次 |
| 最近记录: |