Skip to main content

Aviator

Aviator is a GUI application designed for encoding AV1 video & Opus audio with SVT-AV1, libopus, & ffmpeg on Linux systems in a user-friendly, intuitive manner. Aviator's primary focus is ease-of-use, while still striving to offer optimal quality per bit through a smart default encoding configuration implemented via the SVT-AV1-PSY encoder.

Aviator Splash

Installation​

Aviator is available on Linux through Flathub as a Flatpak. You can learn how to set up Flatpak on your distro of choice here. Please do not use Aviator through the AUR.

Download on Flathub

If Flatpak is already set up and you'd prefer to install Aviator from the terminal, you can run the following commmand:

flatpak install flathub net.natesales.Aviator

Flatpak was chosen for Aviator because it allows Aviator to ship its own sandboxed dependencies, ensuring every Linux user has a cohesive experience. One major benefit is the latest stable SVT-AV1-PSY implementation is always included, and Flatpak Aviator won't use your system's SVT-AV1 implementation which may be incompatible with Aviator's custom parameters.

If you would like to build Aviator from source, you may do so via the following commands. Ensure you have the right dependencies; if not, make will warn you and you can install them as you see what you're missing.

git clone https://github.com/gianni-rosato/aviator
cd aviator
make

Aviator's Defaults​

Hovering over most user configurable options in Aviator will produce a helpful tooltip that you can look at to make things more clear.

Perceptual Optimization​

Aviator doesn't use mainline SVT-AV1, but rather uses a fork dubbed SVT-AV1-PSY maintained for perceptual quality. It includes several unique changes, including a custom SSIM-based RDO tune that isn't included in mainline SVT-AV1. You can read more about SVT-AV1-PSY on the SVT-AV1 entry.

Aviator's default FFmpeg command uses the following encoding parameters, some of which are redundant with defaults:

-c:v libsvtav1 -crf X -preset X -pix_fmt yuv420p10le -svtav1-params film-grain=X:irefresh-type=2:input-depth=10:tune=3:sharpness=1:qm-min=0:keyint=300:aq-mode=2:enable-qm=1:film-grain-denoise=X

Video​

Aviator Video Settings

By default, output resolution will match your source's resolution. Manually changing one resolution value will automatically calculate the other based on the video's aspect ratio. Aviator's SVT-AV1 speed preset is set to 6 by default, with a CRF (Constant Rate Factor) level of 32. You can set CRF from 0 to 63 using the slider, with larger numerical values indicating smaller filesize at the expense of visual quality. You can look at the detailed specifications behind each speed preset here. Speed 7 offers a good balance between speed & compression efficiency at any CRF level.

Setting values that don't correspond with the source video's aspect ratio means the output will either stretch or crop based on if the "crop" option is checked.

The Grain Synth slider allows you to add artificial grain to your video to mimic its natural grain. This option applies the artificial grain at decode time as a filter, which makes it easier to encode grainy videos at high fidelity. The Denoise switch removes noise from the video before applying artificial grain.

Audio​

Aviator Audio Settings

The default bitrate for Opus audio is 80kb/s. The audio source can be copied to the output media via that "Copy Audio" switch, & audio with >2 channels can be downmixed to stereo via the appropriately labelled switch. Volume adjustment & normalization are also offered in this section as well; the Volume slider allows you to increase or decrease the output's volume & is measured in decibels, & negative values decrease the volume. The Normalize toggle allows you to normalize your audio's perceived loudness.

The "Copy Audio" switch disables WebM output due to potential compatibility hiccups & overrides every option on the Audio page to keep the source audio untouched. This option, when enabled, ensures the source audio isn't reencoded.

The Volume slider allows you to increase or decrease the output's volume. It is measured in decibels, and negative values decrease the volume. The Normalize switch allows you to normalize the audio's perceived loudness.

Output​

Aviator Output UI

The container your video is stored in is associated with the file extension. Aviator offers two options for video output: the Matroska video container & the WebM container. The open-source Matroska container (.MKV) is used by default in Aviator & is a universal multimedia container with broad video & audio support. WebM is designed for web compatibility. Aviator won't copy subtitles to WebM outputs because WebM is only officially compatible with WebVTT subtitles. Both containers work out of the box with Aviator's AV1 video & Opus audio, but WebM output will be disabled if the Copy Audio switch is enabled because then we lose this format compliance assurance.

Credits​

Aviator is actively developed by Gianni Rosato.