Streaming technieken

 

protocollen en players
Voor het gebruik van streaming video is, naast de codecs, ook een aantal internetprotocollen nodig. Een protocol beschrijft hoe het dataverkeer tussen computers moet verlopen. De protocollen bevinden zich op verschillende niveaus, ook wel als lagen aangeduid. We hebben het hier over de netwerklaag, de transportlaag en de applicatielaag. Aangezien de protocollen in de netwerklaag standaard zijn voor alle players en streaming-bestanden, worden die hier niet besproken.

Protocollen in de transportlaag
Het internet gebruikt tcp/ip als protocol, maar dit protocol is voor streaming video minder geschikt doordat het een hoge foutcorrectie heeft. Fouten worden snel uitgefilterd, met als gevolg dat het videobeeld direct zou stoppen in het geval dat een datapakketje niet correct binnenkomt. Een foutje dat in een videobeeld sluipt, hoeft voor de weergave niet hinderlijk te zijn. Daarom is het beter een protocol te gebruiken die niet zo foutgevoelig is. Een voorbeeld van een dergelijk protocol is het udp-protocol.

 

Udp - Het udp (user datagram protocol) is een protocol dat RealPlayer gebruikt. Ondanks verloren of vertraagd ontvangen pakketjes gaat het dataverkeer, en dus de video, gewoon door. Dit dankt udp aan het feit dat het niet over een ingebouwd controlemechanisme beschikt dat de datastroom stopt zodra een datapakketje niet correct binnenkomt. Toch is het van belang dat de pakketjes in de juiste volgorde worden afgespeeld. Hiervoor heeft udp de hulp van het rtp-protocol nodig.

 

Het nadeel van udp is dat veel firewalls udp-informatie tegenhouden omdat hackers ook gebruik kunnen maken van udp-pakketjes om op een systeem of netwerk te komen.

Rtp - Het Realtime Transport Protocol is een transportprotocol dat gebruikt wordt door applicaties die realtime data versturen. In tegenstelling tot udp beschikt rtp wel over een ingebouwd controlemechanisme dat de juiste volgorde van datapakketjes kan controleren. Het nadeel van rtp is dat het de aflevering van pakketjes niet kan garanderen. Daarom moet het gebruikt worden met een ander protocol, zoals udp, dat voor een gegarandeerd transport zorgt.

Vdp - Een variant op het rtp-protocol is het Video Datagram Protocol (vdp). De betrouwbaarheid van de datastroom bij het vdp-protocol is een stuk beter. Dit komt doordat het gebruikmaakt van het feit dat er tussen de computer van de gebruiker en de server een directe één op één verbinding bestaat gedurende de datastroom. Er staan op het moment van de datastroom twee afzonderlijke kanalen tussen de computer en de server open. Het ene kanaal controleert het andere kanaal dat de werkelijke data doorstuurt.

Protocollen in de applicatielaag
Het applicatieprotocol zorgt ervoor dat de applicatie op de juiste manier met de lager gelegen transportlaag communiceert. Het applicatieprotocol controleert ook de volgorde en de volledigheid van de ontvangen datapakketjes. In de applicatielaag zijn twee veelgebruikte protocollen voor streaming aan te wijzen: http en rtsp.

Http - Het Hyper Text Transfer Protocol is het standaardprotocol in de applicatielaag voor het uitwisselen van informatie op het internet. Http is een eenvoudig protocol dat allerlei soorten informatie door kan geven, van tekst tot videobestanden. Maar http is niet speciaal ontwikkeld voor streaming video. Rtsp is een alternatief protocol dat wel specifiek voor streaming is ontwikkeld.

Rtsp - Het RealTime Streaming Protocol is ontwikkeld door RealNetworks, Netscape en Columbia University en beter geschikt voor streaming dan http. Het is ontwikkeld om met de verschillende protocollen uit de transportlaag te kunnen werken.

Zoals al ter sprake kwam zijn er drie commerciële videoformaten, RealVideo, Windows Media en Quicktime. Deze zijn ontwikkeld door respectievelijk RealNetworks, Microsoft en Apple. Alledrie de bedrijven hebben een codec, een streaming server en een player ontwikkeld. Van de players zijn doorgaans gratis versies te verkrijgen op de bedrijfssites