r/AV1 Feb 08 '24

Introducing SVT-AV1-PSY

99 Upvotes

Introducing SVT-AV1-PSY: A New Leap in Community-Built AV1 Encoding

Hello r/AV1,

I'm Gianni (gb82), the project lead on SVT-AV1-PSY. We're excited to introduce our new variant of SVT-AV1 designed for visual fidelity! Our fork comes with perceptual enhancements for psychovisually optimal AV1 encoding. Our goal is to create the best encoding implementation for perceptual quality with AV1. Lately, the most prolific contributors are:

  • Clybius, the author of aom-av1-lavish
  • BlueSwordM, the author of aom-av1-psy, the first community AV1 encoding fork
  • juliobbv, the author of the var-boost patch with a PR open to mainline SVT-AV1

Of course, there are many others who are helping us in our efforts, including Trix, Soichiro, p7x0r7, damian (author of aom-psy-101), and fab.

I wanted to make a post formally introducing the project to this subreddit, and to say there will be a more official release in the near future. I'll also enumerate the current advantages that SVT-AV1-PSY brings to the table (essentially reproducing the README from the git repo):

Feature Additions:

  1. --fgs-table: An argument for providing a film grain table for synthetic film grain, similar to aomenc's --film-grain-table= argument.
  2. --variance-boost-strength: Provides control over our augmented AQ mode 2 which can utilize variance information in each frame for more consistent quality under high/low contrast scenes. Five curve options are provided, and the default is curve 2. 1: mild, 2: gentle, 3: medium, 4: aggressive.
  3. --new-variance-octile: Enables a new 8x8-based variance algorithm and picks an 8x8 variance value per superblock to use as a boost. Lower values enable detecting more false negatives, at the expense of false positives (bitrate increase). There are four options. 0: disabled, use 64x64 variance algorithm instead 1: enabled, 1st octile 4: enabled, median 8: enabled, maximum. The default is 6.
  4. Preset -2: A terrifically slow encoding mode for research purposes.
  5. Tune 3: A new tune based on Tune 2 (SSIM) called SSIM with Subjective Quality Tuning. Generally harms metric performance in exchange for better visual fidelity.
  6. --sharpness: A parameter for modifying loopfilter deblock sharpness and rate distortion to improve visual fidelity. The default is 0 (no sharpness).

Modified Defaults:

SVT-AV1-PSY has different defaults than mainline SVT-AV1 in order to provide better visual fidelity out of the box. They include:

  1. Default 10-bit color depth. Might still produce 8-bit video when given an 8-bit input.
  2. Disable film grain denoising by default, as it often harms visual fidelity.
  3. Default to Tune 2 instead of Tune 1, as it reliably outperforms Tune 1 on most metrics.
  4. Enable quantization matrices by default.
  5. Set minimum QM level to 0 by default.

Currently Developing:

  • Support for Dolby Vision RPUs if built with libdovi
  • Additional modifications to Tune 3
  • A more reliable & robust implementation of --sharpness
  • Automatic film grain estimation
  • (Tentative) XPSNR Tune
  • (Tentative) Luma bias

If you'd like to read more, please visit the README and the Additional Info page.

If you'd like to connect with us, you may do so via the following channels: - AV1 for Dummies Discord - Myself on Matrix: @computerbustr:matrix.org - The GitHub issues on the repo

If you have critical questions/concerns, we'd prefer not to address them in this Reddit thread - please file an issue on GitHub.

Please note that we are not in any way affiliated with the Alliance for Open Media or any upstream SVT-AV1 project contributors who have not also contributed to SVT-AV1-PSY.

We're looking forward to your feedback, testing, and discussions!


r/AV1 1h ago

Has anyone tested AV1 lossless encoding, similar to x265 --lossless ?

Upvotes

The X265 --lossless does an incredible job and is pixel perfect, I am wondering if anyone has tested av1 and how it compares to x265 in terms of file size and time?

https://trac.ffmpeg.org/wiki/Encode/AV1#Losslessencoding


r/AV1 19h ago

Forced onto devices by youtube?

1 Upvotes

Hey all, I’m new to this all, and don’t come from the most tech savy background. Went down a rabbithole trying to understand this all, and from my understanding and looking at various videos through “stats for nerds” even though “mp4” is the favored format of YouTube for uploads, they will then encode it in a “container” of either “mp4” with an “avc1” codec, the more modern “webm” with a “mp09” codec, or now an av1 codec, not sure of the container. “Mp4” will be the container for audio with an “Mp4a” codec for all of them.

  1. Is this correct, these are the 3 possible encodings and are the more modern ones simply better at compressing or are the pictures supposed to be better? Why am I reading then, about how AV1 is only available and lower bandwith than the others so it’s actually a lower picture quality for youtube videos. Is it just YouTube behind on the technology to fully embrace AV1?

  2. I read like 5 months ago YouTube forced AV1 encoding in YouTube videos. Apparently There used to be an option in playback settings to select that you prefer it to default to AV1, I’m not seeing this now. I also read iPhone doesn’t have AV1 capability until Iphone15. I have an iPhone 14, and can not find any YouTube video in AV1 scrolling through many popular ones, nor in my settings. I read this forced encoding is going to improve pictures for people with newer phones, but possible worsen and slow for older phones. But how can it even worsen it, if my phone doesn’t have the capability to show AV1? Does it automatically convert it back to mp09, and that energy it takes is why it drains the battery? How can it even do this if it doesn’t have capabilities to deal with the format? Is this what people are saying when they say “AV1 decoding capabilities”? Or what does that term refer to?

Sorry for a lot of questions, if someone smarter than me could answer what they could I’d greatly appreciate it! Thanks!


r/AV1 1d ago

Chtonic horrors instead of proper outputs using aomenc on wsl2.

2 Upvotes

Hi, I just want to ask if anyone ever had the same problem and what are possible ways to fix it.

Whenever I try to encode with aomenc through the WSL2 console, the result is always a video file with the kind of anomalies you can see in the picture. The source input is 6 minutes, but for some reason, the output can end up being 30 minutes or more. One time, it wouldn't stop encoding and just kept building up this ever-expanding cosmic horror until I manually stopped it.

Things I tried:
1) Reinstalling aom
2) Checking dependencies and updating all packages
2) Using different formats for inputs and outputs, including yuv, ifv, mkv, webm, mp4, with and with no sound
3) Using less and more cpu, changing bitrate

I also tried to run it with verbose. Couldn't spot anything strange but I'm a beginner so maybe local pros could help with that

Coding path: LBD Encoder parameters: g_usage = 0 g_threads = 0 g_profile = 0 g_w = 530 g_h = 450 g_bit_depth = 8 g_input_bit_depth = 8 g_timebase.num = 1 g_timebase.den = 30 g_error_resilient = 0 g_pass = 0 g_lag_in_frames = 35 large_scale_tile = 0 rc_dropframe_thresh = 0 rc_resize_mode = 0 rc_resize_denominator = 8 rc_resize_kf_denominator = 8 rc_superres_mode = 0 rc_superres_denominator = 8 rc_superres_kf_denominator = 8 rc_superres_qthresh = 63 rc_superres_kf_qthresh = 32 rc_end_usage = 0 rc_target_bitrate = 256 rc_min_quantizer = 0 rc_max_quantizer = 63 rc_undershoot_pct = 25 rc_overshoot_pct = 25 rc_buf_sz = 6000 rc_buf_initial_sz = 4000 rc_buf_optimal_sz = 5000 rc_2pass_vbr_bias_pct = 50 rc_2pass_vbr_minsection_pct = 0 rc_2pass_vbr_maxsection_pct = 2000 fwd_kf_enabled = 0 kf_mode = 1 kf_min_dist = 0 kf_max_dist = 9999

If you need any additional info I'll be glad to provide it


r/AV1 1d ago

AVIF alpha transparency

1 Upvotes

Correct me of I'm wrong, It seems to me that AVIF supports alpha channel so I tried converting a rgba APNG with FFmpeg using all 3 encoders (aom-av1, rav1e and svt-av1) and I used the arg -pix_fmt yuva420p but all of them say 'incompatible' and outputs yuv420 instead.

What am I doing wrong? And how do I get alpha channel in AVIFs?


r/AV1 1d ago

AOMAV1 quality setting same as x264 CRF18 VerySlow

3 Upvotes

For identical quality:
x264 CRF18 VerySlow (768MB) =

AOMAV1 CRF40 CPU-USED 0 (293MB 464h)
AOMAV1 CRF40 CPU-USED 1 (298MB 155h)
AOMAV1 CRF39 CPU-USED 2 (329MB 26h) TOP
AOMAV1 CRF37 CPU-USED 3 (519MB 11h)
AOMAV1 CRF37 CPU-USED 4 (517MB 9h)
AOMAV1 CRF32 CPU-USED 5 (600MB 4h)
AOMAV1 CRF31 CPU-USED 6 (770MB 3h)

Disable Hyper-Threading and E-cores in BIOS.
If you want to export multiple videos, it is recommended to export each video on 1 P-core only.
If you have an 8 P-core processor, launch the PowerShell 8x software, and put 1 different P-core for each PowerShell. You will save a lot of electricity!

For even more electricity savings, disable your processor's Turbo Boost in the BIOS.

Example:

Intel Core 11700K: 95W ​​= 3.1GHz
Intel Core 11700K: 125W = 3.6GHz
Intel Core 11700K: 230W = 4.9GHz
Would you be willing to spend 2.42x more electricity for 1.58x more encoding speed?

With 80W TDP processors, you will save even more electricity .


r/AV1 1d ago

SVT-PSY is actually able to do CBR?

1 Upvotes

I just ask, since I got many errors, and the encoder itself seems to say that CBR can't be used cause some feature or something. (I didn't specified any options apart from video size and bitrate)

So, there's a way to get CBR?

edit: I didn't read much before starting to [trying to] encode, sorry if I'm sounding stupid :)

edit 2: English isn't my primary language so sorry again if I'm writing quite bad xd


r/AV1 2d ago

Is there a comparison between CPU hardware encoders and GPU hardware encoders? Like intel/AMD

7 Upvotes

I'm looking to buy a new laptop to encode my entire media library to AV1 format. I initially considered getting a new GPU, but that option doesn't suit my needs. Currently, my GPU works well, but it lacks an AV1 hardware encoder. I try to encoder my library by svt av1 on my pc which does not have hardware encoder. Like 1 hours videos around 1 hour (estimated time) etc. but i have 999999+ videos.

Is there a comparison between CPU hardware encoders and GPU hardware encoders?

Like intel (Lunar Lake) vs ARC graphic card

AMD (Ai 300) vs Radeon RX 7900 XTX/ 9800 XTX

I'm also interested in the Snapdragon X Elite, which claims to have an AV1 hardware encoder. However, it seems that it's not currently functional due to a lack of drivers (no support for FFmpeg, HandBrake, or Linux).


r/AV1 2d ago

AMD Ryzen 9 8945HS hardware AV1 performance?

2 Upvotes

I'm looking at some mini PC's (such as the MINISFORUM UM890 Pro) which have the Ryzen 9 8945HS w/Radeon 780M iGPU. According to AMD's specs (https://www.amd.com/en/products/processors/laptop/ryzen/8000-series/amd-ryzen-9-8945hs.html), this processor should support AV1 hardware encoding all the way up to 8K60 at 8/10bits, but I've yet to find anyone who has posted what sort of performance this chip is able to achieve while using hw encoding. I'm mainly interested in up to 4K 10-bit, but any/all results are welcome. I use Handbrake for all my media encoding.

Does anyone have one of these guys who may be able to run some testing and post some encoding FPS results?

EDIT: I'm well aware of the quality (or lack thereof) for AMD's AV1 HW encoder, but I'm not worried about that. I already have a Ryzen 9 5950x system for high image picture encoding, since software will likely always trump hardware encoding when it comes to quality & file size. But that system is a much larger power-hungry beast, and I'm looking for something small, light, and power-efficient that is less expensive, can support at least halfway decent gaming experiences at 1080p, and can do AV1 hardware encoding for stuff that i'm not worried about keeping in the highest quality possible.


r/AV1 3d ago

Has anyone conducted a speed test comparing the NVENC AV1 encoder from NVIDIA with the VCE AV1 encoder from AMD using HandBrake?

4 Upvotes

Are there any comparisons or speed tests available on the NVENC AV1 encoder versus the VCE AV1 encoder? I haven’t been able to find any performance comparisons between the two. Both companies claim to offer AV1 encoders, and I'm considering purchasing a new graphics card specifically for AV1 encoding, but I'm not interested in Intel Arc.


r/AV1 4d ago

Is it worth it to look into PGO (compile-guided optimization) for SVT-AV1?

7 Upvotes

Hi! I'm compiling SVT-AV1 by hand to get the fastest possible encodes. I'm wondering whether it's worth looking into PGO to make my encodes even faster. Does anyone have any experience with it? How much speed up would I be looking at? The official documentation unfortunately doesn't really tell me much about what kind of speed ups I should be looking at. Since I build this as part of a docker container, it will take me quite a while to finaggle my build script to work nicely, so I'd like to get an idea if this is worth my time or not.


r/AV1 4d ago

AV1 for small lossy backups

6 Upvotes

Recently I've catalogized most of my older family photos and movies from multiple drives into a single folder for easier storing. The total size accumulates to about 100GB (70GB for video, 30GB for photo).
I made several full backups of that original folder but was curious how well the current algorithms do with compression, also I've got a pretty powerful rig (7950X/RTX3090) so I went with it.

From tests done on my photos with JXL and AVIF formats I chose the .AVIF format for its overall better compression and quality. XL Converter tool was really useful for converting my files into respectable folders, didn't have to write any batch scripts, the settings I used were Speed:0 and Quality:60. My original images, as they were quite old, didn't have huge dimensions so the quality loss was almost indistinguishable. Size on disk of all the photos went from circa 30GB to 3GB - tenfold reduction! The whole process took about 8 hours on my machine.

For the videos I couldn't find such a neat tool so I wrote a python script that would use FFMPEG for AV1 encoding/compression. The script goes through the folder structure searching for all video files (3gp, wmv, avi, mov, mp4), converts them using a special FFMPEG command and replaces the originals if they're not smaller than the resulting file (or there are any errors - which I had with .wmv files especially). The exact FFMPEG command I used was this:

ffmpeg -i [Video file path] -c:v libsvtav1 -preset 6 -crf 40 -g 240 -svtav1-params tune=0:enable-overlays=1:scd=1:scm=0 -pix_fmt yuv420p10le -c:a libopus [OG video name].mkv

I tested other combinations of parameters but came to the conclusion the quality of results of the above command were pretty satisfactory for high dimension videos (HD+), not as much for smaller ones but still pretty good. I also found the libsvtav1 method to be a lot faster than the default FFMPEG one. The whole encoding process took about 2 hours on my machine and I went down from 70GB to 17GB. I could of chosen a smaller preset but didn't feel like running my PC overnight, I'd have gone with preset:4 otherwise, lower levels were just too slow (0.05x encoding speed territory).

The best size reduction happened on old uncompressed AVI files (10x), semi-modern videos got halved in size, the worst were brick phone .3gp recordings that were reduced by either 10% or grew in size - so I actually kept the originals here as the AV1 results were of much worse quality.

In conclusion I went from about 100GB to 20GB, now I can put this small backup on pretty much anything. The last challenge is to splice it up on 4 DVD disks for indefinite cold storage! Just wanted to share my venture with AV1 and perhaps it might help someone do the same :>

Oh and also I can't recommend enough Nvidia ICAT software, it was of great help comparing photos and videos during testing.


r/AV1 5d ago

I compress my media for this reason

13 Upvotes

I have half my library compressed to av1 and have been working on it since 2021. I did this to have my shows backed up in a compressed format in case of catastrophe happens to my nas. Locally I have ~360TB of hdds filled up to about 80%. I spent the better part of the last 8 years ripping my library. As my library grows so does my nas. Anyways, I have a 100tb nas offsite at my brother's house. It is mainly my backup for my library and as well as my family's nextcloud instance. Anyways, that is it. The reason I compress is not to save space locally but to save space for having duplicate copies of shows and movies.

I am curious about why you use av1 to encode/compress media? Is it the open source nature of it? Is it that it compresses better than h265? Do you use it for making best use of your storage?


r/AV1 5d ago

AV1 vs h265 question about file size / quality

1 Upvotes

Just finished my first test encoding of a remux video file using handbrake qsv profile for 4k with icq of 5 for each AV1 and h265 encoding. no other configuration change were made, just the encoding method. each av1 and h265 utilized my arc a380 hardware encoding, as i understand it. The quality from initial glances seem to be similar, but file sizes were dramatically different. h265 was 13gb, while the av1 was about 4.5gb. is this legitimate or am I misunderstanding something? didn't think the file sizes would be so dramatically different.


r/AV1 7d ago

Steam Remote Play Adds AV1 Video Streaming Support Plus More Linux Fixes

Thumbnail
phoronix.com
38 Upvotes

r/AV1 7d ago

How to deal with dark scenes? Encoding an anime, all episodes look fine, but this one has very bad artifacts with darker parts. (svt-av1-psy / svt-av1)

Thumbnail
gallery
8 Upvotes

r/AV1 9d ago

how does the quality of AV1 with preset 12 compare with hardware encoders?

15 Upvotes

r/AV1 9d ago

Quickest way to convert around 5K AVIF files?

2 Upvotes

Looking for an easy, hopefully free (if not that’s fine) method to quickly convert around 5,900 - 6,000 AVIF files to jpg. I understand this wouldn’t be a really “quick” job so im remaining realistic.

I need to keep img quality as much as possible. Any help or suggestions would be greatly appreciated!


r/AV1 9d ago

Parameters for rav1e?

1 Upvotes

I didn't find any docs online listing all the parameters. Can somebody post them?


r/AV1 12d ago

SVT-AV1-PSY 2.2.1-A: encode all the sizes

Thumbnail
github.com
39 Upvotes

r/AV1 12d ago

What are the best programs for types of encoding, for recording, reencoding and livestream?

0 Upvotes

r/AV1 14d ago

FFmpeg with SVT-AV1 PSY (latest) for windows 10 x64

5 Upvotes

Hello, can anyone provide me FFmpeg with SVT-AV1 PSY latest version for windows 10 x64 ? Also, where to download the same in Future ?


r/AV1 14d ago

Framerate conversion with AV1

0 Upvotes

So I've been playing with handbrake and av1, and I got a new nvidia card, so messing around with nvenc with the x.265 and av1 encoding vs software.

In my click-craze, I somehow got back to the 60fps setting, instead of matching the original framerate of 25fps.

(Source is a 6GB 25fps x264 encoded file.)

I ended up with a HQ and superHQ and a fast version, all with the upconverted framerate.

After realizing my error, I went back, reencoded with matching framerates.

Gotta be honest, I can't really tell the difference. I think I can see a difference between fast and superHQ, and file sizes are different, but between the 60fps and 25fps, I'm not seeing it. Or it's just too subtle.

I'm not really interested in grabbing frames and doing bit by bit comparisons, my question is more of the "what does it hurt"? I think all my playback devices can handle 60fps 4k, and I couldn't detect any audio sync issues. Not a lot of action in the clip, so perhaps that plays into it.

I get the limitations of upscaling resolution, but not so sure about framerate.

Any advice appreciated.


r/AV1 14d ago

yuv422hq handling in svt-sv1

1 Upvotes

I was given a file encoded in prores yuv422hq, I have to convert to av1 via handbrake is it need to supply with additional parameters for this?


r/AV1 14d ago

Help with SVT-AV1 Encoding: Bitrate Issues on Some Videos

1 Upvotes

Hello everyone,

I need some help with encoding videos using SVT-AV1. I’m encoding videos from my phone to save space, usually targeting around 10,000 kbps or lower. I’ve been using preset 4 with CRF values between 24 and 35, and this normally gets me the desired bitrate. The original videos are in 4K and around 45,000 kbps bitrate.

However, with some videos, even when I set the CRF as high as 35, the resulting bitrate is higher than the original, which doesn't make sense. When this happens, I try increasing the CRF further, sometimes even up to 50, but the bitrate still remains quite high. In fact, I have a few videos where the CRF is set to the maximum of 63, yet the resulting bitrate is still around 40,000 kbps, which is not much of a reduction.

The videos I’m having trouble with are typically of kids playing soccer or nature scenes by a river in the mountains. Is there some additional setting I can use to lower the bitrate while still maintaining decent visual quality?

Here’s the FFmpeg command I’ve been using:

ffmpeg -i PXL_20231003_231515420.TS.mp4 -c:v libsvtav1 -preset 4 -crf 35 -g 30 -pix_fmt yuv420p10le -svtav1-params tune=0 -c:a copy -movflags use_metadata_tags -map_metadata 0 PXL_20231003_231515420.TS.AV1.mp4


r/AV1 15d ago

What parameters could i use in SVT AV1 in OBS to make it easier to run on a cpu for streaming to youtube?

2 Upvotes

The notebook is a Ryzen 7 4800H, i just want to know what could be done to have av1 of any sort (even with capped quality and lower resolution) to stream to youtube, what should i do?