What parameters are available for Bitmovin Player's adaptation logic?

In my country the internet speed is highly variable, what would be your recommendation to tune player for when the internet is weak? Mobile/Web SDKs

This blog post nicely describes : Adaptation Logic, Custom Bitrate Boundaries and Startup bitrates for the Player Web SDK.

Also, you can find many samples about customizing adaptation logic in the Player Web SDK samples repo:

There’s munch more in the blog post and samples I linked, but here’s some examples I took from it:

Default Logics

// By default, our player comes with two types of ABR algorithms
// and it is possible to choose one of them in the player configuration, via
//  the parameter “logic” in the “adaptation” set of the configuration object.

// The algorithm implemented by default (v2) is based on buffer
// as well as on bandwidth estimation, whereas v1 is only buffer based.
let conf = {
  (...)
  adaptation: {
    desktop: {
      logic: 'v2' // v2: buffer and bandwidth estimation, v1: buffer only
    }
  },
}

Bitrate Boundaries

// In some cases, the provided algorithms may not completely fit with
// your requirements. For instance, if you want to use the highest quality
// in your pay option only, and restrict the quality in your free offerings,
// you may need to artificially limit the available bitrate. This can easily
// be achieved by the according settings in the player configuration:
let conf = {
  (...)
  adaptation : {
    desktop: {
      bitrates: {
        maxSelectableVideoBitrate: '10000000bps'
      }
    }
  }
}

// On the other hand, if you consider that providing a low quality stream
// is worse than having some buffering, you may define a minimal used bitrate:
let conf = {
  (...)
  adaptation : {
    desktop: {
      bitrates: {
        minSelectableVideoBitrate: '3000000bps'
      }
    }
  }
}

// Having this setting present, the player would only choose quality levels,
// within the specified boundaries. Furthermore, a differentiation between viewers,
// using a mobile device and those using a desktop or notebook is possible:

let conf = {
  (...)
  adaptation : {
    desktop: {
      bitrates: {
          minSelectableVideoBitrate: '3mbps',
          maxSelectableVideoBitrate: '6mbps'
      }
      mobile: {
        bitrates: {
          minSelectableVideoBitrate: '0.5mbps',
          maxSelectableVideoBitrate: '2.5mbps'
      }
    }
  }
}

// The same parameters are also available for audio:
let conf = {
  (...)
  adaptation : {
    desktop: {
      bitrates: {
        minSelectableAudioBitrate: '128kbps',
        maxSelectableAudioBitrate: '320kbps',
        minSelectableVideoBitrate: '900kbps',
        maxSelectableVideoBitrate: Infinity
      }
    },
}
1 Like