Content Processing section configures the behavior of the service regarding Encoding, Packaging, and DRM Protection

Content Processing

Table of Contents

This job request section defines the content processing behavior, output, and other properties. For example, it is related to the output format and DRM protection.

{
    "ContentProcessing" : {
        "OutputFormat" : ["Dash", "Hls"],
        "VideoFormat": "H264",
        "OptimizeFor": "",
        "DrmProtection": "None",
        "UseHighestPossibleBitrate": false,
        "Archiving": "None",
        "DeleteFilesFromSourceWhenDone": false,
        "ForceAspectRatioToStandard": false,
        "SearchForOptimalNearbyResolutions": true,
        "ForcePixelAspectRatioTo1": true,
        "VideoRepresentations": [
            {
                "Width": 1280,
                "Height": 720,
                "BitrateInKbps": 1500
            },
            {
                "Width": 852,
                "Height": 480,
                "BitrateInKbps": 800
            }
        ]
    }
}
Property Description Use Case Required?

OutputFormat

An output to produce. Dash, DashOnDemand, Hls, Cmaf.

You must always specify at least one format to produce. Keep in mind that some of them are mutually exclusive. For example, if you specify Cmaf, then you cannot use any other. Same goes for DashOnDemand.

Yes

VideoFormat

A codec to use for encoding. Supported values: <<glossary#h264,H264>, H265, and DoNotEncode.

You can omit this property, as it uses H264 by default. However, you can use this property to define it as H265 instead (this format supported by Safari).

No. Defaults to H264.

OptimizeFor

An encoding preset to use. Supported values: Speed, Balance, Quality.

You can use this property depending on your needs. If you require faster encoding and highest quality is not necessary, use Speed. On the other hand, use Quality for the best output, but the slowest processing time. Balance is the optimal and default mode. It provides decent processing time with a good quality image. This property has no effect in the packaging-only mode.

No. Defaults to Balance.

DrmProtection

A desired DRM protection mode to use.

Use it if you need to protect your output against theft and illegal redistribution.

No. Defaults to None.

ExplicitIV

Gets or sets the optional IV that is to be explicitly associated with content keys. Must be a string of 32 hex digits (128 bits).

FairPlay DRM in which the IV is expected to be transported together with the content key, instead of being extracted from the content. Otherwise, it is not recommended to set this property.

No. If this property is not set, Axinom Encoding automatically generates a random IV for each content key (given that the content key does not have ExplicitIV defined in CPIX).

UseHighestPossibleBitrate

Only produce highest possible bitrate from source video. Supported values: true, false.

Use this if you only need to produce a single possible highest quality bitrate from your source content.

No. Defaults to false.

Archiving

A desired output archiving mode. Supported values: None, Tar, SingleTar, FlatTar, SplitTar.

Use this property, if you need to archive your output.

No. Defaults to None.

ArchiveOutputName

The name of the archive to create when using the Archiving property.

Use to provide a custom archive name.

No.

ChecksumFileName

Custom checksum file name for archive contents. Use only with the Archiving property.

-

No.

DeleteFilesFromSourceWhenDone

This option allows Encoding to remove source content from the acquisition location, once the processing is completed. Supported values: true, false.

Use this option in "burn after read" scenarios when source content should only be available once. Keep in mind that acquisition location access credentials should support file deletion.

No. Defaults to false.

ForceAspectRatioToStandard

Historically, Encoding has been accepting and producing videos with only common aspect ratios to reduce the amount of potential problems for our customers. Set this option to false to bypass this and make Encoding accept and produce any aspect ratios. Currently, if the aspect ratio is not 16:9 or 4:3, Encoding will also not produce a list of default bitrates so you need to specify the widths or heights (or both, although not recommended) for all representations by using the VideoRepresentation option. This will be improved in the future. Supported values: true, false.

Use this option if you want to submit and produce videos in any aspect ratios instead of only the most common ones.

No. Defaults to true, but will default to false in the future.

SearchForOptimalNearbyResolutions

If set to true, Encoding will go through all producible video representations and, for each, try to find a nearby resolution which’s width and height are divisible by 16, 8, or 4 (if it is not already divisible by either of these numbers), potentially improving how the output looks by getting a resolution better suited for encoders. The algorithm looks for resolutions with the same aspect ratio that are up to 10% larger and up to 15% smaller than the representation’s initial resolution. If no fitting resolutions are found, the representation’s resolution is left intact, provided that it is at least divisible by 2. If the representation’s resolution is not divisible by 2, the dimensions with the odd lengths are reduced by 1 pixel (e.g. 1921x1081 becomes 1920x1080). Supported values: true, false.

Use this if you want to potentially improve how the encoding result looks like. The caveat is that the output resolution is up to 10% larger or up to 15% smaller than requested/auto-generated.

No. Defaults to false.

ForcePixelAspectRatioTo1

If set to true, Encoding will set the pixel aspect ratio to 1:1 and recalculate the storage aspect ratio accordingly. The display aspect ratio is kept intact. Supported values: true, false.

Use this if you want to make the pixels square, for example for compatibility reasons, although generally it should not be necessary as virtually all players should be able to handle non-square pixels.

No. Defaults to false.

VideoRepresentations

A list of objects that define output bitrates.
Each object consists of three properties: Width for target width, Height for target height, BitrateInKbps for target bitrate bandwidth in kbps.

Use this property if you want to manually control which bitrates to produce or if you want Encoding to limit output for specific bitrates.
One more important note is that you may provide only Width or Height value (one of them can be omitted). A proportional counterpart value is calculated automatically. For example: if you only provide 1280 for width, then Encoding automatically puts 720 for height (it might be different, depending on the source video aspect ratio). This property has no effect in the packaging-only mode.

No. By default, Encoding tries to produce a list of default bitrates from source video.

Naming

Custom output files naming rules. Refer to custom naming for more details.

Use this property if you want to define custom file names in the output package.

No.

Revision History

The table below lists the document versions and any changes to them.

Version Date Description

1.0

October 20, 2020

Initial version.

1.1

November 25, 2020

ExplicitIV added as a property.

1.2

December 1, 2020

H.265 video codec added as an option for VideoFormat.

2.0

October 6, 2021

2.1

June 16, 2022

SearchForOptimalNearbyResolutions and ForcePixelAspectRatioTo1 added as properties.