____________________________________________________________
Encoding
Handbrake 1.8.2 (2024081000)
Video.svt-av1 10 bit fast decode Preset 5 2-pass vbr 1572 kbps
Audio.2.0 aac 256 kbps - passtrough
FFmetrics - 10 min
PSNR 49.2395
SSIM 0.9929
VMAF 95.4912
____________________________________________________________
File
Video: AV01 1920x1080 29.97fps [V: av1 main, yuv420p, 1920x1080 [default]]
Audio: AAC 48000Hz stereo [A: Stereo (aac lc, 48000 Hz, stereo) [default]]
Subtitle: UTF-8 [S: Arabic [ara] (subrip) [default]]
Subtitle: UTF-8 [S: Bulgarian [bul] (subrip) [default]]
Subtitle: UTF-8 [S: Bengali [ben] (subrip) [default]]
Subtitle: UTF-8 [S: Czech [cze] (subrip) [default]]
Subtitle: UTF-8 [S: Danish [dan] (subrip) [default]]
Subtitle: UTF-8 [S: German [ger] (subrip) [default]]
Subtitle: UTF-8 [S: Greek [gre] (subrip) [default]]
Subtitle: UTF-8 [S: English [eng] (subrip) [default]]
Subtitle: UTF-8 [S: Spanish [spa] (subrip) [default]]
Subtitle: UTF-8 [S: Estonian [est] (subrip) [default]]
Subtitle: UTF-8 [S: Finnish [fin] (subrip) [default]]
Subtitle: UTF-8 [S: French [fre] (subrip) [default]]
Subtitle: UTF-8 [S: Irish [gle] (subrip) [default]]
Subtitle: UTF-8 [S: Hindi [hin] (subrip) [default]]
Subtitle: UTF-8 [S: Croatian [hrv] (subrip) [default]]
Subtitle: UTF-8 [S: Hungarian [hun] (subrip) [default]]
Subtitle: UTF-8 [S: Indonesian [ind] (subrip) [default]]
Subtitle: UTF-8 [S: Italian [ita] (subrip) [default]]
Subtitle: UTF-8 [S: Hebrew [heb] (subrip) [default]]
Subtitle: UTF-8 [S: Japanese [jpn] (subrip) [default]]
Subtitle: UTF-8 [S: Korean [kor] (subrip) [default]]
Subtitle: UTF-8 [S: Luxembourgish [ltz] (subrip) [default]]
Subtitle: UTF-8 [S: Malay [may] (subrip) [default]]
Subtitle: UTF-8 [S: Dutch [dut] (subrip) [default]]
Subtitle: UTF-8 [S: Norwegian [nor] (subrip) [default]]
Subtitle: UTF-8 [S: Polish [pol] (subrip) [default]]
Subtitle: UTF-8 [S: Portuguese [por] (subrip) [default]]
Subtitle: UTF-8 [S: Russian [rus] (subrip) [default]]
Subtitle: UTF-8 [S: Slovak [slo] (subrip) [default]]
Subtitle: UTF-8 [S: Serbian [srp] (subrip) [default]]
Subtitle: UTF-8 [S: Swedish [swe] (subrip) [default]]
Subtitle: UTF-8 [S: Thai [tha] (subrip) [default]]
Subtitle: UTF-8 [S: Turkish [tur] (subrip) [default]]
Subtitle: UTF-8 [S: Vietnamese [vie] (subrip) [default]]
Subtitle: UTF-8 [S: Chinese [chi] (subrip) [default]]
Subtitle: UTF-8 [S: Twi [twi] (subrip) [default]]
Subtitle: UTF-8 [S: No subtitles]
General
Unique ID : 281968417980733799369927010264635100872 (0xD42124573B7786E6851F2AF3103B4EC8)
Complete name : SONE-198.Yura.Kano.24.05.23.xxx.1080p.av1.1600mb.subs.vmaf95-Rosy.mkv
Format : Matroska
Format version : Version 4
File size : 1.53 GiB
Duration : 1 h 59 min
Overall bit rate : 1 833 kb/s
Frame rate : 29.970 FPS
Movie name : SONE-198.Yura.Kano.24.05.23.xxx.1080p.av1.1600mb.subs.vmaf95-Rosy
Encoded date : 2024-12-04 20:59:00 UTC
Writing application : mkvmerge v88.0 ('All I Know') 64-bit
Writing library : libebml v1.4.5 + libmatroska v1.7.1
Cover : Yes
Attachments : cover.jpg
Video
ID : 1
Format : AV1
Format/Info : AOMedia Video 1
Format profile : Main@L4.0
Codec ID : V_AV1
Duration : 1 h 59 min
Bit rate : 1 572 kb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 (30000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 0)
Bit depth : 8 bits
Bits/(Pixel*Frame) : 0.025
Stream size : 1.31 GiB (86%)
Default : Yes
Forced : No
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
Audio
ID : 2
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Codec ID : A_AAC-2
Duration : 1 h 59 min
Bit rate : 256 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 219 MiB (14%)
Title : Stereo
Default : Yes
Forced : No
____________________________________________________________
Source
hhd800.com@SONE-198.mp4
Video: MPEG4 Video (H264) 1920x1080 29.97fps 5740kbps [V: h264 main L4.0, yuv420p, 1920x1080, 5740 kb/s]
Audio: AAC 48000Hz stereo 255kbps [A: aac lc, 48000 Hz, stereo, 255 kb/s]
General
Complete name : SONE-198\hhd800.com@SONE-198.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/avc1/mp41)
File size : 5.01 GiB
Duration : 1 h 59 min
Overall bit rate : 6 007 kb/s
Frame rate : 29.970 FPS
Writing application : Lavf61.1.100
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L4
Format settings : CABAC / 3 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference fra : 3 frames
Format settings, GOP : M=4, N=60
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 1 h 59 min
Source duration : 1 h 59 min
Bit rate : 5 740 kb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 (29970/1000) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.092
Stream size : 4.79 GiB (96%)
Source stream size : 4.79 GiB (96%)
Writing library : x264 core 164 r3156 d46938d
Encoding settings : cabac=1 / ref=3 / deblock=1:1:0 / analyse=0x1:0x131 / me=hex / subme=7 / psy=1 / psy_rd=0.50:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=8 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=0 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=infinite / keyint_min=60 / scenecut=0 / intra_refresh=0 / rc_lookahead=40 / rc=abr / mbtree=1 / bitrate=5744 / ratetol=1.0 / qcomp=0.50 / qpmin=10 / qpmax=69 / qpstep=4 / vbv_maxrate=8041 / vbv_bufsize=8041 / nal_hrd=none / filler=0 / ip_ratio=1.41 / aq=2:1.00
Color range : Limited
Color primaries : BT.709
Transfer characteristics : BT.709
Matrix coefficients : BT.709
mdhd_Duration : 7169463
Codec configuration box : avcC
Audio
ID : 2
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Codec ID : mp4a-40-2
Duration : 1 h 59 min
Bit rate mode : Constant
Bit rate : 256 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 219 MiB (4%)
Default : Yes
Alternate group : 1
____________________________________________________________
Tools
Ab-av1
FFBitrateViewer
FFmpeg
FFmetrics
Freefilesync
Handbrake
Jackett
Mediainfo
Mkvtoolknix
Qbittorent
Scenerulez
Shutterencoder
VVV-virtualvolumeview
Xnconvert
Xnview mp
===================== AV1 guide v20 ========================
1) TLDR ez recipe
Handbrake
svt-av1 10 bit
Preset 5-7
crf 25
fast-decode
____________________________________________________________
2) Encoding by crf
stv-av1 10 bit crf 25 - high quality
stv-av1 10 bit crf 20 - very high quality
stv-av1 10 bit crf 15 - super high quality
stv-av1 10 bit crf 10 - max quality (usually from here file gets bigger than original)
____________________________________________________________
3) Encoding by crf + vmaf
Step 1 - Check VMAF with Ab-av1
1.1 AV1
Source resolution → crf-search -i "c:\file.mkv" --pix-format yuv420p10le --svt fast-decode=1 --svt tune=0 --preset 5 --min-samples 20 --min-vmaf 98
1080p Downscale → crf-search -i "c:\file.mkv" --pix-format yuv420p10le --svt fast-decode=1 --svt tune=0 --preset 5 --min-samples 20 --min-vmaf 96 --vfilter "scale=-1:1080"
720p Downscale → crf-search -i "c:\file.mkv" --pix-format yuv420p10le --svt fast-decode=1 --svt tune=0 --preset 5 --min-samples 20 --min-vmaf 96 --vfilter "scale=-1:720"
Sample encode → sample-encode -i "c:\file.mkv" --pix-format yuv420p10le --svt fast-decode=1 --svt tune=0 --preset 5 --min-samples 20 --crf 20
1.2 x265
Source resolution → crf-search -i "c:\file.mkv" --encoder libx265 --pix-format yuv420p10le --preset medium --min-samples 20 --enc x265-params=fastdecode=1 --min-vmaf 98
1080p Downscale → crf-search -i "c:\file.mkv" --encoder libx265 --pix-format yuv420p10le --preset medium --min-samples 20 --enc x265-params=fastdecode=1 --min-vmaf 96 --vfilter "scale=-1:1080"
720p Downscale → crf-search -i "c:\file.mkv" --encoder libx265 --pix-format yuv420p10le --preset medium --min-samples 20 --enc x265-params=fastdecode=1 --min-vmaf 96 --vfilter "scale=-1:720"
Step 2 - HandBrake
Summary:
- Container: MKV
Dimensions:
- Cropping: None
- Anamorphic: None
- Borders: None
Video:
- Encoder: AV1 (10-bit SVT)
- Framerate: Same as source
- Preset: 5
- Fast Decode: ✓
- Encoder Profile: Main
- Encoder Level: Auto
- Quality: CRF determined from "ab-av1"(1), or crf 15-20-25
Audio:
- DTS to Opus Conversion:
- DTS 7.1 → Opus @ 512 kbps
- DTS 5.1 → Opus @ 384 kbps
- DTS 2.0 → Opus @ 128 kbps
*When passtrough? lossy codec(opus,aac, ac3, eac3,wma) 768-128 kbps
Step 3 - Subtitles
- Original → passtrough
- Subtitle Translator
- Whisper OpenAI
- Opensubtitles
- Subtitlecat
*If size is an issue don`t use pgs, prefer ass/srt.
____________________________________________________________
4) Encoding by vbr preset 5-7
Step 1 - recommended sizes:
av1 1080p 30min high quality - 400mb
av1 1080p 60min high quality - 800mb
av1 1080p 120min+ high quality - 1600mb
av1 1080p super high quality - 4000mb - 4600mb
av1 2160p 120min+ medium quality - 4000mb - 4600mb
av1 2160p 120min+ high quality - 6000 - 8400mb
av1 2160p 120min+ super high quality - 12000 - 16000mb
Step 2 - recommended bitrate:
1080p medium quality - 1000 kbps
1080p high quality - 1500 kbps
1080p very high quality - 2000 kbps
1080p super high quality - 4000 kbps
2160p medium quality - 4000 kbps
2160p high quality - 6000 kbps
2160p super high quality - 12000 - 16000 kbps
____________________________________________________________
5) Observations
AV1 presets have a significant impact on both bitrate and quality. For instance, moving from preset 5 to preset 2 can boost VMAF scores by 2-4 points. This behavior differs notably from x265, where higher-quality presets typically increase file size. In AV1, file size often remains unchanged or even decreases as quality improves with lower presets.
A good example is Netflix AV1 rips, which achieve decent quality at 1080p with astonishingly low bitrates of 500-700 kbps. This is likely due to the use of extremely low presets (2, 1, or 0), which require substantial computational power but yield remarkable results.
This demonstrates that bitrate alone is not a reliable indicator of quality. Similarly, relying solely on VMAF scores or subjective visual assessment can be misleading. A balanced approach that combines multiple evaluation methods is essential, particularly when faced with unusual cases, such as low VMAF scores despite high bitrates.
____________________________________________________________
References
1. Dolby, 2023. What are Dolby Vision profiles and levels? [Online]
2. Ozer, J., 2017. Video Encoding by the Numbers: Eliminate the Guesswork from your Streaming Video. Doceo Publishing.
3. Sayood, K., 2017. Introduction to Data Compression. 5th Edition.
4. Ozer, J., 2021. What is CBR, VBR, CRF, Capped-CRF? Rate Control Modes Explained.
5. Rassool, Reza. VMAF Reproducibility: Validating a Perceptual Practical Video Quality Metric.
6. Kah, A. e al. Fundamental relationships between subjective quality, user acceptance, and the VMAF metric for a quality-based bit rate ladder design for over-the-top video streaming services.
7. Boldrin, M. 2008. Against Intellectual Monopoly.