Tweakers.net heeft met StreamOne een nieuw videohosting-platform opgezet. Door dit platform kunnen we meerdere versies van een video aanbieden en zijn we ook in staat mobiele bezoekers te bedienen.
Zoals je onlangs kon lezen, zijn we bezig met het verbeteren van de videohosting. Om dat voor elkaar te krijgen hebben we in samenwerking met StreamOne een nieuw videohosting-platform opgezet. Dit platform is een stand-alonevariant op de cloudversie van StreamOne.
Met dat platform is ons een groot deel van het werk uit handen genomen. Het complete traject van transcoderen, opslaan en schaalbaar uitserveren van video's wordt door het StreamOne-platform geregeld. Het belangrijkste wat we zelf nog moesten regelen is het integreren van de StreamOne-api in ons cms.
Meerdere video-versies
Een van de belangrijkste veranderingen met StreamOne is dat we vanaf nu meerdere versies van dezelfde video kunnen aanbieden. Daardoor kunnen we eenvoudiger verschillende clients ondersteunen; we kunnen nu video op maat leveren voor bijvoorbeeld krachtige mobiele apparaten als de iPhone, de iPad en Android-telefoons. De ondersteuning daarvoor zullen we geleidelijk verbeteren, maar onze eerste opzet zou in veel mobiele clients al moeten werken. In de toekomst zullen we bijvoorbeeld ook een aantal verschillende WebM-versies toevoegen voor een betere ondersteuning van de video-tag.
We gaan in eerste instantie de volgende varianten uitserveren:
Player | Versie |
---|---|
Flashplayer | H264 360p high profile |
Flashplayer HD-knop | H264 720p of 540p high profile, afhankelijk van de bron |
Videotag | H264 360p baseline |
Extra downloadlink bij "devicegrade B+" | H264 270p baseline en 3GP |
Nieuwe servers
Om de videohosting efficiënt te laten werken, hebben we twee Dell PowerEdge R210's aangeschaft. Deze zijn elk voorzien van een Intel Core i3 530-processor, 8GB ram en een 160GB-harddisk. Die schijf wordt door de StreamOne-software gebruikt voor het lokaal cachen van de populairste videofiles. Daarnaast beschikken beide servers over vier 1Gbit-netwerkpoorten, waardoor ze samen in theorie 6Gbit aan bandbreedte kunnen leveren - de vierde poort van elke server is op het interne netwerk aangesloten. De bronvideo's staan op onze fileserver.
Voor het transcoderen van de bronvideo's naar de bovenstaande versies wordt een virtual machine gebruikt op twee nieuwe virtual-machineservers die onder meer voor dit werk zijn aangeschaft. Daarnaast bemoeien deze machines zich met het mailverkeer, inclusief het filteren op spam en het versturen van de nieuwsbrief. Dat werk nemen ze over van het ondertussen bejaarde cadeautje van Sun.
De vm-dozen zijn twee Dell PowerEdge R410's die elk een tweetal Xeon E5630-quadcores en 16GB ram aan boord hebben. De shared storage voor de disk images van de virtual machines komt van de ondertussen gerepareerde Dell MD3000i. Hierdoor kunnen vm's in theorie zonder merkbare downtime van de ene host naar de andere gemigreerd worden. Een korte single-threaded transcodeerbenchmark gaf aan dat de nieuwe servers ongeveer twee keer zo snel zijn als de Xeon E5310 waar dit werk tot nu toe op werd uitgevoerd. Omdat het transcoderen multithreaded wordt uitgevoerd, wordt de snelheidswinst in de praktijk nog groter.
/i/1280836079.jpeg?f=imagenormal)
Een nieuwe R410 onder onze "oude" R410-webservers
Meer bandbreedte
Om te voorkomen dat hi-res video's in populaire artikelen de bandbreedte van het gewone verkeer wegkapen, zijn we in conclaaf gegaan met onze hostingprovider True. Uiteindelijk hebben we ervoor gekozen om een aantal extra Gbit-lijnen te plaatsen én om de bestaande redundante lijn te gebruiken. Tot nu toe gebruikten we één lijn naar de eerste coreswitch van True en was er nog een ongebruikte backuplijn naar de tweede coreswitch.
In de nieuwe opstelling hebben we een trunk van twee lijnen naar de eerste coreswitch en een tweede trunk van twee lijnen naar de andere coreswitch, en die gaan we ook gebruiken. De capaciteit is van effectief 1Gbit dus naar effectief 4Gbit gegroeid en mochten we in de toekomst meer nodig hebben, dan kan er triviaal worden opgeschaald naar 2x3Gbit of zelfs 2x4Gbit. Als we dan nog niet genoeg bandbreedte hebben, zullen we nieuwe switches moeten kopen want de huidige hebben niet genoeg poorten meer vrij.
Meer mogelijkheden
Met het nieuwe platform krijgen we meer mogelijkheden. De verschillende versies zorgen ervoor dat we uiteenlopende clients op maat kunnen bedienen. Daarnaast hebben we een overzicht van de laatste video's gemaakt, met per video een eigen pagina met een grotere player en de mogelijkheid tot reageren.
Verder is het met StreamOne mogelijk om een livestream voor onze bezoekers op te zetten. Dergelijke functionaliteit hebben bijvoorbeeld al bij diverse overklokevenementen gebruikt, en voortaan kunnen we zulke streams dus ook zelf hosten. Bovendien kunnen we die streams ook opnemen om later nog eens te bekijken.