Achtergrond
Ik zal me even voorstellen, ik ben een student Industrial Design en bezig met mijn afstudeerproject voor een klein bedrijf, waar ik ook stage heb gelopen. Hier heb ik gewerkt aan een video-capture-replay systeem voor de sportwereld.
In het kort: een aantal IP camera's hangt op een sportveld en kan via een lokaal netwerkje met RTSP de beelden streamen naar een lokale server, die vervolgens de beelden opslaat.
Via ffmpeg worden vervolgens die beelden geknipt tot 'momenten' die worden geleverd aan de iPad van de gebruiker van het systeem.
Via een web-interface (draait op lokale apache server) kan een gebruiker een 'event' starten, zodat PHP via openRTSP stream opent en begint weg te schrijven. Als iemand een moment wilt aanmerken als interessant drukt hij een knop. FFmpeg knipt vervolgens uit het videobestand wat op dat moment aan het opnemen is een klein stukje, die hij opslaat als .mp4 met h264 codec.
Ook kan hij aan dit 'moment' een aantal 'tags' hangen, wat word opgeslagen in een mysql database. Hier word ook de koppeling naar de videofiles opgeslagen, elk moment heeft dus een aantal videofiles die afgespeeld kunnen worden via de web interface (op de iPad).
Het mooie van het systeem is dat we IP camera's gebruiken die de stream als h264 aanbieden, en we hoeven dan ook nergens te encoden. Alles gebeurt met ongeveer 2-3% processor load en is erg snel (1-2 seconde max). Op dit moment hebben we een simpele HP server staan op de testlocatie en gebruik ik veelal mijn macbook pro als lokale testserver.
Wat zoek ik nu dan?
Er is een wens om dit videosysteem te verwerken in een mobiele unit, een soort koffer die je mee kan nemen en binnen een aantal minuten operationeel kan neerzetten.
Hier moet dus in komen:
- lokaal netwerk met wifi (routerboard hardware met eventueel access points)
- ongeveer 2-3 IP camera's die draadloos (wifi) of via PoE aangesloten word op het netwerk met vast IP
- compacte webserver met voldoende opslagruimte en redundante opslag zodat videogegevens niet zomaar verloren gaan
Voor deze webserver ben ik nu aan het kijken naar goede hardware. Graag zou ik de kennis en expertise van jullie tweeakters inschakelen om de juiste keuzes te maken..
Opties
1: een pre-fab webserver en pre-fab NAS storage voor video
2: een zelfbouw moederbord en RAID oplossing met rond de 2-3 TB aan opslag (totaal)
Zelf lijkt me optie 1 wat overbodig, omdat het een gesloten systeem is zie ik geen problemen om zelf de opslag te integreren in de server. Anders draaien er 2 operating systems (server en NAS), terwijl dit volgens mij ook 1 kan zijn.
Voor optie 2:
Moederbord
Ik heb gekeken naar verschillende moederborden, zoals de ASUS server/workstation moederborden:
http://www.asus.com/Comme...er_Motherboards_Products/
echter ik weet niet zo goed waar ik op moet letten in deze specifieke situatie.
Processor
Ik heb het idee dat voor servers/video streaming er voornamelijk winst is te halen in multi-core processing. De CPU load is niet heel hoog omdat er dus geen video encoding hoeft plaats te vinden, het is voornamelijk database werk en fileserving/videostreaming (gewoon via HTTP).
Storage
Na onderzoek lijkt me een RAID5 opslag me logisch, de data moet veilig zijn maar is niet perse onvervangbaar. Wat me vooral zorgen baart is de grote hoeveelheid IO die je krijgt als je 2-3 HD camera's tegelijkertijd wegschrijft, en met 10 gebruikers tegelijk ook nog eens bestanden van 10-20 MB download van dezelfde schijven.
Het aantal gebruikers van het systeem zal rond de 1-20 tegelijkertijd zijn. De bedoeling is om een gigabit netwerk op te zetten met enterprise class routers/switches, en via AC of N access points de iPads te voorzien van wifi. Omdat dit allemaal lokaal zal zijn denk ik niet dat hier de bottleneck zit.
De HD camera die we nu gebruiken is een Pelco Sarix, een video van 30 minuten is ongeveer 650 MB groot. We willen wel de overstap maken naar bijvoorbeeld de GoPro Hero, echter hebben we nog niet helemaal goed uitgezocht hoe het streamen van de GoPro precies werkt.
De server heeft zelf geen beeldscherm/interface, alles gebeurt via de web interface vanaf de iPad. De server moet gewoon aangaan zodra hij stroom krijgt, en als de stekker er uit word getrokken weer uitgaan (dit is nog wel lastig wellicht..). De gebruiker weet uiteindelijk niet dat er een webserver in de koffer zit, alleen dat het 'werkt'.
Wat is je budget?
Het totale budget ligt rond de 1000 euro voor de server/video, echter weet ik niet of dit realistisch is.
Ik ben dus zelf hard op zoek en probeer alles zoveel mogelijk te snappen, maar ik heb weinig ervaring met servers, raid opstellingen en load-balancing/server beheer.
Kan iemand mij een aantal tips geven waar ik moet letten en wat belangrijk is in deze situatie?
Ik zal me even voorstellen, ik ben een student Industrial Design en bezig met mijn afstudeerproject voor een klein bedrijf, waar ik ook stage heb gelopen. Hier heb ik gewerkt aan een video-capture-replay systeem voor de sportwereld.
In het kort: een aantal IP camera's hangt op een sportveld en kan via een lokaal netwerkje met RTSP de beelden streamen naar een lokale server, die vervolgens de beelden opslaat.
Via ffmpeg worden vervolgens die beelden geknipt tot 'momenten' die worden geleverd aan de iPad van de gebruiker van het systeem.
Via een web-interface (draait op lokale apache server) kan een gebruiker een 'event' starten, zodat PHP via openRTSP stream opent en begint weg te schrijven. Als iemand een moment wilt aanmerken als interessant drukt hij een knop. FFmpeg knipt vervolgens uit het videobestand wat op dat moment aan het opnemen is een klein stukje, die hij opslaat als .mp4 met h264 codec.
Ook kan hij aan dit 'moment' een aantal 'tags' hangen, wat word opgeslagen in een mysql database. Hier word ook de koppeling naar de videofiles opgeslagen, elk moment heeft dus een aantal videofiles die afgespeeld kunnen worden via de web interface (op de iPad).
Het mooie van het systeem is dat we IP camera's gebruiken die de stream als h264 aanbieden, en we hoeven dan ook nergens te encoden. Alles gebeurt met ongeveer 2-3% processor load en is erg snel (1-2 seconde max). Op dit moment hebben we een simpele HP server staan op de testlocatie en gebruik ik veelal mijn macbook pro als lokale testserver.
Wat zoek ik nu dan?
Er is een wens om dit videosysteem te verwerken in een mobiele unit, een soort koffer die je mee kan nemen en binnen een aantal minuten operationeel kan neerzetten.
Hier moet dus in komen:
- lokaal netwerk met wifi (routerboard hardware met eventueel access points)
- ongeveer 2-3 IP camera's die draadloos (wifi) of via PoE aangesloten word op het netwerk met vast IP
- compacte webserver met voldoende opslagruimte en redundante opslag zodat videogegevens niet zomaar verloren gaan
Voor deze webserver ben ik nu aan het kijken naar goede hardware. Graag zou ik de kennis en expertise van jullie tweeakters inschakelen om de juiste keuzes te maken..
Opties
1: een pre-fab webserver en pre-fab NAS storage voor video
2: een zelfbouw moederbord en RAID oplossing met rond de 2-3 TB aan opslag (totaal)
Zelf lijkt me optie 1 wat overbodig, omdat het een gesloten systeem is zie ik geen problemen om zelf de opslag te integreren in de server. Anders draaien er 2 operating systems (server en NAS), terwijl dit volgens mij ook 1 kan zijn.
Voor optie 2:
Moederbord
Ik heb gekeken naar verschillende moederborden, zoals de ASUS server/workstation moederborden:
http://www.asus.com/Comme...er_Motherboards_Products/
echter ik weet niet zo goed waar ik op moet letten in deze specifieke situatie.
Processor
Ik heb het idee dat voor servers/video streaming er voornamelijk winst is te halen in multi-core processing. De CPU load is niet heel hoog omdat er dus geen video encoding hoeft plaats te vinden, het is voornamelijk database werk en fileserving/videostreaming (gewoon via HTTP).
Storage
Na onderzoek lijkt me een RAID5 opslag me logisch, de data moet veilig zijn maar is niet perse onvervangbaar. Wat me vooral zorgen baart is de grote hoeveelheid IO die je krijgt als je 2-3 HD camera's tegelijkertijd wegschrijft, en met 10 gebruikers tegelijk ook nog eens bestanden van 10-20 MB download van dezelfde schijven.
Het aantal gebruikers van het systeem zal rond de 1-20 tegelijkertijd zijn. De bedoeling is om een gigabit netwerk op te zetten met enterprise class routers/switches, en via AC of N access points de iPads te voorzien van wifi. Omdat dit allemaal lokaal zal zijn denk ik niet dat hier de bottleneck zit.
De HD camera die we nu gebruiken is een Pelco Sarix, een video van 30 minuten is ongeveer 650 MB groot. We willen wel de overstap maken naar bijvoorbeeld de GoPro Hero, echter hebben we nog niet helemaal goed uitgezocht hoe het streamen van de GoPro precies werkt.
De server heeft zelf geen beeldscherm/interface, alles gebeurt via de web interface vanaf de iPad. De server moet gewoon aangaan zodra hij stroom krijgt, en als de stekker er uit word getrokken weer uitgaan (dit is nog wel lastig wellicht..). De gebruiker weet uiteindelijk niet dat er een webserver in de koffer zit, alleen dat het 'werkt'.
Wat is je budget?
Het totale budget ligt rond de 1000 euro voor de server/video, echter weet ik niet of dit realistisch is.
Ik ben dus zelf hard op zoek en probeer alles zoveel mogelijk te snappen, maar ik heb weinig ervaring met servers, raid opstellingen en load-balancing/server beheer.
Kan iemand mij een aantal tips geven waar ik moet letten en wat belangrijk is in deze situatie?
[ Voor 3% gewijzigd door Edwin88 op 25-09-2014 15:30 ]