WebSocket video streaming automatically adjusts quality based on the user’s network status

I have three sources for my WebSocket video streaming, and I’m using JMuxer to display the video in the client’s web browser. I need to implement automatic quality adjustment based on network status. For example, if the current stream is at 1080p but the client’s network slows down, it should automatically switch to the 720p source.

The available streaming endpoints are:

  • /video?quality=360p
  • /video?quality=720p
  • /video?quality=1080p

I’m aware of the Network Information API, but I want a solution that directly adapts the video quality based on the client’s ability to handle the current data stream.