Live data from Hacker News

Guide to Adopting AV1 Encoding

bitmovin.com

51–60 of 95 posts

Re: Guide to Adopting AV1 Encoding

#51

Earlier quoted context omitted.

okay, i don't agree with anything in your reply. segmenting a video file for HLS/DASH delivery is not at all the same thing I'm suggesting. Just for the sake of round numbers, i'm saying to take a 90 minute feature into nine 10-minute segments. fire up 10 separate instances to encode each 10-minute segment. you've just increased the encode time 10x. also, DASH/HLS does not require segmented files. you can have a sing…

Why did the encode time increase by 10x in that instance? Can't you just seek in the video to the I-frame before the cut point and start your encode there? I've never tried merging streams across computers so was naively just thinking that your output from each computer would be an MP4 but that makes sense. I pulled that info. from a Netflix talk, perhaps video cameras back from when that talk occured didn't compress…

s/increase/decrease/

i was thinking increased the encode speed 9x, but typed increased encode time. i also swapped the number of segments by segment duration. 9 segments of 10mins = 9x increase in performance.

Sounds like you are confusing Netflix' recommended formats for acquisition vs delivery. Cameras capture RAW formats (rarely is it uncompressed though), and the post houses use that as sources. The post house/color correction will the create the delivery formats which is typically ProRes. RAW is not a friendly format for distribution in the slightest. The full workflow from camera original to what ends up being streamed to the end viewer changes formats multiple times through the process.

Re: Guide to Adopting AV1 Encoding

#53
post #49

Earlier quoted context omitted.

The hardware encoders are very fast and generally better than x264 (but not by as much as you'd think with the x264 slow preset). In addition, there are fast threaded AV1 encoders you may be overlooking, like SVT-AV1. For non-realtime, my favorite is av1an, which also yields better quality than is possible from aomenc and works with pretty much any encoder/codec: https://github.com/master-of-zen/Av1an

av1an is essentially a "wrapper" around other encoders. I've played around with it lot in the past, but have never seen any real quality gains from using it (as measured by VMAF) instead of just using the encoder directly. Am I doing something wrong? What exactly does av1an buy me (except maybe for better independent threads?)

First some background. Av1an works by splitting videos into scenes/chunks, which it then encodes in parallel. But this also allows it to change encoding settings for each scene.

Specifically, it has a "VMAF target" mode that encodes a few frames from each scene as samples, measures their VMAF, and then boosts or reduces the encoding preset for that individual scene based on the result. It also has a "black boost" feature to allocate more bitrate to dark scenes, which encoders and various metrics tend to misrepresent.

Also, the possibilities with the VapourSynth support are infinite. Some simple examples include denoising a noisy video on the GPU for better quality than the encoders' CPU denoising, or deblocking with custom parameters, or upscaling with some model in PyTorch. And that's just the start:

https://vsdb.top/

Re: Guide to Adopting AV1 Encoding

#54

Earlier quoted context omitted.

Why did the encode time increase by 10x in that instance? Can't you just seek in the video to the I-frame before the cut point and start your encode there? I've never tried merging streams across computers so was naively just thinking that your output from each computer would be an MP4 but that makes sense. I pulled that info. from a Netflix talk, perhaps video cameras back from when that talk occured didn't compress…

s/increase/decrease/ i was thinking increased the encode speed 9x, but typed increased encode time. i also swapped the number of segments by segment duration. 9 segments of 10mins = 9x increase in performance. Sounds like you are confusing Netflix' recommended formats for acquisition vs delivery. Cameras capture RAW formats (rarely is it uncompressed though), and the post houses use that as sources. The post house/co…

Gotcha, that makes much more sense

Re: Guide to Adopting AV1 Encoding

#55
Instead of being a "guide" as it says in the title, this is merely comparing AV1 to other codecs, and ends by promoting their own thing. I don't think AV1 needs any "convincing", it's theoretically just better in every aspect. It's the tooling and hardware that needs work.

Re: Guide to Adopting AV1 Encoding

#56
post #55

Instead of being a "guide" as it says in the title, this is merely comparing AV1 to other codecs, and ends by promoting their own thing. I don't think AV1 needs any "convincing", it's theoretically just better in every aspect. It's the tooling and hardware that needs work.

One of my take-aways after going through it is the cross-over point between h.264 and AV1: it depends on the numbers of expected view. AV1 is computationally more intensive and there's a dollar number assigned to that.

Re: Guide to Adopting AV1 Encoding

#57
post #2

Maybe this is not such a concern to audience of this article, but at least for me I'm stuck with h264 because VP9/AV1 encoding is really really slow. I'd love to use the codecs that are open and technically better, but when the video encodes at 1fps, it's too just too convenient to use the magnitudes faster h264. I'm probably not up to date with newer/hardware encoders and please let me know if my view is outdated.

My understanding is there is some support for GPU-accelerated AV1 encoding in top-of-the-line latest-gen discrete GPUs that can be used for live streaming with OBS Studio 29.1 or higher. Helpful if you are in a situation where you have extra GPU and are tight on bandwidth.

In my opinion it's still in the early-adopter phase though, and it's perfectly valid to use tried-and-true codecs for user-interactive rendering and encoding cases, or where the existing codec meets your requirements for the compute vs disk/bandwidth trade-off.

Re: Guide to Adopting AV1 Encoding

#58
I'm surprised the HEVC Support figure is so low: 15%! I suppose HEVC is practically only supported by relatively modern devices which have hardware support for it. None of the OS or browser makers want to ship software support because they'd have to pay the license fee. (I paid $1 for the HEVC extension in the Windows Store but I'm sure that's exceedingly rare). Browsers can ship software AV1 support without needing to pay.

Re: Guide to Adopting AV1 Encoding

#60
post #15

OPUS should have an honorable mention here. Same case could be made for OPUS vs AAC/AC3/etc.

I too wish Opus got more love in the video space. Outside of YouTube and VOIP, it doesn't get used.

Shame since Opus is smarter with bitrate allocation with surround sound.

Post reply on HN