Skip to main content

Per-scene encoding

Overview

Per-scene encoding is a technique used to optimize the size of the encoded ouput by applying different encoder settings to different parts of the video (scenes).

For this, Axinom Encoding uses Optimizer from our partner VisualOn. This AI-enhanced solution continuously analyzes content in real-time to determine the best transcoder settings for outstanding video quality and lower bitrates.

It's also known as CAE - Content-Aware Encoding or Content-Adaptive Encoding. We prefer the term per-scene encoding, because some CAE solutions analyze a to-be-encoded video as a whole and adjust the parameters once before starting the encoding process, while Axinom's per-scene encoding powered by VisualOn Optimizer does more - it actually applies different encoding settings to different scenes.

With per-scene encoding, it is possible to reduce the output size by an average of 40% (and up to 70%) without compromising visual video quality.

Why to use per-scene encoding

For OTT operators:

  • Higher encoding efficiency
  • Reduced CND transfer costs
  • Reduced data storage costs
  • Greener and more sustainable workflow

For the end users:

  • Better image quality
  • Less buffering time
  • Uniform viewing experience across devices

How to use per-scene encoding

Per-scene encoding can be easily applied on per-job base.

Encoding API

If you encode using an API, you just need to add the following property to the content processing section:

{
...
"ContentProcessing": {
"EncodingMode": "PerScene",
...
}

You can balance the video quality vs output file size by setting a target VMAF score. Default target VMAF is 95%. You can increase it to 98% or even 99% while still getting smaller outputs. The higher the target VMAF score, the closer your video will be to the source file, but the less saving you will get. To set the target VMAF score in percent add an additional property:

{
...
"ContentProcessing": {
"EncodingMode": "PerScene",
"PerSceneEncoding": {
"TargetVmafScore": 98
},
...
}

Video Service UI

If you use the UI of the Video Service to start encoding jobs, you can set the per-scene encoding mode under Processing Profiles:

Processing profile

note

As of January 2025, it's not yet possible to set the target VMAF score using UI. If you want a non-default VMAF value, please use the API. Meanwhile, we are working on a UI extension.

Costs

Using per-scene encoding is 40% more expensive than regular encoding. See details under Pricing

However, due to smaller output file size, the traffic (CDN) costs will be by 20-70% lower. It means, after certain number of views, the higher encoding cost will pay-off and further increase in views will turn into pure profit.

See also