Netflix Now Streaming AV1 on Android
netflixtechblog.com
netflixtechblog.com
Any time I talk to anyone outside our nerd bubble I'm reminded and humbled by what simply doesn't register as relevant to them.
The lessened quality is not something (most) people will cancel their subscription for, nor would they go out and buy the dvd just to get the better quality.
Another competing thing comes up in people's life (it need not be even in the same category), the previous one would be dropped if there are unpleasant association with it - conscious or subconscious.
OR, ..need to cut back (finance, digital wellbeing, etc.), again the first thing would go out is the one which is associated with less value i.e., of lesser quality, not living upto expectation, and so on..
Netflix needs a movie to be 500MB whereas torrents can happily be 2-8GB
I've got the impression that highly-compressed content is often so popular that bigger/higher quality files are hard to find.
There are the basic 300-700mb copies for people who just want to watch something and don't have the time or bandwidth to bother with amazing quality (these look like your typical compressed cable or "tube" stream).
Then there are the 720/1080 versions which are still pretty compressed but at least encoded with decent settings and at a resolution that doesn't look bad on an average TV. Often these are "webrips" where someone capped the stream from Amazon or whatever online streaming rental service had the movie.
And last are the massive bluray rips that can go over 50GB in size and include 10bit HDR video, Dolby Atmos, etc. I never bother with these because honestly, if I'm pirating a movie/show it's because I'm not sure I'll enjoy it or it's just not available for me to watch yet. The movies I would want in maximum quality are the ones I would be buying anyway.
I'm sure plenty of people can't or won't buy the official blurays so these are the alternative, but for me, "bootleg" copies are the equivalent of "I'd watch it if it was on TV" but not a replacement for stuff I'm really invested in seeing at max quality because I love it.
Depends on the content but if it’s something remotely popular, and was released on BluRay, the answer is yes. The most popular torrent at the moment apparently 1.92GB BluRay rip of Joker (2019), with 8k seeders.
There’re 2 higher-quality versions found on the Internets, 6GB and 16GB. Both have 4k video encoded in 10-bit h265, have 5.1 / 7.1 audio, the former one has 1k seeders, the latter 100. These numbers are very approximate, I haven’t downloaded nor watched that movie. But usually, even 100 seeders is enough to saturate my 120 mbit/sec download link.
YMMV.
I'm bothered by the netflix quality every time I use it, but the hassle to download the movie before hand, connect my laptop to the HDMI, need to get up to control it, need to get up to move the mouse to make it disappear, etc. makes it a non-option. Sure there are solutions to those problems, but they're also work.
Would be a major point of contention for content producers seeking to become Netflix originals. Traditional studios still produce lossless versions which then see re-releases in whatever format would be best decades after the original run has ended e.g. Sopranos getting a BR release, etc
I enjoy watching the BBC on HD, however for stuff like the Attenborough films.
Kind of sad that I'm already used to them it seems.
Especially for drama and horror where dark scenes and night scenes are frequent!
I bet most of those 90% of people who stuck with 480p don't even know they can manually set the resolution.
[1] https://old.reddit.com/r/netflix/comments/5lc2nl/what_bitrat...
I have no idea the source of your number. I see half a percent here[1]. That is also possibly inaccurate, because at least one major internet company offsets all their carbon emissions with things like farm animal feces digestors and methane recapture covers for mines. Even if it is three percent, it's not clear that a given amount of bandwidth is responsible for the same fraction of emissions. Also, perhaps the more people watch movies, the less they drive around and do fun things outside the house. So it may be that for each % you increase internet emissions you decrease other emissions by %*2. Who knows?
[1]: https://www.theguardian.com/environment/2010/aug/12/carbon-f...
If you for some reason have that mandate, you might as well look at other "useless" industries such as christmas lights, mechanical watch production (very demanding and "useless", right? since quartz watches are much cheaper and more accurate anyway?), vinyl records (think of all that plastic!!!), road lighting during the night (most roads don't have any visitors for hours!), jewelry, public webcams (all that energy and data transfer!). How about heating in far up north? How much energy is "wasted" there, "why don't all those people just move"? Or expensive motherboards which have thousands of components, of which only a small part will realistically be used by the owner... Or gaming consoles which can in fact be used for other calculations, but damn uselessly stuck there to just produce some 3d simulations... Or gaming in general, how much does that "waste"?
Basically what I'm trying to say is that your line of reasoning is extremely selfish and short-sighted, and there are people who would very much like to have some blockchains working, and they will keep doing so, just like they will keep setting up and powering christmas lights and paying for their gaming rigs and buying expensive watches that take a fortune to manufacture.
Hardware AV1 decoding is available on some Android devices right now, and will ship with a lot more over the course of the year. So it seems the perfect time to ship an AV1 option behind an opt-in setting, which is what they've done. If you don't have hardware support and it's not worth the battery drain then you don't have to select it and there's no way they're removing H.264 support anytime soon.
Getting it into the hands of the top 5 Samsung devices would probably cover a significant market share (not to mention getting it into all Apple phones/tablets).
It is not like the hardware part of the die is free. AV1 has comparatively higher decoding requirement even in hardware.
New codecs are always chicken-and-egg -- you need to have content available before the hardware encoders/decoder silicon gets produced and then trickles down to the phones.
edit: looks like it, at least for recent snapdragon phones:
Snapdragon 820: launched early 2016
Snapdragon 660: announced on May 9, 2017
Not saying that all phones made after 2017 will have it, but there are mid range phones on sale that do.
Or will Youtube and Netflix force AV1 upon everyone where if you want high quality HDR or 4K Content you will require AV1.
I sure hope so!
Again AV1 is not Patent free either.
It's also just easier for Netflix to keep the data in more formats, because they have far, far less data than Youtube.
Gemini Man just came out at 120fps in Cinemas and 60fps on blu ray and regardless of your feelings about the quality of the film, I would have thought anybody with eyes could appreciate how amazing the high frame rate looks.
But no, it’s all people moaning about how it looks like a soap opera and “so unnatural” (too lifelike).
It seems anyone who tries high frame rate is crucified for it, so directors aren’t exactly incentivised to try again.
When I go to to people's houses, and they have a newish TV, it will invariably have frame interpolation of some kind on which effectively gives everything an approximated high frame rate. I immediately turn it off for them, and it is always met with either "oh, ya that was really bothering me" or "I can't tell the difference." I've never had someone want it turned back.
By all means, keep indie and art house productions non-3D, 24fps and on celluloid. But for insane tripple a productions: higher frame rate pls.
Supposedly the Avatar sequels are gonna be in 48 or even 60. Maybe they‘ll act as a catalyst again, like the first one did for 3D.
There's some astonishing VR footage to be found on youtube -- the VR180 stereoscopic stuff you can watch with a headset is on a whole other level when it comes to experiencing filmed medium.
But, for me at least, as a Quest owner (so maybe the mobile hardware can't process any higher-bitrate stuff, I don't know), the juddery, blocky, muddy, motion-smeared 24fps quality of even the highest bitrate videos youtube will serve in that format detracts a lot to the experience and reminds you that you're not a drone sweeping across the Saharan desert, you're some sweaty nerd sat with a fancy hat on.
The way some of the comments here are talking about it. It's like it requires a 2 hour encode to encode 1 hour.
For Netflix this is an encode once then just CDN the files. I can't imagine that this would be a significant cost.
"We have found that the real-world compression/speed trade-offs for AV1 are in fact excellent, and better than HEVC." https://blogs.cisco.com/collaboration/cisco-leap-frogs-h-264... Discussion https://news.ycombinator.com/item?id=20291344
Do you have a recent benchmark showing this? Things are changing fast enough that it's hard for me to Google the current state of things.
But for streaming services even those initially costly encoders are worth it since they pay the cost only once and then stream to millions of viewers.
1) It takes significantly fewer resources to stream to customers (bandwidth, CPU, disk, RAM, etc) or
2) It provides a significantly better experience for the user, which translates to more retention (either better picture quality or fewer video pauses or both).
If you can find a codec that does both, that's worth far more than any encoding cost.
You are completely right about Netflix’s needs here. Spending thousands of dollars on re-encoding video to shave off 1% of its size in bytes can easily be profitable at the scale of a hit show like Stranger Things.
There are companies offering cloud AV1 FPGA encoding on beefy servers. I'd imagine the performance and quality is much better than what is available to mere mortals right now.
But 10bit 4k streams need nearly 50gb RAM and exponentially more time than 1080p. I've never had much luck.
Cisco's AV1 encoder does 1080p30 encoding for video calls on a laptop. They found it's a matter of tuning the encoder for the live video use case:
https://blogs.cisco.com/collaboration/cisco-leap-frogs-h-264...
Xilinx is working on FPGA based encoding for AV1. They already offer it for VP9 (they bought NGCodec) and Twitch is using it:
https://www.xilinx.com/applications/data-center/video-imagin...
https://blog.twitch.tv/en/2018/12/19/how-v-p9-delivers-value...
The live streaming part of av1 is still full on the works. RTP packet formats for SVC isn't even finished yet, let alone implemented in a codec.
Spec, hardware encoders and maybe even software encoder improvements will likely make it practical.
Needless to say. figuring out which piece of data should be plucked out and transformed from prior frames is really computationally expensive.
Here's a paper on exactly what sort of tools are available for the codec. https://jmvalin.ca/papers/AV1_tools.pdf
edit I should note that the data stream for H.264 is FAR simpler. It doesn't support nearly the number of transformations that AV1 does.
On Android there's some specific API they call that only works on "certified" devices from Google. Random hobbyist builds wont work
Netflix uses Google’s SafetyNet API to make sure the device is “certified”. When this API check returns false, some features (like downloading media for offline viewing) will be disabled for the device. In some cases, the app won’t even show up in Google Play. Devices with a custom ROM are likely to fail the test, but luckily the check can be circumvented with the hide feature of Magisk[3]. Netflix works fine on my LineageOS-powered device when using Magisk.
But even if your device passes the SafetyNet checks, you might not be able to play HD videos. This depends on the Widevine security level, which can be L1, L2 or L3; only devices with L1 are allowed to play HD videos. You can check your device’s Widevine security level with DRM Info[4], for example. Netflix also lists specific device models and chipsets for which they support HD streaming.[5]
[1] https://source.android.com/devices/drm
[2] https://developer.android.com/reference/android/media/MediaD...
[3] https://github.com/topjohnwu/Magisk
[4] https://play.google.com/store/apps/details?id=com.androidfun...
https://www.guru3d.com/index.php?ct=files&action=file&id=263
They're using ST-AV1[1], the encoder they've collaborated with Intel on.[2][3]
[1] https://github.com/OpenVisualCloud/SVT-AV1
[2] https://newsroom.intel.com/news/intel-netflix-deliver-av1-sc...
[3] https://netflixtechblog.com/introducing-svt-av1-a-scalable-o...
Edit: They did mention the 20% is from AV1-libaom compression efficiency as measured against VP9-libvpx. So not SVT-AV1.
Almost like Netflix has data analysts and experts in the field who have already calculated the cost benefits based on internal metrics unavailable to us and chosen to implement it...
But they are using AV1 now i.e. you should presume NetFlix have judged that the benefits outweigh the costs (unless you have other relevant information to share).
* Disclaimer: I know nothing of AV1.
Let's say that AV1 reduces file sizes by 40% (compared to H.264), saving them 0.8GB per stream. Let's say that only 10% of users have AV1 capability. And let's say that they only pay a tenth of a cent per GB for bandwidth. They're still saving 800,000 GB of bandwidth or $800. Of course, there are also going to be other savings like electricity since transferring smaller files means needing fewer servers (servers have network cards that get saturated whether in their data center or CDN).
At Google, encoding costs can be big since a lot of YouTube videos aren't watched a lot. With Netflix, the library is a lot smaller and more popular. Netflix is up to around 170M customers. Each of those customers might have a few household members watching something popular (and maybe re-watching those things). Even encoding something very slowly ends up not costing that much money.
But it's also about the customer experience. Mobile companies throttle video services. I believe Google started using VP8 so that T-Mobile customers could see 720p video without paying extra for HD video. When downloading files for offline usage on a plane, the size is going to matter both in terms of the time it takes to download and the storage used on your device which is limited.
Even if bandwidth only costs Netflix a hundredth of a cent per GB, the compute needed for AV1 just doesn't seem to matter given the way Netflix's business works.
A smaller file for the same quality means that customers need less bandwidth to stream a show, improving their experience and decreasing buffer times, etc. This might not be as relevant in the USA as other places, but I'm sure there are a significant number of customers and potential customers that this will make a difference with.
With an encode-once stream-many setup, it's likely quite worth it for Netflix to pay whatever upfront transcoding cost if the resulting file is advantageous in any way.
Yeah, I can already see it. AV5 with 3 months of encoding time on a 128 core EPYC for a 90 minute movie.
When are hardware decoders and encoders for AV1 coming for common GPUs (Intel, AMD, Nvidia, Qualcomm, etc.?).