I use getDisplayMedia which is a JavaScript API that lets you capture recordings as large as your computer can handle, but the format is fixed to either MP4 or WebM.
Here is the JS-based player: https://screenrecorder.me/projects/s3hx9YRgXNsrN1s/player
Here is a video that I rendered: https://screenrecorder.me/player/s3hx9YRgXNsrN1s
There are definitely artifacts, especially in the latter, but in practice the videos I've been creating have been working well. Also, it's primarily because the zoom is so high.
In practice, I usually set the zoom much lower and it doesn't have as much artifacting. Check out the homepage video