Skip to main content

SVT-AV1

Software (CPU-based) AV1 Encoding

Slower, CPU-based encoding offers superior compression efficiency compared to hardware-accelerated encoding, at the cost of longer processing time. Av1an mitigates this by using chunk-based parallel encoding, running multiple encoder instances simultaneously to reduce overall encoding time. SVT-AV1 is feature rich and provides the fastest CPU-based AV1 encoding.

  1. Ensure you already have installed FFmpeg and understand basic usage. If not, read: Tool Installation & Preparation.

  2. Av1an chunked encoding is faster than FFMpeg encoding so it is recommended. FFMpeg SVT-AV1 encoding is shown further down the page. The following commands is a starting point that provides high-quality encoding for most videos, preserving detail efficiently while keeping encoding time reasonable:

av1an -i input.mkv -e svt-av1 -v "--crf 22 --preset 3 --enable-qm 1 --qm-min 8 --chroma-qm-min 8 --keyint 320 --enable-tf 1 --tf-strength 0 --enable-dlf 1 --enable-cdef 1 --aq-mode 2 --tune 0" -an -w 6 -m lsmash -c ffmpeg -l log -an -o output.mkv

Breakdown of the Command

Base Command & Input

  • av1an: A powerful, parallelized front-end for AV1 encoders like svt-av1, aom, and rav1e. Handles chunked encoding, muxing, logging, and parallel processing for efficiency.
  • -i input.mkv: Specifies the input file. Replace input.mkv with your actual video file path.

Encoder Selection

  • -e svt-av1: Uses the SVT-AV1 encoder backend. Developed by Intel and Netflix, SVT-AV1 is a fast and flexible AV1 encoder with a wide range of parameters for quality/speed tuning.

Video Encoding Settings

These options are passed directly to the SVT-AV1 encoder:

  • --crf 22: Constant Rate Factor of 22. Balances quality and file size. Lower = better quality & larger file. Ideal range: 18–26.
  • --preset 3: Speed/quality tradeoff. 0 = slowest/best quality, 13 = fastest/worst. Preset 3 is a good middle ground for encoding quality and performance. A value of 2 is often suitable for 1080p if your aiming for archival quality and don't care about encoding speed. 1 is not very practical.
  • --enable-qm 1: Enables custom quantization matrices for better visual quality.
  • --qm-min 8: Sets minimum QM index. Higher values increase compression, but may reduce detail.
  • --chroma-qm-min 8: Same as above, but for chroma planes.
  • --keyint 320: Tells the encoder to place keyframes intervals at a maximum of every 320 frames. Video is built in blocks of 32 frames (mini-GOPs). If you set your restart point (keyframe) to a multiple of 32—like --keyint 256 or --keyint 320—you are lining things up perfectly. It’s like ending a sentence at the end of a page instead of mid-way through. It makes the file easier to play, faster to seek, and more efficient to compress. For 24fps video, 320 frames is about 13 seconds, which is a great balance between quality and skip-ability.
  • --enable-tf 1: Enables temporal filtering, useful for reducing noise or flicker across frames.
  • --tf-strength 0: Sets temporal filter strength to 0 (minimal effect). This is prefered if your source has fine detail or grain you want to preserve. If you care about shinking your file more and it does not have a bunch of tiny details like grain then just omit this from the encoding command.
  • --enable-dlf 1: Enables Deblocking Loop Filter. 1 = auto (recommended).The encoder automatically adjusts the strength of the deblocking based on the CRF and the Preset you chose.
  • --enable-cdef 1: Enables CDEF (Constrained Directional Enhancement Filter), which is one of the "big three" tools that makes AV1 better than HEVC. It smooths out ringing artifacts around sharp edges (like text or hair) without blurring the whole image.
  • --aq-mode 2: Adaptive quantization mode. 2 = more aggressive rate-distortion-based AQ.
  • --tune 0: Tuning mode: 0 = VQ (Visual Quality), 1 = PSNR, 2 = SSIM, 3 = IQ (Image Quality), 4 = MS-SSIM. For video, Tune 0 is the standard as it utilizes AC-bias to optimize for human perception. If you prioritize compression efficiency through grain removal, Tune 4 (MS-SSIM) is scientifically superior to Tune 2, offering a 5–8% BD-rate improvement by using multi-scale structural analysis. Tune 3 (IQ) is specialized for still-image sharp-edge retention and will significantly increase bitrate if used for video.

SVT-AV1 v4.0.1: Tune Comparison (Mainline)

FeatureTune 0 (VQ)Tune 2 (SSIM)Tune 3 (IQ)Tune 4 (MS-SSIM)
Primary GoalHuman PerceptionMath ScoreStill ImagesStill Images
SmoothingSmart. Cleans noise but keeps "energy" via AC-Bias.Extreme. Scrubs grain to boost math scores.Low. Keeps grain sharp (causes bitrate bloat).Moderate. Better structure than Tune 2.
Community UseStandard. The go-to for all video.Niche. Used for maximum space saving.Avoid. Primarily for photos, not video.Experimental. 5–8% more efficient than the older, Tune 2. Removing noise while keeping edges sharp.
What about Tune 0?

In v4.0.1 Mainline, Tune 0 now includes the "AC-Bias" (formerly known as psy-rd) from the community forks. This means it is the only tune that can "smooth" a video effectively compressing it further (for a smaller file size) without making it look like a blurry mess. It removes the random noise but keeps the "energy" of the image.

Audio Handling

  • -an: Removes audio from the output file.

Optionally:

  • -a "-c:a libopus -b:a 128k": will convert you audio to Opus at 128kbps. Which can be convinient if you are encoding numerous episodes or videos. See Audio Format & Bitrate if you would like help determining what format and bitrate is suitable for your Stereo or Surround audio.
  • -a "-c:a copy": copies over the source audio into the new encoded file.

Output File & Chunking

  • -w 6: Sets the worker count to 6, which is suitable for 32 GB of RAM when encoding 1080p video. Higher worker counts can speed up processing depending on your CPU. My CPU is the AMD Ryzen 9 7900X3D and I have 64 GB of RAM. Therefore, -w 10 uses most of my RAM while encoding 1080p video without crashing. However, I set this to -w 5 or lower for 2160p (4K) video because each 4K worker consumes significantly more RAM than a 1080p worker. Keep in mind that chunked encoding via Av1an is faster than encoding with pure FFmpeg, even with only 2 workers. Encoding SVT-AV1 with FFmpeg is like using only 1 worker; using 2 workers in Av1an can nearly double the encoding speed.
  • -m lsmash: Splits the input using lsmash, recommended for frame-accurate chunking.
  • -c ffmpeg: Uses ffmpeg to combine encoded chunks into a final MKV file. mkvmerge can be used optionally as well if you have the executable in your Av1an folder as described in Av1an's documentation.
  • -l log: Logs progress and errors to a log file which is useful if you encounter errors or want to archive the encode settings and process.
  • -o output.mkv: Specifies the final output file.
  • output.mkv: Specifies the name of the output file.

Input has Film Grain

  • --film-grain 6: Determining this value requires encoding test clips until you find what looks like the original source grain. The value I entered when encoding the example source in the comparisons section below was 12. While SVT-AV1's built-in denoiser often creates 'blobby' artifacts and smears fine detail, VVC’s advanced Film Grain Analysis (FGA) surgically wipes the source clean of noise, allowing for much higher compression efficiency and a more natural grain reconstruction during playback.

So because SVT-AV1 is imperfect in that area and time consuming, I prefer VVenCs method of synthesising grain much more. The imperfections of SVT-AV1's denoiser is why it is disabled by default with: --film-grain-denoise 0. Of course you can experimient by setting it to 1, and the additional file size shrinkage might be worth it to you. Unfortunately Av1an does not support VVenC, so the slower encoding method of just using ffmpeg is the VVC encoding method to go for.

  • --adaptive-film-grain 1: This is enabled by default so you don't need to specify it. It is prefered to leave it enabled. Further details of it and other parameters workings are explained and listed in the link below.

📘 View Full SVT-AV1 Parameter list