Projects/Koekeloeren: Difference between revisions
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
|start=2017/08/23 | |start=2017/08/23 | ||
|URL=https://koekeloeren.bitlair.nl/ | |URL=https://koekeloeren.bitlair.nl/ | ||
|contact= | |contact=Polyfloyd, | ||
|info=De spacecam, maar dan openbaar | |info=De spacecam, maar dan openbaar | ||
|status=Production | |status=Production |
Revision as of 12:43, 29 August 2017
Project Koekeloeren | |
---|---|
Name | Koekeloeren |
Start | 2017/08/23 |
End | |
Contact | Polyfloyd |
Website | https://koekeloeren.bitlair.nl/ |
Information | De spacecam, maar dan openbaar |
Status | Production |
Eisen
Privacy:
- De beeldkwaliteit moet zodanig worden aangepast zodat gezichten niet herkenbaar zijn
- Geen geluid
- De stream moet worden geblokkeerd indien DJO open is
- Aanwezigen moeten de mogelijkheid hebben om de camera uit te schakelen indien gewenst
Meldingen:
- Het licht in de hoofdruimte moet rood kleuren wanneer er 1 of meer personen door de camera kijken
Sessies:
- De stream kan maximaal 42 seconden bekeken worden totdat deze wordt verbroken door de server
- Bescherming tegen webcam-zoekmachines
- IP-addressen van kijkers worden naar een log geschreven
Implementatie
De IP-camera in de hoofdruimte wordt middels een firewall volledig afgeschermd van het internet en zal alleen vanuit het lokale netwerk te bereiken is.
Een daemon vormt de brug tussen de camera en het internet en waarborgt de authenticatie en limieten.
FFmpeg wordt gebruikt om het camerabeeld te bewerken zodat mensen niet herkenbaar in beeld zijn:
- Het aantal beelden per seconde wordt verlaagd naar 2
- De resolutie wordt verlaagd naar 960x720
- Er wordt een waas toegepast met een radius van 2 pixels
Het licht in de space kleurt rood wanneer door een MQTT-bericht het aantal kijkers meer dan 0 is. Het systeem controlleert of het MQTT-bericht aankomt bij de MQTT-server. Indien de server niet bereikbaar is wordt het camerabeeld niet getoond.
Bescherming tegen zoekmachines gebeurt door een token te vereisen bij het afspelen van de video. Deze wordt meegestuurd met de HTML-pagina zodat de video kan worden afgespeeld. Een token is de SHA512-hash van:
- De datum van vandaag
- Het IP-adres van de bezoeker
- 32 willekeurig gegenereerde bytes
Voor DJO wordt de stream uitgeschakeld wanneer hun spacestate in MQTT naar open veranderd.
IP-adressen van bezoekers worden bijgehouden door de HTTP-log van Nginx.
Omdat de camera fysiek magneten bevestigd is, kan deze eenvoudig omgedraaid worden indien gewenst.