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.
-
Ensure you already have installed Av1an and/or FFmpeg and understand basic usage. If not, read: Tool Installation & Preparation.
-
Av1an chunked encoding is faster than FFmpeg encoding so it is recommended. FFmpeg SVT-AV1 encoding is shown further down the page. The following encoding command 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 5 --chroma-qm-min 5 --keyint 320 --ac-bias 1.0 --tune 0" -a "-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 likesvt-av1,aom, andrav1e. Handles chunked encoding, muxing, logging, and parallel processing for efficiency.-i input.mkv: Specifies the input file. Replaceinput.mkvwith 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 high encoding quality and performance. 4 is good as well, but is less compression efficient and turns off more desirable features. 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 at the expense of encoding time.--qm-min 5: Sets minimum QM index. Higher values increase compression, but may reduce detail and introduce artifacts. The default is 8. It protects high contrast edges the lower you put this and can lessen "ringing" artifacts around line work for example.--chroma-qm-min 5: Same as above, but for chroma planes. Tells the encoder, "Even if you think this dark area is unimportant, do not compress the color detail so much when needed." This prevents color banding and "gray-out" in shadows. The default is already 8; lower this down as low as 1 if you are care about this preservation more than file size.--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 256or--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.--ac-bias 1.0: This can be specified to psychovisually preserve more energy like that of a grainy video. While this value can be increased all the way to 8.0 to dramatically preserve original film grain, textures, and edges, a value of 1 is used in this example; mainly to reduce bitrate bloat while still getting some effect. A value of 1.0 adds about 5-10% of file size bloat while with 3.0 you can expect 30-50% bloat.--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)
| Feature | Tune 0 (VQ) | Tune 1 (PSNR) | Tune 2 (SSIM) | Tune 3 (IQ) | Tune 4 (MS-SSIM) |
|---|---|---|---|---|---|
| Primary Goal | Human Perception | Math Score | Math Score | Still Images (AVIF) | Most Compression-Efficient |
| Smoothing | Smart. Cleans noise but keeps "energy" via AC-Bias. | Not relevant | Extreme. Scrubs grain to boost math scores. | Low. Keeps grain sharp (causes bitrate bloat). | Moderate. Better structure than Tune 2. Usage examples: Encoding an anime or 3D animation that has mainly smooth surfaces and less texture detail; or shrinking your output file as much as possible. |
| Community Use | Standard. The go-to for all video. | Scientific Testing. Used primarily by developers for apples to apples benchmark comparisons. Don't use it if you're after visual quality as it turns off those psychovisual features to satisfy a math equation. | 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. |
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 preserve fine textures like grain and selectively "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
-
-a "-an": Removes audio from the output file so you can process the audio seperately then/or mux in a different audio track you may have. For my personal videos I have filmed, edited encoded I just keep the audio as lossless format and let Youtube encode it when I upload it there: -
-a "-c:a copy": Copies over the source audio into the new encoded video.
But you may want to just encode the audio during the video encoding process, to a codec like Opus. See, Audio Format for other audio options and if you would like help determining what format and bitrate is suitable for your stereo or surround audio.
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 10uses most of my RAM while encoding 1080p video without crashing. However, I set this to-w 5or 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 usinglsmash, recommended for frame-accurate chunking.-c ffmpeg: Usesffmpegto combine encoded chunks into a final MKV file.mkvmergecan 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.
This is a guide based on personal experience and research to get you started with SVT-AV1 enthusiast level encodes, based on the provided example command. It is not a full on SVT-AV1 wiki.
Encoding SVT-AV1 with FFmpeg Only
View the FFmpeg command.
This is the same encoding command that is explained above, but excluding Av1an and only uses FFmpeg. This method of encoding is not chunked parallel encoding like Av1an is used for, and therefore much slower. But at least installation and getting started is a breeze.
ffmpeg -y -i input.mkv -map 0 -c:v libsvtav1 -preset 3 -crf 22 -svtav1-params "tune=0:enable-qm=1:qm-min=5:chroma-qm-min=5:keyint=320:ac-bias=1.0" -an encoded_output.mkv
Comparisons
Coming soon.