HUR gör Netflix när de sänker bitrate med 30 procent?
Som bekant så Netflix sänker videokvaliteten med 30 procent för att avlasta internet. Man kan ha åsikter om huruvida detta är smart, rättvist, proportionerligt eller ens nödvändigt men det är inte det jag vill diskutera här. För de som vill diskutera detta så finns det redan en tråd om detta. I den här tråden vill jag istället fokusera på, en helt annan fråga.
Nämligen: Hur gör Netflix när de sänker bitrate med 30 procent? Rent tekniskt alltså.
Att koda video är ju nämligen inte gratis. Så vitt jag vet (rätta mig om jag har fel!) så är det inte bara att ändra i en konfigurationsfil någonstans så sänks magiskt din bitrate med 30 procent. Man måste koda om videon till en lägre bitrate, något som tar mycket tid och beräkningskraft.
Enligt en artikel jag hittade om Netflix arkitektur från 2018 (Medium: NETFLIX system design (Narendra L)) så sker denna videokodning när en video läggs in i Netflix katalog. Artikeln är från 2018, och är ju skriven lite knackigt, så jag skulle säga att jag inte litar till 100% på att det som står i artikeln är 100% sant, vissa grejer är lite tveksamma, men själva grundarkitekturen om hur Netflix sitter ihop tror jag stämmer till de delar som är relevanta här. Ett relevant utdrag från artikeln:
How Netflix onboard a movie/video:
Before this movie is made available to users, Netflix must convert the video into a format that works best for your device. This process is called transcoding or encoding.
Transcoding is the process that converts a video file from one format to another, to make videos viewable across different platforms and devices.
Whys do we need to do it? why can't we just play the source video?
The original movie/video comes in a high definition format that’s many terabytes in size. Also, Netflix supports 2200 different devices. Each device has a video format that looks best on that particular device. If you’re watching Netflix on an iPhone, you’ll see a video that gives you the best viewing experience on the iPhone.
Netflix also creates files optimized for different network speeds. If you’re watching on a fast network, you’ll see the higher quality video than you would if you’re watching over a slow network. And also depends on your Netflix plan. that said Netflix does create approx 1,200 files for every movie !!!!
När artikelförfattaren skriver med 1200 filer per film gissar jag på att videon delas upp i "stycken" på några sekunder eller minuter var, inte att det finns 1200 olika kvalitetsnivåer. Jag hade inte heller dragit på stora växlar på texten och siffrorna som visas i denna bild i artikeln, jag tror att den kan vara lånad efter en bildgoogling. Bitrates verkar inte stämma med verkligheten eller ens med något som är rimligt.
Vi kan även kombinera detta med en bild från tidigare i artikeln:
Av detta (längst ner i vänstra hörnet) framgår att Netflix gör sin videokodning i Amazons moln offline i en behandlingskö. Huvudsaken som jag ser det är att videomaterialet alltså kodas till olika kvalitetsnivåer "offline", och sedan så skickas de kodade videofilerna upp till Netflix CDN där de i sin tur skickas över till tittarnas enheter för uppspelning.
Om Netflix därför nu sänker sin bitrate med 30% så måste det betyda att antingen så har de redan filer i den kvalitén av andra anledningar, eller så kodar de nu om delar eller hela sitt bibliotek till en lägre bitrate. Det kan också betyda att de bara kodar nyanlända filmer i en lägre bitrate över en övergångsperiod.
Så vad tror ni, vad gör Netflix just nu? Sitter de och kodar om hela deras katalog med lägre bitrate? Eller bara den del som står för lejonparten av deras streams? Eller är det bara nytt material (nya avsnitt tenderar att vara populära?). Eller har jag helt fel och ligger detta i verkligheten till helt annorlunda?
Till sist en påminnelse: I den här tråden vill jag alltså diskutera hur Netflix gör detta, inte huruvida det är en bra eller en dålig idé. Det finns det redan gott om diskussion om i en annan tråd.