Photograph via //r/AV1

Subreddit for AV1 video codec

Subreddit for AV1 video codec

What is AV1?

r/AV1 Discord server

IRC channel for SVT encoder

Related subreddits:

AOMedia, all things related to Open Alliance Media group, responsible for AV1 codec creation.

Webm, for posting your encoded content in webm container.

VP9, subreddit for all things related to VP9 encoder.

HEVC, subreddit for all things related to h.265 encoder.

Opus, most efficient audio codec currently available.


9,041 Subscribers


anime in dark scenes svt-av1-psy test 2

My English is not good. I will use Translate

part 1 test https://www.reddit.com/r/AV1/comments/1ctqrtw/anime_in_dark_scenes/

This is not a rigorous test

The purpose of my testing is actual use, so VBR should not be used

Test objects svt-av1-psy 2.0.0-A and svt-av1-psy 2.1.0

--crf 10 --preset 4 --aq-mode 0 --enable-dlf 1 --enable-cdef 0 --enable-restoration 0 --tune 0 --irefresh-type 2 --variance-boost-strength 4 --variance-octile 6

Output size is close to x265 crf 14

--enable-dlf 1 是必须的,不然会有blocking

--enable-cdef 0 --enable-restoration 0 几乎没有作用

--aq-mode 0 --tune 0 可以提高暗场 低对比度的细节,aq1和2都太模糊,tune 1 ,2也一样

comparison https://slow.pics/c/ZdAaAAmN

It can be seen that 2.1.0 is better than 2.0.0

1 Comment
11:31 UTC


A Second Deep Dive into SVT-AV1: v2.1.0 encoder benchmarks & comparisons


Hello! I'm thrilled to announce I have tested SVT-AV1's new v2.1.0 update and made a new blog post about the results.

The article contains efficiency analyses and direct comparisons with v2.0.0. You will also find preset recommentations based on my interpretation of the results.

I made the choice to supplement this benchmark with another psychovisual metric in addition to SSIMULACRA2, to facilitate double-checking. As a result, each chart has a SSIMULACRA2 version and a XPSNR version. Feel free to switch from one to the other!

You can find the blog post here: https://wiki.x266.mov/blog/svt-av1-second-deep-dive

SVT-AV1, the most scalable AV1 encoder, has received a new update and one may wonder if the old presets recommendation still holds today. We will delve into that in this blog post, based on a series of speed and visual quality benchmarks with SSIMULACRA2 and XPSNR of SVT-AV1 2.1.0 on a corpus of varied animated clips.

My future plans regarding the codec wiki's blog include:

  • aggrementing this blog post of image comparisons and thorough variance boost testing (soon).

  • an article focused on encoding tips and explaining common AV1 encoding knowlegde (near future).

  • an observation of SVT-AV1's evolution since its inception, as well as comparisons with current aomenc, rav1e and SVT-AV1-PSY, including a quick glance at the current state of AVM (development ground for AV2) and VVC (later date).

I would like to show my appreciation for Gb82, an enthusiast and creator of the codec wiki (and its associated discord server AV1 for Dummies), and to Sav1or who had to bear with me and my annoying requests, and helped troubleshoot every rendering issues of the blog post yesterday. If you want to reach out, you can find me over in AV1 weeb edition.

Once again, I appreciate constructive feedback and will gladly respond to your questions if you've got any.

Have a nice day.

10:42 UTC


Any improvements to my AV1 command intended for 4k remux movies?

& $ffmpegPath -i $_.FullName -c:v libsvtav1 -pix_fmt yuv420p10le -crf 30 -preset 3 -g 300 -c:a libopus -b:a 256k -ac 2 -c:s copy -map 0 $destPath

Using meta.ai here's the explanation of each command.

-i $.FullName: Input file. $ is a PowerShell variable that represents the current object in the pipeline, and FullName is a property that contains the full path and name of the file.

-c:v libsvtav1: Video codec. libsvtav1 is the AV1 video codec, which is a highly efficient and modern codec.

-pix_fmt yuv420p10le: Pixel format. yuv420p10le specifies the color space and bit depth of the video. In this case, it's 4:2:0 chroma subsampling with 10-bit color depth.

-crf 30: Quality setting. The CRF (Constant Rate Factor) sets the quality of the output video, with lower values resulting in higher quality and larger files. 30 is a moderate setting.

-preset 3: Speed preset. The preset determines how fast FFmpeg encodes the video, with higher values resulting in faster encoding but potentially lower quality. 3 is a medium speed preset.

-g 300: Keyframe interval. This sets the maximum distance between keyframes (I-frames) in the output video. A higher value results in fewer keyframes and potentially faster seeking.

-c:a libopus: Audio codec. libopus is a modern audio codec known for its high quality and efficiency.

-b:a 256k: Audio bitrate. This sets the target bitrate for the audio stream, in this case, 256 kbps.

-ac 2: Audio channels. This sets the number of audio channels in the output file, in this case, 2 (stereo).

-c:s copy: Subtitle codec. copy means that the subtitles will be copied from the input file without re-encoding.

-map 0: Input stream mapping. This tells FFmpeg to use the first input stream (video, audio, and subtitles) from the input file. $destPath: Output file path. This is the destination path for the remuxed file.

23:25 UTC


If "good enough" isn't good enough, you're in the wrong place.

00:26 UTC


How does YouTube do it?

We often talk about how hardware encoding is so inferior to software encoding, and how targeting a low bitrate with hardware encoding will make the result look like crap; yet, unless I’m misunderstanding something, YouTube uses hardware encoding to produce low bitrate video with good quality.

How do they do that?? And is there any way for prosumers to do it at home?

05:26 UTC


anime in dark scenes

anime Fate stay night Heaven's Feel III

src https://gofile.io/d/Emlz0P

comparison https://slow.pics/c/3HadfKXI

aom-av1-lavish, aom-psy101, and SVT-AV1-PSY all quite blurry

--crf 5 --preset 2 --enable-cdef 0 --tune 3 --variance-boost-strength 3 --qp-scale-compress-strength 3 --frame-luma-bias 100

--cpu-used=2 --end-usage=q --cq-level=5 --enable-qm=1 --qm-min=0 --aq-mode=0 --deltaq-mode=0 --quant-b-adapt=1 --arnr-strength=0 --enable-cdef=0 --enable-dnl-denoising=0 --tune=ssim --tune-content=psy

even with the settings mentioned above, the dark line couldn't be retained

23:14 UTC


Av1 vs av01

Is av01 the same thing as av1?

Sone programs are showing sone video files as av01.

23:41 UTC


Firefox enable Hardware AV1 decode on Apple M3 chip

15:25 UTC


Should I down-mix TrueHD 7.1 to 5.1 before converting it into OPUS 5.1 320kbps ?

I used ChatGPT for suggestion on how to convert TrueHD 7.1 to Opus 5.1 320 kbps. It gave me following steps -:

  1. Extract TrueHD Audio using ffmpeg or mkvtoolnix like tools.
  2. Down-mix to 5.1 Channels -: Use FFmpeg's pan filter to down-mix the TrueHD 7.1 audio to 5.1 channels. This filter redistributes the audio channels according to the desired down-mix configuration.
    1. Complex Approach -: ffmpeg -i truehd_audio.thd -af "pan=5.1|FL=FC+0.707*FL+0.707*BL+0.707*SL|FR=FC+0.707*FR+0.707*BR+0.707*SR|FC=FC|LFE=LFE|BL=LFE+0.707*BL|BR=LFE+0.707*BR" -ac 6 truehd_5.1_audio.wav
    2. Simple Approach -: ffmpeg -i input_truehd_audio.thd -af "pan=5.1|FL=FL+0.5*BL+0.5*LFE|FR=FR+0.5*BR+0.5*LFE|FC=FC|BL=0.5*BL+0.5*LFE|BR=0.5*BR+0.5*LFE" -ac 6 output_5.1_audio.wav
  3. Convert to Opus -: ffmpeg -i "input-file" -c:a libopus -b:a 320K -vbr on -mapping_family 1 -ac 6 -compression_level 10 "output.opus"

Is it necessary to downmix 7.1 to 5.1 before encoding to opus ? If yes, please explain in simple terms, and which approach to use for best possible result among above.

Using ffmpeg directly to convert TrueHD 7.1 to Opus 5.1 320 kbps also works but don't know what's happening behind the scenes (what ffmpeg do to down-mix 7.1 to 5.1).

NOTE -: I want Opus 5.1 320kbps from TrueHD 7.1, don't get confused from the title. Please.

05:51 UTC


Try to encode AV1 HDR10+ with SVT-AV1-PSY


I tried to encode in AV1 with DoVi and it worked perfectly.

Now I'm trying to encode a source that has DoVi (in profile 8.1 in this case) and HDR10+ but in this case I lose the hdr10+ layer for only simple HDR10. I've also tried encoding seuelemnt with HDR10+ without DoVi and again the encoding doesn't keep the dynamic layer.

I've seen that you can encode HDR10+ in AV1 via Rigaya hardware encoders with NVENC for example, but I don't own any AV1 hardware encoders and besides I don't want to encode with my library of films and series.

Here are the parameters I use via staxrip (with SVT-AV1-PSY 2.0.0-7+6-62325458-.Mod-by-Patman.-x64-msvc1937) :

--rc 0 --crf 27 --progress 3 --enable-hdr 1 --preset 7 --tune 0 --keyint 2s --scd 1 --enable-overlays 1 --color-primaries 9 --transfer-characteristics 16 --matrix-coefficients 9 --chroma-sample-position 2 --mastering-display "G(0.2650,0.6900)B(0.1500,0.0600)R(0.6800,0.3200)WP(0.3127,0.3290)L(1000.0000,0.0050)" --content-light "699,333"

Am I missing something, or does SVT-AV1 still not support HDR10+ encoding?


20:04 UTC


game streaming at low bitrate ~500kbit/s or lower

my friend streams video games on yt but his internet upload speed is ~600kbit/s, sometimes lower. He has an intel arc a580 gpu, don't know about the cpu yet. i tried transcoding 720p16fps x264 at 200mbit/s to AV1 at ~600kbit/s

ffmpeg -i in.mp4 -c:v libsvtav1 -crf 58 -preset 6 default_settings.mp4 - gave me 610kb/s bitrate
ffmpeg -i in.mp4 -c:v libsvtav1 -crf 58 -preset 6 -svtav1-params tune=0:lookahead=120:enable-tf=0 -pix_fmt yuv420p10le -g 240 mod_settings.mp4 - gave me 628kb/s (i found these parameters in comments of this sub)

then captured a screenshot with
ffmpeg -i file.mp4 -ss 00:00:10.125 -frames:v 1 file.png

original video and screenshots are here: https://drive.google.com/drive/folders/1OuuJFK1y8t_6JcHxJm-fEaAUNXVVjxaM?usp=drive_link

any tips for encoder and its settings? im very new, thanks

01:29 UTC


Trying to overload OBS NVENC's AV1 encoding on dual NVENC encoder RTX 4070 Ti SUPER @ 4k@60Hz

1 Comment
23:10 UTC


AV1 in Dark Scenes

Hey there, i am not entirely new to transcoding in general but I wouldnt say i am experienced either. I recently started trying AV1 to Store my Movies. I have now tried out Transcoding How to train your dragon 3.
While Previewing i noticed that it doesnt handle Dark Scenes very well
The Bitrate is very low for that scene as well even though the CRF is arguably low (the images are from CRF 7 and the resulting bitrate for the 30sek preview is ~7mbit/s)
I am aiming for about 15 though(i know other scenes have higher bitrate etc. but you get the point).
I have tried out setting film-grain and with the film-grain-denoise but i found it lost too much detail.
For the Images below i used the Following Settings:
AV1 10-bit (SVT)
Encoder Preset 3
Colourspace: bt.709

The Source File is in HDR and i am Using the Handbrake Colourspace to make it SDR. Could that be the reason for the bad Artifacts or is it AV1?

Are there any Settings or Advanced Options i could use to mitigate this Problem?



To fix my issues i had to do two things:

  1. If you are using video-compare to compare the videos, do not be an idiot like me. Video-compare needs to be run with the parameter -b if the video files are 10bit.

This took care of a lot of Banding for me.
2. The following Settings worked really well for me. Keep in mind that my target bitrate is about 15 mbps:
Advanced options:
Change the Film grain to your preferences
Encoder Preset: 5
Constant quality: somewhere between 5 and 12

Of course your mileage may vary but that did the trick for me.

22:22 UTC


What happens if we watch AV1 video with a GPU that does not support AV1?

Hello. My GPU does not support AV1. If I install AV1 codec from Store and watch AV1 video from YouTube, it opens. I think it is done software with the CPU. Is it a problem? Is there any harm to the processor and can I get AV1 image even if my GPU does not support it?

CPU: Ryzen 3600.

Windows 10.

16:10 UTC


Overloading OBS NVENC's AV1 encoding on dual NVENC encoder RTX 4070 Ti SUPER @ 4k and 35000 kbps

00:31 UTC


AVIF Album art

I noticed that the cover art of my opus audio files sometimes takes up the same space as the audio itself. Especially if it uses png. Is there any way to use av1 as the image codec? If av1 isn't supported, can webp be used?

I know that Foobar2000 supports webp cover art, but I don't know any other player that supports anything other than png and jpg.

07:22 UTC


SVT AV1 CBR Encoding

Hey all,
I'm trying to configure the SVT AV1 codec (v2.0) to live stream with CBR via FFmpeg. However I'm noticing that on static or low movement frames the bitrate is still dropping to near 0, where as the high movement sections remain consistently near the target bitrate. The input video is just a standard h264 encoded avi file which I use for testing purposes.

Does anyone have any idea how to correctly configure the codec to keep even the low movement sections near the target. On codecs such as x264 & x265 you'd just configure the codec into CBR mode and it would do this for you, but that doesn't appear to be the case here. I've tried to add a few different settings that were mentioned in previous threads having issues with this, but they don't seem to have helped. Command line below:

ffmpeg -stream_loop -l -fflags +genpts+nobuffer+sortdts -re -i TestDemo.avi -c:v libsvtav1 -pix_fmt yuv420p -b:v 2M -bufsize 1M -s 1280x720 -r 25 -g 50 -preset 12 -svtav1-params rc=2:pred-struct=1:tbr=2m:enable-force-key-frames=0 -f matroska srt://:1234?mode=listener

On a side note, I've also noticed that configuring -maxrate and -minrate (pretty standard for rate control with FFmpeg) causes the codec to break as well, and stops it from starting.

13:18 UTC


ffmpeg vs handbrake; trying to re-create the same svt-av1 10-bit encode. why is ffmpeg scoring higher in vmaf and significantly higher in psnr?

hey all. for some reason, when i try to re-create the same encode in handbrake (latest nightly) and ffmpeg (also latest), the ffmpeg variant scores a good bit above the handbrake variant. with handbrake, i made two encodes, one with PSNR and another with no tune. while ffmpeg is default which should also be PSNR. i'd love to use handbrake because batch encoding with ffmpeg has been a challenge, but i need to figure out how to clone my ffmpeg settings. ffmpeg code and handbrake info below.

ffmpeg -i showremux.mkv -c:v libsvtav1 -pix_fmt yuv420p10le -g 72 -crf 28 -preset 4 -svtav1-params film-grain-denoise=0:film-grain=8 -c:a libopus -b:a 192000 -metadata:s:a:0 title="Opus 192kbps" ffmpegav1-showremux.mkv

Svt[info]: -------------------------------------------
Svt[info]: SVT [version]:	SVT-AV1 Encoder Lib v2.0.0
Svt[info]: SVT [build]  :	GCC 13.2.0	 64 bit
Svt[info]: -------------------------------------------
Svt[info]: Number of logical cores available: 48
Svt[info]: Number of PPCS 272
Svt[info]: [asm level on system : up to avx512]
Svt[info]: [asm level selected : up to avx512]
Svt[info]: -------------------------------------------
Svt[info]: SVT [config]: main profile	tier (auto)	level (auto)
Svt[info]: SVT [config]: width / height / fps numerator / fps denominator 		: 1920 / 1080 / 24000 / 1001
Svt[info]: SVT [config]: bit-depth / color format 					: 10 / YUV420
Svt[info]: SVT [config]: preset / tune / pred struct 					: 4 / PSNR / random access
Svt[info]: SVT [config]: gop size / mini-gop size / key-frame type 			: 72 / 32 / key frame
Svt[info]: SVT [config]: BRC mode / rate factor 					: CRF / 28
Svt[info]: SVT [config]: film grain synth / denoising / level 				: 1 / 0 / 8
Svt[info]: -------------------------------------------
encode detailsVMAFPSNR
handbrake (no tune)95.409739.8350
handbrake (PSNR)95.463339.8440

the huge gap between ffmpeg and handbrake PSNR, coupled with the near-identical scores in handbrake with PSNR enabled and disabled leads me to believe PSNR just isn't working properly in handbrake. i'm a bit new to this so i could be missing something obvious, so i'd appreciate any help.

edit: i wanna add that earlier i mentioned trouble batch encoding with ffmpeg. i figured it out, so at least until i resolve this out i'll be using ffmpeg. for anyone curious, the code i posted above has been translated into the below for batching. this will pull any files ending in .mkv or .mp4 in the folder and re-create them with the same name, but ending with "-av1.mkv". obviously, adjust the code in-between to your needs. appreciate all the help so far.

for /R %f IN (*.mkv *.mp4) DO ffmpeg -i "%f" -c:v libsvtav1 -pix_fmt yuv420p10le -g 72 -crf 28 -preset 4 -svtav1-params film-grain-denoise=0:film-grain=8 -c:a libopus -b:a 192000 -metadata:s:a:0 title="Opus 192kbps" "%~nf-av1.mkv"

18:48 UTC


DTS or TrueHD Atoms to Opus ?

How to convert DTS or TrueHD Atoms audio to Opus ( 256kbps, 5.1, VBR etc. ) using opusenc ?

Step by step explanation would be appreciated.

13:41 UTC


Best Visually Lossless AVIF

Which is best for making visually lossless avif files, libsvtav1 or libaom-av1?

03:06 UTC


AV1 on Netflix

Can anyone help me with this? How to prove that Netflix uses AV1? I.e. certain TV model or TV box model; certain movies; specific types of Netflix subscriptions?

I searched this subreddit. People just threw out a Netflix tech blog link….

01:54 UTC


About libsvtav1

Can libsvtav1 make lossless avif files, both still and animated images?

17:07 UTC


SVT-AV1 Preset 6 high blocking

When using SVT-AV1-PSY with preset 6, there's heavy blocking, especially when the screen fades in and out. When using preset 4, the blocking goes away. Here's the parameters I use:

-pix_fmt yuv420p10le -svtav1-params "crf=32:preset=6:film-grain=15:film-grain-denoise=1:tune=3:enable-tf=0:keyint=12s"

I tried using tune=0 and enable-dlf=2, but it didn't help. Why is this happening?

10:11 UTC

Back To Top