Projects/Koekeloeren

From Hackerspace Amersfoort
Jump to navigation Jump to search


Moffel pier.jpg
Project Koekeloeren
Name Koekeloeren
Start 2017/08/23
End
Contact Polyfloyd
Website https://koekeloeren.bitlair.nl/
Information De spacecam, maar dan openbaar
Status Abandoned


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.


FAQ