Videos are processed one-by-one by our video rendering servers and they work on a first-come-first-serve basis. For example, if 5 people submitted their videos for rendering before you did, then our servers must finish processing those 5 videos first before it can start processing your video. As you can imagine, this can easily create a bottleneck when a lot of users are on Lumen5 creating videos at the same time.
Previously, we were running a single rendering server, which was why your videos could sometimes take over an hour to render. To resolve this, we decided to rebuild our backend infrastructure from ground up. Now, we are able to run multiple rendering servers in parallel with the ability to easily expand our rendering capabilities on-demand to handle traffic surges.
With the new setup, we can now render multiple videos in parallel. In our earlier example, if 5 people submitted their videos before you submitted yours, those 5 videos must be completed first before the server begins processing your video. Now, all 6 videos can be rendered at the same time, and everyone can get their videos sooner.
The average rendering time is now consistently under 10 minutes and we plan to continue improving our system in order to process videos even faster in the future!