302 online applicaties

302 online applicaties logo

Streameasy

Streameasy

Self-service portaal voor online events

Self-service streamingportaal

Portaal voor online events

Streameasy is een self-service streamingportaal waarbij een organisatie de mogelijkheid krijgt om zelf eenvoudig een livestream op te zetten. Deze evenementen kunnen qua vormgeving worden aangepast naar de huisstijl van de organisatie. Maar de organisatie heeft hier ook de mogelijkheid om verschillende tools te selecteren om meer interactie uit zijn publiek te halen.

Een interessant project waarbij er naast complexe functionaliteit op de webapplicatie ook rekening gehouden is met de infrastructuur voor het horizontaal opschalen van kijkers.
Multi page application

Webapplicatie

De webapplicatie van Streameasy is een Multi Page Application met een beheerders gedeelde en een gedeelte waar bezoekers een livestream kunnen volgen. Door middel van een persoonlijke inlog heeft de gebruiker de mogelijkheid om kanalen en evenementen via zijn dashboard te beheren.

Een kanaal is als het ware een tv-kanaal waarbij er meerdere programma’s (events) zijn. Op een kanaal kan de gebruiker dan zijn eigen huisstijl toepassen zodat de deelnemers weten dat ze bij het correct evenement zitten.  

aanmaken van events

Events

Events worden door de organisatie aangemaakt en bevatten naast de nodige huisstijl mogelijkheden ook een aantal gave modules om de interactie met de kijker te vergroten.  

De kijkers krijgen de mogelijkheid om op de event pagina de livestream te bekijken en te participeren met de ingestelde modules. Qua techniek zitten hier gave uitdagingen in omdat we te maken hebben met realtime connecties en piekmomenten qua drukte op te servers.

Q&A

Q&A Module

De Q&A (Question & Answer) is een geavanceerde module waarmee er doormiddel van verschillende instellingen de interactie met de kijker op meerdere manieren kan worden ingeregeld. Dit is wenselijk omdat in sommige gevallen je niet wilt dat alle vragen direct zichtbaar zijn voor de overige deelnemers.

Door middel van een websocket-techniek worden de berichten realtime verstuurd en kan er tijdens het live-event realtime worden ingegaan op binnenkomende vragen.
Poll

Poll Module

Net zoals de Q&A is ook de polling module gebaseerd op een websockets techniek. De moderator of de organisatie die het event beheerd kan vooraf (of tijdens) een aantal vragen maken i.c.m een set aan antwoorden.  

Door middel van een actie kan de poll worden gestart en kunnen de deelnemers stemmen of de vraag die is uitgezet. Indien iedereen gestemd heeft kan de moderator ervoor kiezen om de statistieken te delen met alle deelnemers.

Controle op aanwezigheid

Accreditatie module

Een andere interessante module binnen dit project is de accreditatie checker. De beheerder van het evenement krijgt de mogelijkheid om deze op een evenement aan te zetten om zo een bewijslast te creëren voor deelname van het evenement. Er wordt met deze module elke X minuten een vraag gesteld of de gebruiker nog aanwezig is. De gebruiker krijgt dan 10 seconden de tijd om deze vraag met Ja te beantwoorden.

Alle acties (of het ontbreken van acties) worden geregistreerd en zijn door de beheerder in te zien. Via een uitgebreid statistiek kan de beheerder zien hoe vaak, en wanneer de deelnemers op de Ja knop hebben gedrukt. Dit overzicht is ook te exporteren naar Excel. Om deze module te gebruiken moeten de deelnemers zicht vooraf registreren op het evenement.
veel kijkers vragen veel van de systemen

Infrastructuur & schaalbaarheid

Met het livestreamen van evenementen heb je vaak te maken met piekmomenten van grote hoeveelheden kijkers. Om ervoor te zorgen dat dit vlekkeloos gebeurt hebben we gekozen om verschillende machines in te zetten die ieder zorg dragen voor hun eigen taak.

Streaming servers

Met het livestreamen van evenementen heb je vaak te maken met piekmomenten van grote hoeveelheden kijkers. Om ervoor te zorgen dat dit vlekkeloos gebeurt hebben we gekozen om verschillende machines in te zetten die ieder zorg dragen voor hun eigen taak.

CDN

Omdat we niet 1000-en kijkers op één machine kunnen afhandelen hebben we gekozen om een eigen CDN (Content Delivery Network) in te richten. Een CDN zorgt ervoor dat bestanden beschikbaar worden gesteld om naar kijkers aan te bieden. In dit geval staan de videobestanden van de livestream klaar om naar de kijkers te worden verstuurd. Indien het CDN het bestand niet beschikbaar heeft zal hij deze ophalen bij de streamingserver om deze vervolgens op te slaan.  Hierdoor kan hij vanaf dat moment wel de bestanden versturen en wordt de streaming server ontlast van vele duizenden aanvragen. De CDN-machines worden afhankelijk van de drukte dynamisch bij-geschaald. 

Centrale logging van CDN

Elasticsearch log-tracking

Om inzicht te kunnen geven over hoeveel kijkers er hebben gekeken naar een event is het noodzakelijk dat we de statistieken van alle CDN-machines bij elkaar optellen en presenteren aan de eigenaar van het evenement (En voor facturatie doeleinden). Om dit te realiseren hebben we een aparte machine ingeregeld waar alle log bestanden naar worden toegestuurd (Elasticsearch). Deze machine ontvangt log bestanden van de CDN-machines die de streams hebben afgehandeld naar de kijkers en voegt deze samen voor statistiek.

De webapplicatie haalt de gegevens van Elasticsearch machine op via een API en toont een grafiek van het aantal kijkers in het dashboard. Hierdoor krijgt eigenaar van het evenement nog meer inzicht in het aantal kijkers en wordt ook de facturatie op deze gegevens gebaseerd.
elasticsearch

Ook een web applicatie? Neem contact op!

Comments are closed.
nl_NLDutch