
After last week’s fiasco, we’d figured that things could only get better from here on out. And better indeed they did get! This week, we honed in on improving the performance of our app by fixing any state-related bugs and optimizing the resolution and frame rate of our media streams as much as possible, and with these improvements, the baseline audio/video/remote control experience of our app is far better than before.
To improve our video frame rate and resolution, we had to experiment between setting the desktop sharing frame rates as well as the sender/receiver video resolution constraints. The lib-jitsi-meet library has functions conveniently provided to handle these so we don’t have to modify anything on the server side, but unfortunately not-so-great documentation for how to use them. After countless trials and a long back-and-forth with the maintainers of the lib-jitsi-meet library, we finally came to the solution of cranking up the video resolution to 2000 and setting the frame rate at 30 fps that maintained the right balance.
For remote control, we identified several different scenarios for ending remote control that weren’t being handled properly — for example, when the host leaves the conference — then went about implementing those scenarios correctly. We also made some optimizations to remote keyboard by sending the key-down/key-up state of the key to the host rather than locking the keys, which we demonstrated to our liaisons through a typing test.
Overall, we (and our liaisons) are much happier with the current state of our app and are looking forward to seeing what’s next for it!