Back to blog homepage

Control Your Video Encoding Queue with Priorities

Video Encoding Priorities

With Bitmovin’s new encoding priority setting, you can assign a priority from 0 to 100 to every job that you send to your encoder

In most video encoding workflows the encoder will crunch through the queue on a “first in first out” basis. For an enterprise operation that can be overly simple and inflexible, especially when there is a need to fast-track a particular encoding job. Sometimes this is handled by “priority” encoding farms, where there is a dedicated encoding setup for the more urgent encoding jobs. With the new encoding priority configuration in the Bitmovin Video Encoding, you can assign a priority from 0 to 100 to each job that gets send to your encoder, so you have granular control over the order of your queue and which job hits the encoder next.

Who needs Video Encoding priorities?

News and sporting events

One obvious use case anytime you need to “jump the queue”. Even if you are using a dedicated “priority” encoding farm for your time critical content, there will always be times when a fresh piece of news needs to jump the queue and hit the web as quickly as possible. For news providers, sometimes a difference of just a few minutes can have a significant impact on ad revenue and traffic/impressions, so being able to enable prioritization in your encoding system translates into real advantage. An example configuration here might be to use a default priority of 50, which would give you 50 levels of prioritization above and 50 below to manipulate your encoding queue.

Background encoding jobs

Enabling low priority is another common use case. Just like with high priority, content providers, particularly VoDs, have large backlogs of content that is low priority. These encoding jobs are often housekeeping and/or optimizations that are not tied to any hard deadlines. By setting low priority for encoding jobs of this type, will push them back until all high and normal priority jobs are done.
Another useful function that encoding priorities enables is the ability to re-queue failed jobs. The ability to send these jobs back into the queue and ensure that they jump right to the front can save your video team a lot of frustration and wasted time!

How to Get Started

With the latest version of the Bitmovin Video Encoding service setting priorities to your encoding jobs is very straight forward. The following code snippets are written for our Java API client. We offer API clients for all the major programming languages. Setting the priority of your encoding job is simply a matter of adjusting the scheduling.setPriority variable from 0 to 100.
Highest Priority

StartEncodingRequest startEncodingRequest = new StartEncodingRequest();
Scheduling scheduling = new Scheduling();
scheduling.setPriority(100);
startEncodingRequest.setScheduling(scheduling);
bitmovinApi.encoding.start(encoding, startEncodingRequest);

Lowest Priority

StartEncodingRequest startEncodingRequest = new StartEncodingRequest();
Scheduling scheduling = new Scheduling();
scheduling.setPriority(0);
startEncodingRequest.setScheduling(scheduling);
bitmovinApi.encoding.start(encoding, startEncodingRequest);

The Bitmovin Video Encoding service is containerized solution build to run anywhere on Kubernetes and Docker with a powerful video infrastructure API. This means that it leverages the flexibility and scalability of cloud infrastructures to support enterprise level video delivery workflows for any type of video business. We built it on Docker and Kubernetes to ensure portability and rapid scalability which is how we achieved 100x realtime encoding speeds and can deliver process heavy workloads, such as AV1 live streaming.
The best way to learn more about Bitmovin Video Encoding is to sign up for a free trial and get started.

Spread the word!

Author

Roland is the Engineering Director of Platform at Bitmovin. His team works on the management and orchestration of the encoder and enables workflows like AWS Connect and On-Premise Encoding. Furthermore, he and his team are responsible for developing the latest features in the API so that the customers can easily configure and use complex video workflows.

Ready for the future of video streaming?

Contact us to see how we can optimize efficiency, decreasing time-to-market for your video needs