Waarom we zijn gaan benchmarken
Jet-Stream staat sinds 1994 bekend om innoveren, pionieren en diepe kennis van de kern van streamingtechniek. We hebben daarbij altijd een open karakter gehad, en dat stelt eisen: een oplossing moet namelijk kunnen werken met meerdere encoders, transcoders, packagers en CDN's. Dat open karakter is een voorwaarde voor soevereiniteit. De klant stelt dan zelf een keten van diensten samen, en zit niet vast aan een vaste combinatie van bijvoorbeeld een encoder en een packager van dezelfde leverancier. Die gedwongen winkelnering is niet van deze tijd, en past al helemaal niet in een tijd waarin organisaties hun digitale onafhankelijkheid terug willen winnen.
Tegelijkertijd zoeken klanten oplossingen die betaalbaar zijn, digitaal soeverein en technisch goed doordacht. Daardoor moeten onze oplossingen twee dingen tegelijk kunnen: eigen encoders en packagers draaien en streams zelf uitserveren, maar ook probleemloos samenwerken met andere leveranciers. Dat vraagt ten eerste dat onze eigen encoders en packagers van hoge kwaliteit zijn en zich kunnen meten met de markt. Ten tweede moeten onze oplossingen met die van derden samenwerken, zonder dat je in complexe integratieprojecten verzeild raakt.
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 toekomstvast zijn, voldoen aan de standaarden, duurzaam zijn, een hoge beeldkwaliteit en stabiliteit leveren, zo min mogelijk opslag en dataverkeer verbruiken, en afspelen op elk apparaat en in elke speler.
Gemeten in het wild
We wilden daarom niet alleen onze eigen techniek tegen de markt afzetten, maar ook de producten in de markt zelf onder de loep nemen. Hoe doen ze het echt? Werken ze samen met andere componenten, zijn ze gebaseerd op de standaarden en voldoen ze eraan, en volgen ze de beproefde werkwijzen uit de industrie?
We hebben daarvoor de streams geanalyseerd zoals kijkers die werkelijk ontvangen: die van meerdere Nederlandse omroepen en die van meerdere betaalde Nederlandse OTT-diensten. Elke stream hebben we getoetst aan de officiële specificaties en aan de gangbare richtlijnen voor goede packaging. Onze eigen keten deed daarbij gewoon mee als een van de deelnemers, zonder voorkeursbehandeling. Je kunt verrassend veel details leren over een streamingstack door simpelweg manifests en segmenten te analyseren. Heeft jouw leverancier dat ooit voor je gedaan?
Wat de benchmark over onze eigen keten liet zien
Niet om op te scheppen, maar de benchmark onderbouwde dat onze encodingkwaliteit zeer goed is en dat de hele keten voldoet aan de officiële standaarden. Misschien nog belangrijker: de keten is open en integreerbaar. De onderdelen zijn niet van elkaar afhankelijk, en de architectuur is zo solide dat zowel de encoder als de packager goed omgaan met variaties in de bron, dus met beeld en geluid dat nét anders binnenkomt dan verwacht. Juist daar gaat het in de praktijk namelijk vaak stuk.
Wat we in de markt zagen
Niet verrassend: de meeste encoders en packagers in de markt kwamen goed uit de bus. Wel merk je dat sommige systemen al wat ouder zijn en nog op verouderde encoding- en packaginginstellingen draaien. Daarnaast vonden we een aantal opvallende problemen.
Een van de in het oog springende problemen was een veel te hoge bitrate. Klanten van zo'n platform betalen daardoor ruwweg het dubbele voor opslag en dataverkeer, terwijl de kijker er geen beter beeld door krijgt, maar wel sneller bufferproblemen ervaart. De aanbieder lijkt dan scherpe prijzen te hebben voor opslag en CDN verkeer, maar je betaalt het dubbele voor een slechtere dienst.
Ook vonden we configuratie- en compliancefouten in manifests: dit is de inhoudsopgave die de speler vertelt welke kwaliteiten er zijn en hoe die in elkaar zitten. Klopt die beschrijving niet met de werkelijke stream, dan neemt de speler verkeerde beslissingen. Het gevolg is bufferen, opnieuw bufferen of een speler die volledig vastloopt.
Bij een partij zagen we een afwijkende en zwakke packagerarchitectuur, die afhankelijkheden en verantwoordelijkheden verschuift naar de encoder. Dat werkt, totdat het niet meer werkt: het risico op problemen met de synchronisatie van beeld en geluid, op haperingen en op wegvallende streams neemt daardoor flink toe, en de klant krijgt een afhankelijkheid, een lock-in. Dit niveau verwacht je niet van een professionele leverancier.
Eén partij haalde zelfs de bitrates door elkaar. Een kijker met een tragere verbinding, die terug zou moeten schakelen naar een lagere kwaliteit, wordt daardoor juist naar een hogere bitrate gestuurd. Met nog meer buffering als resultaat: precies de verkeerde kant op.
Tot slot zagen we slecht geoptimaliseerde pre-packaging, waarbij video vooraf in vaste formaten wordt verpakt en opgeslagen. Vandaag valt dat misschien niet op, maar het veroorzaakt in de toekomst een lastig en kostbaar migratieprobleem. De professionele markt gebruikt daarom steeds vaker just-in-time packaging, zoals het heet: de video wordt pas verpakt op het moment dat een kijker hem opvraagt. Dan kun je met één configuratiewijziging je packaging tunen, zonder dat je de gehele videobibliotheek (je hebt het al snel over honderden TB's) opnieuw moet repackagen.
Een stream die afspeelt, is nog geen stream die klopt.
Kennis van de hele keten maakt het verschil
Bij sommige partijen is de hoge kwaliteit goed te verklaren: goede encoders, gerenommeerde packagers, en vooral kennis van de hele keten. Bij andere partijen zie je dat de leverancier wel een werkende keten aan de praat heeft gekregen, maar de diepere kennis mist. De kosten en de gevolgen daarvan komen direct of uiteindelijk bij de klant terecht, meestal zonder dat die het doorheeft. Een stream die afspeelt, is namelijk nog geen stream die klopt. Heb je zelf je streams wel eens gevalideerd en gebenchmarkt?
Hoe doet jouw streamingketen het?
Ben je benieuwd hoe jouw streamingketen presteert? Wie weet hebben we die al meegenomen in onze benchmark. Zo niet, dan voeren we graag een benchmark voor je uit, en geven we je meteen concrete tips om je keten te verbeteren. Neem contact met ons op voor een vertrouwelijk gesprek.