Ich habe eine kleine App entwickelt, die kleine Videos aufnehmen und abspielen kann (bis zu 10 Sekunden). Die App zeichnet Videos mit 6 Mbps auf. Um eine schnellere Videowiedergabe zu gewährleisten, versuche ich HLS (http Livestreaming) zu implementieren. Aber mir ist aufgefallen, dass die App immer zuerst den Stream mit der niedrigsten Bitrate aufnimmt und erst nach 10 Sekunden auf den besten verfügbaren Stream (basierend auf der Netzwerkbandbreite) umschaltet.HLS adaptive Streaming in Android ändert Streams nur nach 10 Sekunden?
Ich habe verschiedene Media Player wie Android Media Player, exoplayer usw. getestet, aber das Verhalten ist konsistent. Das Video ändert die Streams erst nach genau 10 Sekunden. Ist dies die Standard-Implementierung von hls in Android? oder vermisse ich etwas? Die m3u8 I Test verwendete 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();
}
});