One interesting thing I've discovered in trying to make VP9 make very tiny videos:

If you give it a max bit rate of, say, 1Kbps, it can't do that. It averages something closer to 35Kbps, but looks way worse than if you told it it had 35Kbps to work with (even with 2pass)

If you give it a max bit rate of, say, 12Kbps, somehow you get a much much smaller file that looks about the same as the "1Kbps" file.

I'm taking the settings that I found that produced the smallest file (not the smallest *watchable* file, just straight up the smallest one the encoder would produce) with vp9 and running the same thing through AV1.

Good news: AV1 turbo's it's first pass, so you can do 2 pass encoding at more or less the same speed as 1 pass encoding.

Bad news: I want to see how small AV1 can actually go/what is the best it can look at a low bit rate, so I am running it at it's normal (extra slow) encoding rate.

The file is 3 minutes long. I'm encoding at .05x real time. So we won't see the results for, what, an hour? Something like that.

Here's the smallest VP9 I could produce.

The audio is still 20Kbps mono opus, technically we could half that, but it would sound as bad as this looks.

video:274kB
audio:380kB
muxing overhead: 8.689478%

Here's just the audio. It's 388K, or roughly 130K per minute.

We're about 1/3 of the way through the video encode.

av1, 2 pass
320p
12Kbps
5 FPS
Mono Opus at 20K

video:323kB
audio:380kB
muxing overhead: 7.804162%

Encoding took slightly longer than 1 hour.

Video looks better than the VP9, but VP9 took less than 2 minutes to encode.

Also, the finished file here is very slightly smaller than the finished VP9 file, but the majority of that is overhead differences, as the video actually takes up slightly more storage space than the VP9 video.

I gave each of them a target of 12Kbps, which means the video should be 255KB.

The VP9 encode ended up at 274KB for 12.94 Kbps (Close!!)

The AV1 ended up at 323KB for the video, for 15.2Kbps (less close!!) but resulted in an overall smaller file as a result of the lower overhead.

h265 can go smaller than this, by the way.

It can also produce better looking files at this bitrate.

But, in order to use opus audio (which is the best audio codec for any purpose, but especially small file size, IME) you have to mux it as an MKV, which means it won't play back in browser.

Being able to play VP9 and AV1 back in the browser is a significant advantage over H265 + opus MKV, even if those look better.

Here's the same video in h265, with AAC audio and the same encoder settings.

Finished file is 730KB.
video:272kB
audio:383kB
ovehead: 9%

The audio in AAC sounds way worse at 20Kbps than opus does, but the video looks about the same.

But I can do some tricks now with HEVC video that I can't do with AV1.

Oh, it took 5 seconds to encode, too.

That's important.

Alright, tricks.

higher FPS, bigger resolution, same bit rate. (looks worse.)

Sign in to participate in the conversation
R E T R O  S O C I A L

A social network for the 19A0s.