AudionAudion

Encoding Pipelines

ENCODING_PIPELINES_EN.md

Encoding Pipelines

Русский

Why Archive, Editing, Storage And Delivery Are Separate

These are the four modes of the ENCODE section. They look alike, because all of them build FFmpeg encode commands, but their goals differ.

If you choose by the codec alone, it is easy to go wrong. Choose by the purpose of the result.

Common Fields

Many encode sections repeat these fields:

The tooltips over these fields explain their meaning without opening the documentation.

Archive

Purpose: long-term master formats.

Profiles:

Targets:

When to choose it:

By its purpose the container is usually MKV, because it holds FFV1/FLAC and service streams well.

A lossless archive either keeps the data of the source as it is or refuses - there is no quiet loss of precision:

FFV1 keeps it, and the run is not green. A pixel format chosen by hand is the person's choice and is not refused.

Editing Codecs

Purpose: an intermediate/mezzanine for an NLE.

Profiles:

Targets:

When to choose it:

Recommendations:

Storage

Purpose: compact high-quality files for a library or for transfer.

Profiles:

Targets:

When to choose it:

CRF:

Delivery / Publishing

Purpose: files for viewing, uploading and transfer.

Profiles:

CPU/NVENC/AMF/QSV are chosen separately in the Encoder block, so that the profile describes the output scenario and not the hardware backend.

Targets:

When to choose it:

A hardware encode uses CQ/QP; a software encode usually uses CRF.

Decode Backend

Decoder:

The decode backend reads the input stream. It is not the same as the encode backend. For example, you can decode AV1 with dav1d and encode H.264 with x264 on the CPU.

dav1d AV1 is not a general accelerator but a forced AV1 decoder (-c:v libdav1d). FFmpeg cannot read a source of another codec with it, so the preflight checks the codec of the first file of the Source and stops the operation with a clear message. For a mixed Source choose CPU/Auto.

Where The Frames Live: -hwaccel_output_format

A hardware decoder gives its frames either to video memory or to system memory. -hwaccel_output_format controls this, and the default behavior differs between the three stacks:

So the program sets the format itself:

Mixed pairs (for example CUDA decode and CPU encode) work fully: the hardware decoder speeds up reading, and the encode runs on the CPU.

Encode Backend

Encoder:

Recommendations:

The encoder applies to all three target families: H.264, HEVC and AV1. The AV1 target is encoded with SVT-AV1 on the CPU and with av1_nvenc, av1_qsv or av1_amf on the matching hardware. The quality controls are always the backend's own: CRF and SVT-AV1 preset for the CPU, CQ/QP and NVENC preset/QSV preset/AMF quality for hardware encoders.

Before a hardware encode, run Hardware capabilities.

Audio Mode

The common field Audio:

For delivery, usually AAC. For archive, source or FLAC. For editing tasks, source or PCM.

Not every mode fits every container, and this is checked before the run:

A mode that is not available is grayed out in the form, and when the container is switched to MXF or MOV, an incompatible mode that is already selected moves to PCM 24-bit by itself. The backend checks the same, so the CLI and a profile cannot build an impossible pair either.

MP3 / LAME

With Audio = MP3 the same scale of LAME presets appears as in the AUDIO section; it is one for the whole program:

With MP3 the Audio bitrate field is shown only for the third choice, because the first two do not read it. The value 384 kbps is not available for MP3: the ceiling of MPEG-1 Layer III is 320 kbps, and LAME silently lowers any bigger number to it. The limit lives in the shared contract, so both the GUI and the CLI (AUDION_MP3_LAME_PRESET) encode MP3 the same way.

Interlaced Source

A source of two fields (25i, 29.97i, 50i) becomes progressive in EDITING, STORAGE, DELIVERY and COLOR by default. The field Interlaced source stands in the block «Advanced»:

The folder of the settings says what was done: x264_crf14_slow_progressive_2x. A progressive source is not touched. ARCHIVE always keeps the fields - it is a lossless archive.

Pixel Format

Choices:

In practice:

Pixel format applies to hardware encoders too: the selected format is translated into the encoder's own format (yuv420p10le → p010le, for QSV yuv420p → nv12). If the selected encoder physically cannot produce the requested format, the operation stops with an explicit message instead of silently writing another format:

auto leaves the format negotiation to FFmpeg; this is the default behavior.

Encode Tuning

Flags:

Do not turn tuning on “just in case”. It must match the material or a delivery requirement.

These are tune values for x264/x265, so the block is shown only when Encoder = CPU. NVENC, QSV and AMF have their own quality scale (NVENC preset, QSV preset, AMF quality) and do not read the tuning list.

Test On First File

Test on first file matters especially for encoding. It checks:

For a large Source this is a required habit.

Alle Projekte