-
Notifications
You must be signed in to change notification settings - Fork 263
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FlowPlayer - Quality Level Selection #124
Comments
automatic bitrate selection is performed each time a new segment needs to be downloaded, based on different params : current level, last dl bw, current buffer size, ... |
Thank you a lot. Another question is what is the best way how to manually force switch to another bitrate? And if I switch manually, will be the behaviour the same as automatic switch -> switch is performed at next segment? Can I force the switch (does not matter if there is rebuffering) and continue from the same position in live stream (I expect that no)? |
when manually switching (using hls.level = manual_level), switch will happen at next segment load, i.e. it will not interrupt any loading in progress.
|
Actually what does it mean "each time a new segment needs to be downloaded"? Does it mean next segment which is going to be played or in terms of HLS is it fourth segment because I have to have at least 3 segments in playlist prepared in advance? |
Ok, but there is no current position in live stream if I'am correct? |
hls.position will return the current media position (relative to playlist start) |
Hello, mangui! |
Hi @remizovvv |
Thanks for the quick answer! |
it is an ActionScript API, so obviously you need to do some Flash/AS3 coding to interface with it |
I mean, can I call javascript function which applies directly to flashls and switches bitrate? Flowplayer (in my project) gets stream link (.m3u8 file) from third-party-server (I can't influence on the formation of this file). This file contains three stream links (.m3u8 too) with the different bitrates. Flowplayer allows manual switch the bitrate with the 'bitrateselect' plugin, but your plugin doesn't work with it. What should I do to manual switch bitrate in this situation? Thank you for explanation! |
Hi @remizovvv basically flashlsFlowPlayer would have to report all available bitrates to FlowPlayer (it should fill bitrate info in Clip Object) , and also implement switchStream() method |
Thanks for the answers, @mangui ! |
commented for now, just to give some hints related to #124
I dont have the bw to work on this now, but I just commited some commented codes that is reporting available bitrates to FlowPlayer. with this code, FlowPlayer should in theory be able to detect available bitrates, and request bitrate switch, https://github.com/mangui/flashls/blob/master/src/org/mangui/flowplayer/HLSStreamProvider.as#L468 NetStreamPlayOptions should indicate you the level on which you need to switch, through see code triggering the level switch here : https://github.com/flowplayer/flash/blob/1caea54d3e7fa66b6496d556998052507a6d05a4/lib/common/src/actionscript/org/flowplayer/net/StreamSwitchManager.as#L73-L76 Cheers, |
What a surprise! Thank you very much! |
What are the parameters for bitrate switching? Our current player is always selecting the highest bitrate no matter the bandwidth available. Is there a previous setting that is remembered and always used? my testing is done with Chrome's throttling and I've tried a few setting with no luck. HLSSettings.capLevelToStage = true; Any help/advice would be appreciative! |
commented for now, just to give some hints related to mangui#124
Hi mangui,
could you please confirm that automatic bitrate switching is done after the current HLS segment is played and the next segment is from new bitrate? Or the algorithm is waiting while the buffer is empty?
The text was updated successfully, but these errors were encountered: