Elke leverancier van streamingtechnologie belooft een hoge beeldkwaliteit, lage kosten en vlekkeloos afspelen. Maar hoe presteren deze stacks echt, aan de kant van de kijker? Dat wilden we weten, dus zijn we gaan meten. Niet in een lab en niet op basis van een brochure, maar op de streams zoals kijkers ze daadwerkelijk ontvangen.

Waarom we zijn gaan benchmarken

Jet-Stream staat sinds 1994 bekend om innovatie, pionierswerk en diepgaande kennis van de kern van streamingtechnologie. We hebben altijd een open karakter gehad, en dat stelt eisen: een oplossing moet samenwerken met meerdere encoders, transcoders, packagers en CDN's. Die openheid is een voorwaarde voor soevereiniteit. Klanten kunnen daardoor hun eigen pipeline van diensten samenstellen, in plaats van vast te zitten aan een vaste combinatie van bijvoorbeeld een encoder en een packager van dezelfde leverancier. Zo'n gedwongen bundeling is achterhaald, en past al helemaal niet in een tijd waarin organisaties hun digitale onafhankelijkheid willen terugwinnen.

Tegelijk zoeken klanten oplossingen die betaalbaar, digitaal soeverein en technisch goed doordacht zijn. Onze oplossingen moeten daarom twee dingen tegelijk kunnen: eigen encoders en packagers draaien en zelf streams uitleveren, maar ook soepel samenwerken met andere leveranciers. Dat vraagt allereerst dat onze eigen encoders en packagers van hoge kwaliteit zijn en zich kunnen meten met de markt. Daarnaast moeten onze oplossingen samenwerken met die van derden, zonder dat u verzeild raakt in complexe integratieprojecten.

Jet-Stream had al meerdere robuuste encoders gebouwd en heeft daar onlangs een robuuste packager aan toegevoegd. We waren benieuwd hoe die zich verhouden tot de rest van de markt. Bovendien ontwikkelen we twee nieuwe platforms: JTS en StreamZilla. Beide moeten toekomstbestendig, conform de standaarden en duurzaam zijn, een hoge beeldkwaliteit en stabiliteit leveren, zo weinig mogelijk opslag en dataverkeer gebruiken, en afspelen op elk apparaat en in elke player.

Gemeten in de praktijk

We wilden dus niet alleen onze eigen technologie met de markt vergelijken, maar ook de producten in de markt onder de loep nemen. Hoe presteren ze echt? Werken ze samen met andere componenten, zijn ze gebaseerd op en conform de standaarden, en volgen ze de best practices uit de branche?

Om dat te achterhalen, analyseerden we de streams zoals kijkers ze daadwerkelijk ontvangen: die van meerdere Nederlandse omroepen en van meerdere betaalde Nederlandse OTT-diensten. Elke stream hebben we getoetst aan de officiële specificaties en aan gangbare richtlijnen voor goede packaging. Onze eigen stack deed gewoon mee als een van de deelnemers, zonder voorkeursbehandeling. Alleen al door manifests en segmenten te analyseren, komt u verrassend veel details over een streamingstack te weten. Heeft uw leverancier dat ooit voor u gedaan?

Wat de benchmark liet zien over onze eigen stack

Niet om op te scheppen, maar de benchmark bevestigde dat onze encodingkwaliteit zeer goed is en dat de hele stack voldoet aan de officiële standaarden. Misschien nog belangrijker: de stack is open en eenvoudig te integreren. De componenten zijn niet van elkaar afhankelijk, en de architectuur is zo solide dat zowel de encoder als de packager goed omgaat met variaties in de bron, dus met video en audio die net iets anders binnenkomen dan verwacht. Juist daar gaat het in de praktijk namelijk vaak stuk.

Wat we in de markt zagen

Het verraste niet dat de meeste encoders en packagers in de markt goed presteerden. Wel merkt u dat sommige systemen al wat jaren meegaan en nog draaien op verouderde encoding- en packaginginstellingen. Daarnaast stuitten we op een aantal opvallende problemen.

Een van de opvallendste was een veel te hoge bitrate. Klanten van zo'n platform betalen daardoor ongeveer het dubbele voor opslag en dataverkeer, terwijl kijkers geen beter beeld krijgen, maar wel sneller last hebben van buffering. De aanbieder lijkt scherpe prijzen te bieden voor opslag en CDN-verkeer, maar u betaalt het dubbele voor een slechtere dienst.

Ook vonden we configuratie- en compliancefouten in manifests: de inhoudsopgave die de player vertelt welke kwaliteitsniveaus beschikbaar zijn en hoe die zijn opgebouwd. Klopt die beschrijving niet met de werkelijke stream, dan neemt de player de verkeerde beslissingen. Het gevolg is buffering, rebuffering of een player die volledig vastloopt.

Bij één partij zagen we een niet-standaard en zwakke packagerarchitectuur die afhankelijkheden en verantwoordelijkheden afschuift op de encoder. Dat werkt, totdat het niet meer werkt: het risico op problemen met de synchronisatie van audio en video, haperingen en wegvallende streams neemt flink toe, en de klant blijft zitten met een afhankelijkheid, een lock-in. Dat is niet het niveau dat u van een professionele leverancier verwacht.

Eén partij had zelfs haar bitrates verwisseld. Een kijker met een tragere verbinding, die naar een lagere kwaliteit zou moeten terugschakelen, wordt juist naar een hogere bitrate gestuurd. Het resultaat is nog meer buffering: precies de verkeerde kant op.

Tot slot zagen we slecht geoptimaliseerde pre-packaging, waarbij video vooraf in vaste formaten wordt verpakt en zo wordt opgeslagen. Vandaag valt dat misschien niet op, maar in de toekomst levert het een lastig en kostbaar migratieprobleem op. Daarom stapt de professionele markt steeds vaker over op just-in-time packaging, waarbij video pas wordt verpakt op het moment dat een kijker erom vraagt. U kunt uw packaging dan bijstellen met één configuratiewijziging, zonder uw complete videobibliotheek opnieuw te hoeven verpakken (wat al snel neerkomt op honderden terabytes).

Kennis van de hele keten maakt het verschil

Bij sommige partijen is de hoge kwaliteit eenvoudig te verklaren: goede encoders, gerenommeerde packagers en vooral kennis van de hele keten. Bij andere ziet u dat de leverancier wel een werkende keten aan de praat heeft gekregen, maar dat de diepere kennis ontbreekt. De kosten en gevolgen komen dan bij de klant terecht, direct of op termijn, meestal zonder dat die het merkt. Een stream die afspeelt, is namelijk nog geen stream die klopt. Heeft u uw eigen streams ooit gevalideerd en gebenchmarkt?

Hoe presteert uw streamingstack?

Benieuwd hoe uw streamingstack presteert? Misschien hebben we die al in onze benchmark meegenomen. Zo niet, dan voeren we graag een benchmark voor u uit en geven we u concrete tips om uw stack meteen te verbeteren. Neem contact met ons op voor een vertrouwelijk gesprek.