Waarom EUSV en EUSB (end-user stream validation en benchmarking) ertoe doen voor CTO's van streamingdiensten.

IN HET KORT

Dashboards vol playerdata (RUM, CMCD) meten hoe goed een stream wordt afgeleverd, niet hoe goed de stream zelf is. Een stream kan op groen staan terwijl kijkers haperende beelden zien, twee keer zoveel data verbruiken of geluid horen dat achterloopt.

EUSV (end-user stream validation) haalt de stream op zoals een kijker die ontvangt en toetst manifest en segmenten aan de officiële specificaties: encoding, packaging, timing en architectuur. U meet dus de oorzaak, niet het symptoom.

EUSB (end-user stream benchmarking) zet diezelfde metingen naast de werkelijke streams van andere aanbieders, en kan daarnaast scoren op efficiëntie, duurzaamheid, soevereiniteit en privacy.

Voor de CTO levert dat reproduceerbare feiten op: wat kijkers werkelijk ontvangen, verborgen risico's, kosten die geen kijker ooit meldt, en een sterkere positie in het gesprek met de leverancier.


Wie een professionele streamingdienst draait, kijkt dagelijks naar dashboards vol grafieken uit de players van de kijkers: opstarttijd, buffering, foutmeldingen, gekozen bitrate. Staat alles op groen, dan lijkt de dienst gezond en concludeert u dat u uw werk goed hebt gedaan. Zo'n dashboard meet echter alleen hoe goed de stream wordt afgeleverd, niet hoe goed de stream zelf is. En juist daar ontstaan de problemen die kijkers merken. EUSV (end-user stream validation) en EUSB (end-user stream benchmarking) geven de CTO de middelen om de keten van encoder en packager op basis van feiten te meten en bij te stellen.

Meten aan het eind van de keten

Real user monitoring, kortweg RUM, meet wat de player rapporteert. Dat is waardevol, maar ook wat achterhaald: CMCD, Common Media Client Data zoals het heet, is een relatief nieuwe standaard waarmee players bij elk verzoek hun meetgegevens naar het CDN sturen. Beide meten echter alleen het eind van de keten. Ze zien dát een player buffert, maar niet waarom. Ze zien welke bitrate een kijker ontvangt en of videosegmenten technisch gezien worden geladen, maar niet of die stream ook een goed beeld oplevert.

Daardoor kan een stream er op het dashboard prima uitzien, terwijl de kijker naar een beeld met haperende frames kijkt, twee keer zoveel data verbruikt of geluid hoort dat achterloopt. De player meldt namelijk geen fout: technisch speelt alles af. En gaat er wel iets mis, dan wijst het dashboard al snel de verkeerde schuldige aan: buffering lijkt een CDN-probleem, terwijl de oorzaak in het manifest kan zitten.

En dan kijkt u zelf even op uw smart-tv. Het beeld ziet er goed uit en de groene lampjes bevestigen het. Maar een moderne tv is opvallend goed in het verbergen van fouten: slimme filters en upscalingalgoritmes poetsen artefacten weg, en een vergevingsgezinde parser en decoder slikken zonder morren alles wat niet aan de standaard voldoet. Op een oudere tv, een goedkope settopbox of een telefoon met een strengere player ziet het er heel anders uit, of stopt de stream gewoon. Uw eigen apparaat is dus geen goede maatstaf voor dat van alle anderen.

In de stream kijken

EUSV haalt de stream op precies zoals een kijker die ontvangt en onderzoekt hem grondig: het manifest wordt regel voor regel getoetst aan de officiële specificaties en de segmenten worden geanalyseerd tot op het niveau van afzonderlijke frames en timestamps. U meet dus niet het symptoom, maar de oorzaak.

Encoding

Staat de bitrate in verhouding tot de beeldkwaliteit, of wordt content in archiefkwaliteit afgeleverd, zonder harde bovengrens? Draait de encoder op snelheidspresets of op een versie van jaren oud? Worden B-frames gebruikt, de frames die zowel vooruit als achteruit verwijzen en daardoor veel bits besparen, en op HD het efficiëntere High-profiel? Is de bitrateladder logisch opgebouwd, zonder overlappende niveaus? Staan keyframes in een vast ritme op de segmentgrenzen, of is de uitlijning tussen kwaliteitsniveaus aan het toeval overgelaten? En wordt de audio niet bij elk kwaliteitsniveau opnieuw meegestuurd?

Een te hoge bitrate lijkt op het dashboard goed nieuws. In werkelijkheid betaalt u dubbel voor opslag en verkeer, ziet de kijker geen beter beeld en buffert hij eerder op een wisselende verbinding. Ontbrekende B-frames of elke seconde een keyframe kosten al snel 10 tot 30 procent extra data, juist bij sport en in rustige scènes. En een beeld dat bij snelle scènes uiteenvalt in ruis, of waar het leven uit is ge-encodeerd: de player speelt het netjes af, het dashboard meldt niets en de kijker haakt af.

Packaging en manifest

Klopt de bandbreedte in het manifest met de werkelijkheid? Staan codecs, resoluties en profielen volledig en correct vermeld? Wordt een actuele protocolversie gebruikt? En bij live: is het venster lang genoeg om haperingen op te vangen en kijkers te laten terugspoelen?

Een manifest dat een te lage bandbreedte opgeeft, laat de player een niveau kiezen dat de verbinding niet aankan. Een manifest dat een eenvoudiger codecprofiel aankondigt dan er werkelijk in zit, laat een ouder apparaat vrolijk starten, waarna het vastloopt. Een ladder waarin een lager niveau meer bandbreedte vraagt dan een hoger niveau, stuurt de kijker precies de verkeerde kant op. En bij vooraf verpakte video met een timestamp in de segmentnamen maakt elke nieuwe verwerkingsronde de caches ongeldig. Uw dashboard blijft intussen gewoon groen.

Timing

In dit deel van de keten draait vrijwel alles om timing, en EUSV meet die expliciet. Lopen de timestamps doorlopend door, of zitten er gaten en sprongen in? Staat de segmentduur exact in het manifest, of afgerond, zodat elk segment een paar milliseconden verschil introduceert dat zich opstapelt? Vallen segmentgrenzen op alle kwaliteitsniveaus op hetzelfde moment? Blijven audio en video synchroon, ook na dagen ononderbroken uitzenden? Kijkers merken afwijkingen als een hapering of een kort zwart beeld bij het wisselen van kwaliteit, geluid dat achterloopt, of een livestream die terugspringt.

Architectuur

Een stream verraadt ook veel over de keten erachter. Er zijn namelijk veel manieren om bronsignaal, encoding en packaging op elkaar af te stemmen. De gangbare, robuuste aanpak: elk onderdeel doet waar het goed in is, verwacht van de andere niet meer dan de standaard voorschrijft en kan omgaan met kleine afwijkingen. Sommige oplossingen wijken daarvan af: verantwoordelijkheden worden verschoven, of problemen worden gemaskeerd en blijven onzichtbaar tot het op een dag echt misgaat. Zo'n keten werkt zolang alles meezit, maar is veel gevoeliger voor een haperend bronsignaal, een herstart of wat pakketverlies. Moet een packager compenseren voor een gebrekkige architectuur of slechte afstemming, dan worden frames overgeslagen of dubbel getoond, en die hapering ziet u meteen, bijvoorbeeld tijdens een voetbalwedstrijd. Een livestream kan zelfs stoppen, waar een goed afgestemde keten met een robuuste architectuur het probleem had opgevangen.

Het effect op het CDN

Architectuurkeuzes werken door tot in het CDN. Publiceren alle kanalen op precies hetzelfde moment een nieuw segment, dan komen ook alle cache misses tegelijk binnen: om de paar seconden een piek op de origin. Is de packager net te laat, dan krijgt het eerste verzoek een foutmelding, en onthoudt het CDN dat een tijdje, negative caching zoals het heet, dan missen hele groepen kijkers een segment. Het ene CDN is daar gevoeliger voor dan het andere: veel kleine edges zonder tussenlaag halen elke cache miss zelf bij de origin op, terwijl request coalescing en een origin shield de origin beschermen. Uw RUM-dashboard geeft dan het CDN de schuld, terwijl het probleem in de combinatie van packager en CDN zit. Een CDN-probleem is dus lang niet altijd een probleem van het CDN zelf. Vaak ligt de waarheid ergens in het midden, en juist daarom zijn diepere expertise en het goed doormeten van de keten onmisbaar.

Meten over de hele keten

Een stream gaat door veel handen: bronsignaal, ingest, encoder, packager, origin, CDN en player. Elk van die schakels kan een probleem veroorzaken, doorgeven of maskeren. Toch zien we in de praktijk vaak dat er met slechts een beperkt aantal monitoringdashboards wordt gewerkt, die bovendien vaak de onderliggende logs verbergen. Dan ziet u dát er iets misgaat, maar niet waar. Aannames leiden vroeg of laat tot verkeerde conclusies en verkeerde keuzes, en u als klant betaalt daarvoor de prijs.

U mag van uw leverancier dus verwachten dat hij bij elke overdracht logt en meet, die metingen ook daadwerkelijk gebruikt en EUSV toepast als laatste controle. Met EUSB wordt dat verschil glashelder: partijen met de expertise om de hele keten te begrijpen, te meten en bij te stellen, tegenover partijen die stoppen bij „het dashboard zegt dat het werkt”. Als er al iets wordt gemeten, want ook daar zijn voorbeelden van.

Benchmarking: uw keten naast de markt

EUSB gaat een stap verder dan EUSV: u zet dezelfde metingen naast de werkelijke streams van andere aanbieders. Niet wat er in hun brochures staat, maar wat hun kijkers ontvangen. U ziet hoe verschillend partijen met dezelfde standaarden omgaan, waar uw eigen keten achterblijft en waar die aantoonbaar beter presteert dan uw concurrent. Door elk onderdeel te scoren, van aantoonbaar fout tot aantoonbaar geoptimaliseerd, wordt de vergelijking concreet. Uw eigen keten valideert u af en toe, de markt benchmarkt u regelmatig: daar ziet u precies wie zijn stack bijstelt, of heeft vervangen. Het mooie is dat dit volledig onafhankelijk kan, op basis van de streams zelf.

Meer dan techniek

Naast de techniek kunt u een keten ook benchmarken op niet-technische punten.

Efficiëntie en duurzaamheid. Elke overbodige megabit kost opslag, verkeer en energie, en dat voor elke kijker opnieuw. Een efficiënte keten is daardoor ook een groenere keten. Vrijwel geen enkele aanbieder rapporteert hierover: er valt dus nog veel te winnen.

Digitale soevereiniteit. Waar draaien origin, CDN en analytics werkelijk, en onder welke jurisdictie? Dat is eenvoudig te controleren via DNS en netwerkverkeer. Soevereiniteit duikt steeds vaker op in de brochure. In de DNS-records wat minder. Welk SEAL-niveau uit het European Cloud Sovereignty Framework past werkelijk bij uw keten?

Privacy. Wordt kijkgedrag tijdens het afspelen naar derden gestuurd? En wat mogen CDN's en RUM-partijen, en wat doen ze werkelijk, met de accesslogs over uw marktbereik en abonnees?

Toegankelijkheid en toekomstbestendigheid. Zijn ondertitels en audiosporen correct opgenomen, zoals de European Accessibility Act voor veel diensten vereist? En kunt u onderdelen onafhankelijk van elkaar vervangen, of wordt de volgende migratie pijnlijk?

Wat EUSV en EUSB u als CTO opleveren

Meten bij de player is een prima thermometer, maar een thermometer vertelt u dat u koorts hebt, niet waarom. EUSV en EUSB zijn de diagnose en leveren verrassend harde en rijke informatie op:

U ziet wat uw kijkers werkelijk ontvangen. Geen testomgeving of brochure, maar de manifesten en segmenten die bij hun players aankomen.

U krijgt feiten in plaats van meningen. Gangbare, open meetinstrumenten, getoetst aan openbare specificaties zoals de HLS-standaard en de authoring guidelines van Apple. Elke bevinding is te herleiden tot een concrete regel of waarde en daardoor reproduceerbaar.

U weet snel waar u staat. De structuur van een stream volgt rechtstreeks uit de configuratie. Eén goede meting geeft daardoor al een volledig beeld, en herhalen is alleen nodig bij oplevering, na een wijziging of als steekproef.

U maakt verborgen risico's zichtbaar. Een standaard is het contract tussen onderdelen. Een validatie laat zien waar uw keten leunt op een vergevingsgezinde player of een specifieke combinatie van onderdelen, voordat dat stukgaat bij een ander onderdeel, een andere player of tijdens een migratie.

U ziet kosten die geen kijker meldt. Kijkers klagen zelden: ze zappen weg. En een te hoge bitrate ziet u niet in een klacht, maar op uw factuur.

U staat sterker tegenover uw leverancier. Met reproduceerbare metingen en een vergelijking met de markt bespreekt u feiten, geen gevoelens.

Zeven vragen voor uw leverancier

Wilt u weten hoe uw keten ervoor staat? Begin dan met deze zeven vragen aan uw leverancier.

  1. Welke eisen stelt uw packager aan het signaal van de encoder, waar staan die beschreven en welke architectuur volgt de packager?
  2. Wat gebeurt er met de stream over de hele keten als de bron hapert of er onderweg pakketten verloren gaan?
  3. Kunt u de encoder en de packager onafhankelijk van elkaar vervangen, of zit u vast aan een specifieke combinatie?
  4. Is uw keten gevalideerd op de werkelijke output, getoetst aan de officiële specificaties, of alleen op wat de eigen monitoring rapporteert?
  5. Meet uw leverancier bij elke overdracht in de keten, of alleen aan het eind?
  6. Hoe verhoudt uw bitrate zich tot de beeldkwaliteit, en hoe presteren vergelijkbare diensten?
  7. Waar draaien encoding, origin, CDN en analytics, en onder welke jurisdictie vallen ze?

Krijgt u op deze vragen geen helder antwoord, dan is dat ook een antwoord. Misschien niet het antwoord dat u wilt horen, maar uw klanten stellen u deze vragen vroeg of laat ook. Of ze haken af.

Laat uw stream valideren

Benieuwd wat er werkelijk in uw streams zit? Jet-Stream voert graag een EUSV uit op uw eigen streams, aangevuld met een regelmatige EUSB waarin we uw streams naast de markt zetten, desgewenst ook op efficiëntie, duurzaamheid en soevereiniteit. U ontvangt direct concrete verbeteradviezen. Neem contact met mij op voor een vertrouwelijk gesprek.

Veelgestelde vragen

Wat is het verschil tussen RUM, CMCD en EUSV?
RUM en CMCD meten wat de player van de kijker rapporteert: buffering, opstarttijd, gekozen bitrate. EUSV haalt de stream zelf op zoals de kijker die ontvangt en toetst manifest en segmenten aan de officiële specificaties. RUM en CMCD zien het symptoom, EUSV de oorzaak.

Wat is EUSB?
End-user stream benchmarking: dezelfde metingen als EUSV, maar naast de werkelijke streams van andere aanbieders gezet, zodat u ziet waar uw keten achterblijft of voorop loopt. U kunt daarnaast scoren op efficiëntie, duurzaamheid, soevereiniteit en privacy.

Hoe vaak moet u een stream valideren?
De structuur van een stream volgt uit de configuratie, dus één goede meting geeft al een volledig beeld. Herhalen is nodig bij oplevering, na een wijziging of als steekproef. De markt benchmarkt u regelmatig.