A Sneak Peek Comparison of x264, x265, and libvpx
techblog.netflix.com
techblog.netflix.com
---
The only bad thing I've ever heard about x265 is that it needs beefier hardware compared to x264. Otherwise it's better in every regard. Is this true?
1. http://www.streamingmedia.com/Articles/Editorial/Featured-Ar...
2. http://www.mpegla.com/main/programs/HEVC/Pages/Intro.aspx
3. https://www.hevcadvance.com/
It's much simpler and easier to use formats which are licensed under royalty-free terms, which is what VP9 offers now and what AV1 will also offer in future:
1. https://en.wikipedia.org/wiki/VP9
2. https://en.wikipedia.org/wiki/AOMedia_Video_1
To me the important result from Netflix's test is that VP9 is better than H.264, almost as good as H.265, and absent the patent licensing problems. I think the simpler licensing makes VP9 the better choice today and AV1 the best choice in the future.
Luckily it looks like most hardware manufacturers are getting on board with VP9 these days, but the current support for encoding at least is abysmal: https://en.wikipedia.org/wiki/VP9#Hardware_encoding.2Fdecodi...
1. http://www.cnet.com/news/apple-ios-macos-tests-googles-webp-...
My Intel NUC cost me £300 in January and is therefore a fairly low-end machine. It has 307 Gbps of memory bandwidth (2 slots of DDR4-2400). It's surprising how big that number is on a cheap machine today.
I'd love to see a profile of where the CPU time goes in a modern CPU-only video decoder. I guess I could get off my arse and do the profiling myself instead of posting this. Anyway, my guess is that the processor speed is the bottleneck, not the memory bandwidth.
Old desktop Sandy Bridge does 4k 60 FPS decoding with no problems, as long as output can sustain it. And integrated GPU does not. You need quite a lot of bandwidth to sustain that much image data.
Surely margin-of-error-sized markets to ignore them that easily.
Anyway, I guess the only major concern from him is the DCT overflow? I mean, for the extra precision, even HEVC has increased from 16-bit intermediates in the newer profiles. I think Daala's transforms would solve his issues with VP9's, I'd imagine they're being considered.
It is patent encumbered, by Google owned patents, but they allow free use, so long as you promise to never sue them for patent infringement.
Given how many pies they have their fingers in, that seems like a pretty big catch.
At 1080p, you can lower the quality to around 22-24, and get near blue-ray output... the flatter the input (animation is a great example) the bigger the difference. I'm seeing encodes at 40-60% of comparable blue-ray.
The down side, is it is significantly slower, and the quality of the x265 version of the codec is much better than say the nvidia x265 encoder, which is a shame as it's much slower too, so it becomes kind of a non-option for archives imho.
If you are encoding new media for your library, definitely go x265, it's worth the file size saving (so long as your playback devices support it well enough), but I wouldn't go back and re-encode it all, it's just too slow for now... maybe if x264 gets some CUDA support, that would be really nice (recently upgraded to a 1080 GTX).
Also, using a 3d denoiser on B5 will drop the bitrate a huge amount without trading off much quality. There is significant grain in those (though seasons 1-2 were worse than 3-5 IIRC).
If the videos are to be played back on a player that supports video filters, you can add some noise back in on decode, which is particularly useful for non-HD sources as your eyes will often interpret noise as detail. Back in the h.263 days I used to do this as 1) h.263 was much worse than 264 or 265 and handling noise and 2) disk space was more expensive, so I couldn't just up the bitrate. I still have some vlc settings that can do that for playing old DVD rips. Today, unless you plan on streaming the video, I would recommend just upping the bitrate and using conservative enough denoise settings to not need it.
I have those B5 DVDs as well and that's confusing - the source video quality is just not that great.
x265 tends to smooth out film grain that x264 preserves at high bitrates. That being said - Netflix has never offered x264 content at sufficiently high bitrates (visually indistinguishable to Blu-ray quality) anyway, so it's a moot point.
It's not clear if this means libvpx is sometimes better than x265 at resolutions > 1080p or <= 1080p. I think the author intended "occasionally better when <= 1080p"
> x265 outperforms libvpx in most cases, but the performance gap narrows (or even reverses) at the higher resolutions.
So libvpx is sometimes better than x265 at resolutions > 1080p.
In context, it's likely they mean "1080p [or higher]", but it's arguably ambiguous.
I have a lot of digitized box sets of TV shows, things like The Simpsons or King of the Hill. Most bit torrent copies of these shows weigh in at about 180MB/episode (for a 480P video)
Encoding them through H.265 using NVIDIA's "Nvenc" encoder (CPU encoding is paaaainfully slow) I can get them down to a mere 60MB on average, with no discernible quality difference
Moving up to 1080P files, I encoded some Star Trek: The Next Generation digital remasters, they shrunk from 600MB to about 350-400MB. Not quite as impressive, though I had to scale up the quality as HEVC was wrecking havoc on some of the low contrast areas (like character uniforms turning into one flat smeared looking color)
btw: a 1080p episode (30min?) at 400MB is impressive enough for me.
It looks like there have been a few dead ends -- clever ideas that for one reason or another didn't pan out -- but overall, it's making solid progress. It remains, however, very experimental and is far from complete.
One area in which Daala works very well right now is in compression of still images. There's a demo at the bottom of the page which shows it as much better than HEVC for that purpose, and you can also see how the codec has improved over time. Of course, the relative goodness of codecs isn't necessarily consistent over widely varying bitrates.
In some of the earlier posts the Daala researchers expressed the belief that the quantitative metrics often don't accurately correspond to subjective perception of quality. Netflix seems to be putting a lot of work into developing better metrics [1], but the Daala researchers seem to rely on subjective A-B tests as the 'gold standard'.
[0]: https://people.xiph.org/~jm/daala/revisiting/
[1]: http://techblog.netflix.com/2016/06/toward-practical-percept...
1. https://en.wikipedia.org/wiki/AOMedia_Video_1
EDIT: No idea why it would redirect me to https. I only clicked the link like everyone else.
1) Forbid active web content unless it comes from a secure (HTTPS) connection would, I assume, block the active elements, not redirect the entire page to HTTPS.
2) I had it set as:
Forbid active web content unless it comes from a secure (HTTPS) connection = Never
You'd think that would disable it, but according the question just above the one you linked, Never apparently means Always unless the site is whitelisted:
----
Open NoScript Options|Advanced|HTTPS|Behavior, click under Forbid active web content unless it comes from a secure (HTTPS) connection and choose one among:
1. Never - every site matching your whitelist gets allowed to run active content.
2. When using a proxy (recommended with Tor) - only whitelisted sites which are being served through HTTPS are allowed when coming through a proxy. This way, even if an evil node in your proxy chain manages to spoof a site in your whitelist, it won't be allowed to run active content anyway.
3. Always - no page loaded by a plain HTTP or FTP connection is allowed.
if you only read the TL;DR part i.e. What did we learn? You think wow that's bad for libvpx. Than you read:
> 3 resolutions (480p, 720p and 1080p)
And think... well not that bad. 2/3 vs 1/2 isn't bad.