Microscope Server 2.9 and new SD images

A quick note to contributors on the v2.9.1 patch release:

We had some reports of the camera feed breaking for detailed samples: Camera feed going white - Request Help - OpenFlexure Forum

This looks a lot like a bandwidth issue. Originally I added an option to change the MJPEG quality setting, however after some testing this doesn’t actually seem to do anything, regardless of if bitrate control is enabled or not. The quality parameter has no effect on the frame data size.

Because of this, I’ve replaced that option in the JS client with one to change the MJPEG bitrate. Below a certain limit, a warning is displayed that it may impact fast autofocus performance. @r.w.bowman did some testing with this way back when fast AF was new and found bitrate limits sometimes caused issues.

From my (brief) testing, it seems like high explicit bitrates still work very well, and low bitrates will still focus, but perhaps less reliably.

My intention is that most users will leave the bitrate on maximum (passing -1 to the picamera parameter, and removing bitrate control) and so this will not be an issue. In cases where bandwidth is causing people grief though, this is the only way to reduce the data transfer of the stream, so hopefully it’s a good tradeoff!