Nieuws
Interessante presentatie "eigen privé cloud op een Raspberry Pi"
14 december 2024
Netflix, Spotify of YouTube: het ‘streamen’ van multimedia is nauwelijks nog weg te denken uit de manier waarop wij informatie verwerken en ons laten entertainen. Ook bedrijven zoals Google en Microsoft proberen met hun cloud-gamingdiensten mensen aan het spelen te krijgen met gestreamde games. Maar hoe werkt streamen eigenlijk, hoe komen die beelden en geluiden bij ons binnen? Hier duiken we in de technieken en protocollen.
- Dit is een long read -
De meesten van ons herinneren zich nog wel de tijd dat we soms 15 minuten moesten wachten tot een filmpje van 30 seconden volledig geladen was. Daar is gelukkig door de jaren heen de nodige verandering in gekomen. Onze toestellen en internetverbindingen zijn veel sneller geworden en daarmee is ook ons amusement steeds vaker afkomstig van online diensten. We kijken minder televisie en luisteren minder naar de radio, maar nuttigen meer Netflix, Amazon Prime, Disney+, YouTube en Spotify. Ook de populariteit van streamingplatformen zoals Twitch moet niet worden onderschat, zeker niet bij een jonger publiek dat daar een directe toegang heeft tot zijn favoriete streamers.
Vorig jaar zal voor enkele streamingdiensten ook een kantelpunt zijn geweest gezien de tijd die veel mensen noodgedwongen thuis moesten doorbrengen. In het vierde kwartaal van 2020 wist Netflix bijvoorbeeld 8,5 miljoen betalende abonnees aan te trekken.
Techniek
Bij de opkomst van internet was het een hele klus om met verschillende soorten media aan de slag te gaan. Audio en video moesten we eerst downloaden, wat een hele poos in beslag nam. Hier lag het probleem voor het overgrote deel bij de beperkte bandbreedte waar we toen mee aan de slag moesten. Deze beperkingen zijn vandaag de dag veel minder aan de orde.
Om de werking ervan te begrijpen is het nuttig om even stil te staan bij de verschillen tussen de twee belangrijkste manieren waarop wij content binnenhalen: streamen en downloaden. Bij downloaden worden alle bestanden waar je mee aan de slag wil, integraal op jouw harde schijf opgeslagen. Dat is handig als je graag met het volledige bestand wilt werken wanneer je maar wilt, internetverbinding of niet, maar het kent ook enkele nadelen. Om te beginnen verspil je zo kostbare schijfruimte en bandbreedte aan een filmpje dat je mogelijk slechts één keer zult bekijken. Daarnaast moet je in de meeste gevallen wachten tot alle bestanden binnen zijn voordat je er iets mee kunt doen.
De naam streamen behoeft eigenlijk weinig uitleg: er bestaat een constante stroom van informatie die door jouw toestel wordt verwerkt. Bij streamen vragen we eigenlijk de inhoud van een bestand op dat ergens op een server staat. Deze content wordt dan opgesplitst in een boel kleine datapakketjes die één voor één door ons toestel worden ontvangen en meteen verwerkt. Zo wordt een film bijvoorbeeld onderverdeeld in verschillende fragmenten van enkele seconden groot. Dit vraagt wel om een actieve én stabiele (mobiele) internetverbinding, en je hebt geen lokale bestanden die je later kan bewerken. Nadat de pakketten zijn gelezen, verdwijnt deze informatie gewoon van jouw computer, televisie, smartphone of tablet.
Bij het versturen van die pakketjes wordt er ook steeds een compressie uitgevoerd op de data om de pakketten minder groot te maken, wat aangenamer is voor je bandbreedte. Dit zorgt er ook voor dat het verkeer op de netwerken minder snel vast komt te zitten. Daarna volgt er een codering waarbij de data in een nieuw formaat wordt omgezet dat onze mediaspelers kunnen vertalen naar bruikbare content.
Streamingprotocol
Het is natuurlijk ook belangrijk om de data op de juiste manier bij de mensen te krijgen die deze opvragen. Streaming maakt hier grofweg gebruik van een van twee verschillende protocollen, ofwel de manieren waarop de data over de netwerken wordt verstuurd en verwerkt: transmission control protocol (TCP) en user datagram protocol (UDP). Elk protocol heeft zijn eigen werking en kan daarom ook voor specifieke streamingdoeleinden gebruikt worden. TCP maakt eerst een directe verbinding voordat de data wordt verstuurd. Hierbij worden alle pakketjes in de juiste volgorde verzonden. Als er data verloren gaat, dan wordt deze opnieuw verzonden. UDP werkt veel losser dan TCP. Er zijn minder mechanismes in werking, waardoor alles sneller verloopt. Maar dit protocol kan af en toe wat onbetrouwbaar zijn in het versturen en verwerken van de pakketjes en je hebt sneller de mogelijkheid dat er een pakketje ontbreekt. Als gebruiker ervaar je dan al snel haperingen of vertragingen, wat natuurlijk niet wenselijk is.
TCP is met zijn directe verbinding waarbij het versturen van de datapakketten op volgorde belangrijk is, uitermate geschikt voor het streamen van content die niet in real-time wordt gegenereerd, zoals Netflix en YouTube. UDP wordt dankzij de vlotte verbinding wel ingeschakeld voor streaming waarbij de snelheid van de informatiestroom juist cruciaal is en de volledigheid van de data ondergeschikt, zoals bij videogesprekken, livestreams en games.
Dankzij deze protocollen komen de datapakketten bij ons aan. De stroom van deze datapakketten kan soms onvoorspelbaar zijn, zeker bij een slechte internetverbinding. Daarom wordt bij mediaspelers, waaronder bijvoorbeeld YouTube, bij het laden een ‘buffer’ opgebouwd. Hierbij worden er alvast pakketjes klaargezet zodat de stroom van pakketjes ononderbroken blijft. Er worden dus enkele seconden van jouw filmpje geladen, zodat je nog enkele seconden voorsprong hebt om de rest van de benodigde data binnen te halen.
Stream-onderbrekingen
Het versturen van deze data is ondanks zijn digitale aard nog steeds onderhevig aan enkele fysieke beperkingen die invloed kunnen hebben op de kwaliteit van de stream zodra de datapakketjes bij jou binnen zijn. Als de afstand tussen de zender en ontvanger te groot wordt, kun je daar dalingen in prestaties en vertragingen door opmerken. We streamen vaak multimedia-data die van de andere kant van de wereld afkomstig zijn, dus dat zou dan steeds een probleem moeten geven.
Dit kan echter eenvoudig worden opgelost door het gebruik van content delivery networks (CDN). Hierbij worden servers met de relevante inhoud dichter bij de ontvangers geplaatst, zodat ze geen hinder ondervinden van eventuele vertragingen. Deze CDN’s worden bij internet exchange points (IXP’s) geplaatst. Dit zijn fysieke locaties waar de verbindingen van internetproviders samenkomen, zodat gebruikers snel en eenvoudig toegang hebben tot de content. Een mooi voorbeeld hiervan is Netflix, dat gebruikmaakt van Open Connect, een wereldwijd CDN dat het bedrijf zelf heeft ontwikkeld. Netflix voorziet zijn servers hierin ook van zijn eigen opslag-hardware die speciaal is ontworpen voor vlotte overdracht bij streaming.
Dat is echter geen belofte dat alles verder vlekkeloos verloopt. Er kan nog steeds te veel verkeer zijn op de netwerken waarlangs de data worden verzonden. Als de netwerken niet zijn berekend op een bepaalde drukte, bestaat de kans dat de verbinding wegvalt. Ook kunnen er zich steeds vertragingen voordoen op verschillende plaatsen in de verbinding, waardoor de kwaliteit van de stream ook beïnvloed wordt.
De zwakste schakel bij streaming is echter vaak onze eigen internetverbinding die de meest cruciale toegangspoort vormt bij het binnenhalen van content. Wat kun je daaraan doen? Helaas weinig, op het upgraden van je verbinding na of overschakelen naar een andere internetprovider.
Toekomst van streamen
Als we van de huidige trends mogen uitgaan, dan ziet het ernaar uit dat streamen alleen nog maar meer aan populariteit zal winnen. Filmstudio’s en bedrijven blijven hun eigen videostreamingdiensten uit de grond stampen, dus het aanbod zal in de nabije toekomst alleen maar groter worden.
Streamingplatformen zoals Twitch blijven ook aan populariteit winnen. Ook de komst van 5G zal ervoor zorgen dat we snellere internetverbindingen krijgen op onze mobiele toestellen, waardoor we misschien vaker op locatie multimedia-content zullen gaan streamen. Misschien wordt het streamen van games zelfs echt de toekomst van de gamesindustrie en hebben we binnenkort geen behoefte meer aan dure computers om ons hierin bij te staan. Het is maar te hopen dat de internetproviders mee schalen en dat de abonnementsprijzen wat zullen zakken om ons stijgende datagebruik te compenseren.
Met dank aan Clickx
'Abonneer je nu op een of meerdere van onze nieuwsbrieven en blijf op de hoogte van onze activiteiten!'
Aanmelden