Remix.run Logo
cmbernard333 13 hours ago

I have been converting my H265 (HVEC) collection to AV1. I am still trying to find the exact parameters for FFMPEG to produce the optimal output for the devices I use plex on. Its been a little bit of whack a mole so far, but it seems ideal for file size when I get it right.

loufe 12 hours ago | parent | next [-]

I've been transcoding my media collection leaving my PC on overnight over months, it's great. My biggest issue is client support for native playback of AV1, naturally.

For what it's worth, AB-AV1 [1] is a pretty awesome tool written in rust which compares random samples from a file at different parameters based on their VMAF score [2] (algorithm from Netflix for human-perceived visual likeness), choosing optimal parameters to save as much space as possible with the loss you're willing to stomach, on a file-by-file basis.

Small plug: I made a nice little python GUI wrapper for ab-av1 [3].

[1] - https://github.com/alexheretic/ab-av1 [2] - https://github.com/Netflix/vmaf [3] - https://github.com/Loufe/AB-AV1-GUI

dragontamer 12 hours ago | parent | prev | next [-]

Because of conversion losses, I have to imagine this is subtly very bad.

Every form of lossy compression deleted data. Yes AV1 is more efficient but only when working off of high quality originals.

H265 already deleted a ton of data. It can never recover the quality loss. Compressing even further can only worsen the image.

LeFantome 10 hours ago | parent | next [-]

While I agree with you, I find that sometimes the “experience” can improve.

The most common “artifact” of AV1 is to make things slightly more blurry for example. A common H.265 artifact is “blockiness”. I have re-encoded H.265 to AV1 and not only gotten smaller files that playback better on low-end hardware but also display less blockiness while still looking high-resolution and great colour overall.

I always encode 10 bit colour and fast-decode for re-encoding to AV1, even if coming from an 8 bit original.

dragontamer 8 hours ago | parent [-]

But then you look at flashback scenes and wonder where the noise has gone.

A lot of movies have purposeful noise, blurriness, snow, and fake artifacts to represent flashback scenes. One level of compression often keeps them okay-ish (like you can tell side by side that it's different, but only when you know what to look for). But these are the scenes that get especially ruined by two layers of compression.

arnaudsm 12 hours ago | parent | prev | next [-]

What's the optimal strategy then ? 50 GB Blu-ray remux => 3 GB AV1 ?

dragontamer 11 hours ago | parent [-]

50GB gives assurances that the BluRays are high quality (but not always. I've seen some horrible BluRay encodings...)

As long as you are going from high quality sources, you should be fine. The issue is each transcoding step is a glorified loop-(find something we think humans can't see and delete it)

In other words: the AV1 encoder in your example works by finding 47GBs of data TO DELETE. It's simply gone, vanished. That's how lossy compression works, delete the right things and save space.

In my experience, this often deletes purposeful noise out of animation (there are often static noise / VHS like effects in animation and film to represent flashbacks, these lossy decoders think it's actually noise and just deleted it all changing the feel of some scenes).

--------

More importantly: what is your plan with the 50GB BluRays? When AV2 (or any other future codec) comes out, you'll want to work off the 50GB originals and not off the 3GB AV1 compressed copies.

IMO, just work with the 50GB originals. Back them up, play them as is.

I guess AV1 compression is useful if you have a limited bandwidth (do you stream them out of your basement, across the internet and to your phone or something? I guess AV1 is good for that) But for most people just working with the 50GB originals is the best plan

jorvi 4 hours ago | parent | next [-]

> In other words: the AV1 encoder in your example works by finding 47GBs of data TO DELETE.

With that reasoning, lossless compression of .wav to .flac destroys >50% of data.

In actuality, you can reconstruct much of the source even with lossy compression. Hell, 320kbps mp3 (and equivalent aac, opus, etc) are indistinguishable from lossless and thus aurally transparant to humans, meaning as far as concerns us, there is no data loss.

Maybe one day we'll get to the point where video compression is powerful enough that we get transparent lossy compression at the bit rates streaming services are offering us.

> In my experience, this often deletes purposeful noise out of animation

AV1 specifically analyzes the original noise, denoises the source then adds back the noise as a synthetic mask / overlay of sorts. Noise is death for compression so this allows large gains in compression ratio.

dragontamer 3 hours ago | parent [-]

> AV1 specifically analyzes the original noise, denoises the source then adds back the noise as a synthetic mask / overlay of sorts. Noise is death for compression so this allows large gains in compression ratio.

If said noise still exists after H265.

And there's no guarantee that these noise detection algorithms are compatible with H264, H265, AV1, or future codecs H266 or AV2.

arnaudsm 11 hours ago | parent | prev [-]

Thank you for the detailed answer!

stefan_ 12 hours ago | parent | prev [-]

Well its sure gonna get the filesize down though, great HECV -> AV1 transcoding success..

mannyv 11 hours ago | parent | prev | next [-]

I'd be surprised if there's any noticeable difference between 265 and AV1 when coming from the 265 encoding. 265 has already thrown a lot of stuff away, so there's not much for AV1 to work with.

Maybe if you're going to a lower resolution it would be fine (ie: going from 4k 265 to 720p AV1).

Risse 10 hours ago | parent | prev | next [-]

I personally use av1an, and use VMAF target quality of 95 to 96. It's been really good and fast.

https://github.com/rust-av/Av1an

IgorPartola 10 hours ago | parent | prev | next [-]

Aside from video, audio compatibility is tricky as well. You can do AAC stereo and most things support that but AAC 5.1 seems to be supported by only some devices so all my video files end up getting stereo AAC, 5.1 AAC, and 5.1 DTS to avoid live transcoding.

comrade1234 13 hours ago | parent | prev | next [-]

Do you know what plex clients can handle av1 without the server having to transcode?

I started looking into converting stuff to AV1 but only confirmed that my gpu doesn't support AV1 but does support hevc so I stopped there...

loufe 12 hours ago | parent | next [-]

IIUC, it's more about the client hardware that determines ability to play without transcoding. You'd have to check the mix of devices you have connecting to it and make a judgement call.

blueside 11 hours ago | parent | prev [-]

I started to convert a lot of my content in AV1 until I realized that my Nvidia Shield devices won't play AV1. My $30 firestick will play them but I do really prefer the Shield. I guess I'll wait it out and hope for a new Shield (it's been 2019 since Nvidia released one) but i'm not going to hold my breath.

breve 8 hours ago | parent [-]

> my Nvidia Shield devices won't play AV1

Put VLC on them. See if it works for your AV1 videos.

npodbielski 11 hours ago | parent | prev [-]

What is the difference in size of files? Around?