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.