I know that by default playback speed is adjusted according to the end user’s bandwidth. Or at least that is the setting I currently have. I would like to know if this settings can be configured differently, for example to try and play the video at least in a certain resolution or flavor so the playback will not degrade and become pixelated.
The playback method will vary depending on your delivery profile.
If you are playing with HDS and HLS, which support adaptive bitrates, like you said, the flavour served will change based on the user’s network conditions.
If you check KMC->Content->click on entry name->left pane, flavors, you will see that each entry has several copies of the entry, with different format, bitrate, dimensions, etc.
Note that not all source entries can be converted to all defined flavours, since some sources may not be of a high enough quality.
You can control the desired flavours by going to KMC->Settings->Transcoding settings
So can I force a specific flavor to be served, or a fixed amount of flavors to be chosen for delivery? (even at the cost of causing lower bandwidth users to lose playback speed).
I would still need to be able to send the lower quality videos to mobile devices so this restriction should apply to Desktop web users. May be a player level or by embedding with certain parameters.
Just confirmed that by default the lowest quality flavor is being served on the web. It doesn’t seem to be calibrating since I actively chose an HD flavor on my computer and the network bandwidth was enough to play it.
What is the delivery profile being used? If simple HTTP progressive, then you won’t get the adaptive bitrate algorithm. You need to use HDS, DASH or HLS in order for adaptive bitrate to work correctly.
You can easily see the method by which the entry is served by opening a HTTP sniffer and looking for a request for playManifest, for instance, if you play this entry:
you will see a request that starts with:
Meaning the entry is served with HDS.
You will also a request for the actual manifest, similar to:
if you make this request manually, using curl, wget or just pasting the full URL in your browser, you’ll get the manifest back.
I see several calls to domain “cdnapi.kaltura.com” but none to “cdnapisec.kaltura.com”.
When I check the video in the Kaltura preview page (the one I get from Preview & Embed) it works (clicking the gear icon shows it goes to “Auto” and additionally I can select what flavor to play).
But when embedding in my page the gear icon does not have the “Auto” option and the video is selected in the lowest quality available. This is initially not a problem because the embeded player is rather small in the webpage but when choosing “full screen” the video expands and it’s awfully pixelated.
It would be helpful to know where the delivery profile options are configured
Ok, for the record I have found a parameter that should enable the “Auto” option when embedding a player in a webpage.
“streamerType” should be included as part of the “flashvars” and for now the option that I see is “Auto” but I assume there should be other options
This parameter is supposed to be set to Auto by default but at least in my case it wasn’t set that way.
I had to go to the “KMC Studio” (where you edit the players UI) , then to “Universal Studio” - > “Plugins” -> “UIVariables” and enter “streamerType”, “auto” as key and value respectively.