Why can't the quality be manually changed in Safari?

By default, when the Bitmovin player is used with Safari (iOS / macOS), the stream is played through Safari Native Player. It means that HLS playback itself is handled directly by Safari and not by our player. Safari Native Player however doesn’t allow any manual quality selection, and this is why users can’t change the audio or video quality by themselves. Therefore, there is no quality selection menu available in the Bitmovin Player UI.

In case you need to allow the user to manually change the video quality, you can configure the player to check if HTML5 playback is supported, and use this one instead of the native playback. Then the Bitmovin player’s HLS playback capabilities are used and you have the same behavior as with other desktop browsers.

To do so, the preferredTech configuration can be used as below: (API Reference)

var playerConfiguration = {
  key: "YOUR_KEY_HERE",
  playback: {
    preferredTech: [
       {player: 'html5', streaming: 'hls'}
   ]
 }
};

When it comes to Safari for iOS, the Media Source Extension (MSE) is not supported. HTML5 playback is then not possible and the preferredTech configuration is ignored. Playback will be performed within the Apple Safari Native Player and the quality selection would simply not be possible. This is a limitation from the browser itself.

Besides this platform limitation, the exact same HTML page and player configuration object should work on every browser and platform.