Require the user to continually spin a vintage rotary controller from an old Arkanoid machine at a rotational speed in RPMs roughly matching the video's frame rate in order to maintain smooth playback.
We connected it with our Rails app (main reason was that we jse inertia-rails and React on the frontend).
With MUX you give it a URL to create videos. That doesn’t work with google drive, so we do some hacks in a background job and click download, then store it in activestorage. Then provide MUX with our url.
API and backend is good. Pricing also cheaper than S3 in most cases. We are not live yet, but it works reliably so far.
When I have made custom video players, the key is to replicate all the expected behaviors (space bar pauses, etc) and then add bells n whistles from there. The <video> API is (I think) always the ultimate arbiter, so respect the user expecting it to be so.