We have improved our system for managing and queuing encoding for uploaded movies (the step that takes time from uploading a movie to being playable!).
TL;DR
Summary: Queues are reprioritized. Resources will continue to be split between accounts, so you don’t have to wait for other customers in most cases. Now we will also prioritize low-resolution content to make movies playable faster – read more below.
What is encoding?
Video to be played online needs to be adapted for this purpose. First, the format needs to work on all devices, and then the size needs to be adjusted to fit different connections.
How does encoding work in Streamio?
When a movie is uploaded, it is first checked and then placed in a queue to be encoded. The queue picks movies in turn and sends them to our farm of encoding nodes. There is often free capacity among the nodes to pick up a job quickly, but most videos uploaded are recoded into three or four variants (low- and high-resolution). That means just as many jobs per uploaded video. And there are a lot of videos uploaded to Streamio.
When the queues grow, there may be waiting time before you reach your turn. If there are many big files and long videos uploaded, it takes longer to get results.
Faster video publishing
To improve this and continue to offer free encoding for all our customers, we have prioritized the queue system.
Account priority
The first thing that happens when uploading a movie is that we look if the account is already encoding. If movies are already under coding, you queue in the usual way (and wait for previous videos you uploaded to be completed).
If the account does not have something that is processed, you get priority and go to the front of the queue of customers already being processed. This means that, when there are long queues, you usually wait for your own material to be ready – not other customers’ material.
Size priority
Often it is urgent to be able to publish a video. We have, therefore, reprioritized so that we always encode smaller sizes first. Because lower resolutions are faster to encode, videos become playable faster (a video in Streamio can be used as soon as there is one encoding completed).
For customers who upload single movies
In practice, for those who upload a single movie, this means that you end up first in the queue immediately, and the lowest resolution is handled first. When we have really long queues, it usually means that such a video is encoded almost immediately. And as soon as the first encoding is finished, the video is “playable” and can be published
For customers who upload many videos at the same time
If you upload many movies simultaneously, you can still use the entire cluster of encoding nodes as long as no one else needs it. When more customers upload, you can share the capacity.
This update makes videos playable faster, thanks to our priority for the lower resolutions. If there are really long queues as there can be when many customers upload many videos simultaneously, the encoding nodes will step by step move to just encoding low-resolution content. Only when all in low-resolution encodings are ready, it continues to process high resolution.
In practice, this means that if you upload large amounts of movies simultaneously, you will get playable videos faster. If there is a lot of capacity, you use everything – otherwise, it is shared between customers. High-resolution content is handled when there is free capacity. Otherwise, all priority is to get all customers’ videos in playable condition!