New Playback Quality Select Feature

Over the last few days I've been updating my add-ons to use my new quality select feature.

This feature enables forcing Kodi to playback content at a specific quality.
No more needing to manually  change stream after playback starts or mucking around with Inputstream Adaptive settings.
This setting is also unique to each add-on so different add-ons can have different qualities.

Settings

The setting is found in the Add-on > Settings > Playback > Playback Quality
The available options are
  • Ask (default)
    Will show the quality select dialog each time a video is played
  • Best
    Automatically choose the best quality
  • Lowest
    Automatically choose the lowest quality
  • Custom
    Allows setting a maximum bandwidth in Mbit/s

    The code will choose the highest stream up-to & including this value
    A good starting value for this is 1/10th your internet down speed.
    Eg. Your down speed is 50mbit, then set this to 5mbit.
  • Bypass
    Skips the quality select altogether
    You can still force a quality via context menu (see below)
  • Disabled
    Same as bypass but also removes the context menu option

Context Menu

You can also access the quality dialog via the context menu on the videos themselves.
(Context menu can be accessed by Long Press on select button, or C on a keyboard)
This allows easily switching to a different quality just for a single video.

Notes

The quality it shows is what is listed in the playlist it downloads.
It hasn't actually parsed each stream to get the real quality.

Some services may advertise a 60fps stream, but it is actually 50fps.
I suspect this is because their video platform is set to 60fps, but their source stream is 50fps.
Even the bandwidth value may sometimes differ slightly.

Once the content is playing, you can press 'O' on keyboard to see the real quality.

Remember - this feature is just in my add-ons.
It's not a Kodi feature so don't expect to see it in other add-ons.

How it works

It first downloads the playlist file and grabs the available bandwidths.
It also grabs any further information if it is provided (frame rate, resolution).
It will now find the correct stream based on the add-on setting.
Or if set to Ask, it will show the select dialog.

Once a quality has been selected, it will set the correct settings to force the quality in Kodi.
For Inputstream, this is the maximum and minimum bandwidth.
For ffmpeg, it sets the Kodi Internet Bandwidth limitation setting.

Before changing the settings, it grabs the current settings.
It then waits for playback to begin and then reverts the settings back to their original values.

Discussion

Support

Social