Met Shinobi de Raspberry Pi als netwerkvideorecorder installeren

Marco den Teuling
0

Het opensourceprogramma Shinobi verwerkt streams van ip-bewakingscamera’s en draait ook op een Raspberry Pi, we leggen uit hoe je de netwerkvideorecorder kunt installeren. De webinterface maakt de installatie en bediening eenvoudig. Een dure netwerkvideorecorder van een camerafabrikant is niet nodig om een videobewakingssysteem te maken.


shinobi raspberry netwerkvideorecorder installeren


Met Shinobi op Raspberry Pi een netwerkvideorecorder installeren

In het artikel Shinobi met Raspberry Pi als netwerkvideorecorder – voorbereiding hebben we aangestipt waar je aan moet denken alvorens met de installatie te beginnen. De versie van de Raspberry Pi, de compatibiliteit van de camera, opslagvereisten en datasnelheid zijn dus bekend. In dit artikel leiden we je door de basisset-up en configuratie van de eerste camera’s en de bijbehorende opname-instellingen. Maar Shinobi is veel krachtiger dan dat, aarzel daarom niet om de documentatie te be­kijken.

Automatisch installeren van Shinobi op de Raspberry Pi als netwerkvideorecorder

De ontwikkelaars van Shinobi hebben een shellscript beschikbaar gesteld voor een eenvoudige installatie.

  • Begin met het openen van een console op de Raspberry Pi of maak verbinding met het systeem via ssh.
  • Download het installatiescript en maak het uitvoerbaar:

wget https://gitlab.com/Shinobi-Systems/Shinobi-Installer/raw/master/shinobi-install.sh

chmod +x shinobi-install.sh

Nu kun je de installatie starten:
sudo ./shinobi-install.sh

  • Beantwoord de vraag of je de ‘Development branch’ wilt installeren met No.
  • Het volgende ‘Select your OS’ biedt geen Raspberry Pi OS, maar de Ubuntu-installatie (optie 1) werkt ook.
  • IPv6-problemen, zoals vermeld door het script, deden zich in ons geval niet voor. We lieten het geactiveerd.

Afhankelijk van de rekenkracht en de snelheid van de internetverbinding, doorloopt het script vervolgens gedurende enkele minuten de update- en installatieroutines.


Blijf op de hoogte en ontvang gratis meer workshops!

Schrijf je in voor de nieuwsbrief:

Ontvang elke week het laatste IT-nieuws, de handigste tips en speciale aanbiedingen.


Aan het eind van het installeren van Shinobi op Raspberry Pi

Aan het einde van de installatie presenteert de console de default logingegevens voor Shinobi.

  • Log hiermee in op ‘http://<Pi-ip-adres>:8080/super’.
  • Om het beheerdersaccount van een veilig wachtwoord te voorzien, ga je naar ‘Preferences’ en voer je een wachtwoord in.
  • Als je een andere poort wilt, kun je deze wijzigen onder Configuration.
  • Pas na kiezen van Restart Core in ‘Controls and Logs’ zal de nieuwe poortinstelling worden overgenomen.
  • Maak vervolgens via Accounts in de navigatiebalk en +Add een account aan voor het dashboard.

Dat hoeft niet per se met een geldig e-mailadres – ik@local is voldoende. Als je later e-mailmeldingen wilt instellen, moet je wel een geldig adres invoeren.

Met het nieuwe account log je in op het Dashboard onder ‘http://<Pi-ip-adres>:<evt. nieuwe poort>’. Schrik niet, zonder camera ziet de webinterface er een beetje leeg uit omdat alleen de bovenste balk iets laat zien. Ook de menu’s kunnen in het begin rommelig en ingewikkeld lijken, maar ze zijn goed gelabeld zodat je snel je weg kunt vinden.

Camera’s instellen in Shinobi voor de netwerkvideorecorder

Camera’s worden in Shinobi monitors genoemd en je kunt er zoveel aan de NVR-software toevoegen als je wilt (binnen de grenzen van de rekenkracht van de ­server).

Als je camera ONVIF ondersteunt, is toevoegen bijzonder eenvoudig.

  • Klik op het meest linkse pictogram linksboven
  • Dan op je gebruikersnaam
  • Vervolgens op ONVIF om de zoekfunctie te openen. De ONVIF Scanner doorzoekt alle ip-adresbereiken en poorten.
  • Wanneer je op Search klikt, stroopt het programma onmiddellijk het lokale IPv4-adresbereik af.

shinobi raspberry netwerkvideorecorder installeren

De ONVIF-scanner zoekt in alle ip-segmenten en poorten naar camera’s die dit protocol spreken – in dit geval vindt hij een V-110-8MW van Inkovideo. Bijzonder handig: met een klik op het resultaat breng je de parameters over naar het instellingenvenster voor het toevoegen van de camera.


Merk op dat sommige camera’s vereisen dat je geldige toegangsgegevens invoert om ONVIF-bronnen te bevragen. Sommige fabrikanten gebruiken ook andere ONVIF-poorten;

  • Controleer zo nodig de datasheet en voer de poort(en) in het overeenkomstig gemarkeerde veld in.
  • Zodra de scanner je camera in het netwerk heeft gevonden, klik je op het resultaat – Shinobi zet de doorgestuurde parameters rechtstreeks in het ‘Add Monitor’-venster, dat allerlei instellingen biedt.

De instellingen in Shinobi:

  1. Mode bepaalt hoe Shinobi met de camera omgaat
  2. Disabled maakt alleen het profiel aan, maar activeert het niet.
  3. Watch-Only laat de camera zien, maar staat ook bewegings- en objectdetectie toe.
  4. Record zorgt voor continue opname
  5. Idle laadt de configuratie van de camera, zodat je instellingen kunt wijzigen, maar niet de stream.

Laat de camera voor nu op Watch-Only staan, de recorderinstellingen volgen later.
Monitor ID identificeert de nieuwe camera eenduidig in de database.

Configuratie camera in Shinobi opslaan

Je kunt dit vóór de eerste keer ­saven wijzigen, maar daarna niet meer. Shinobi gebruikt primair het attribuut Name om de camera te identificeren voor de kijker, dus je hoeft de Monitor ID niet te veranderen.

  • Klik op Save om de configuratie op te slaan; de nieuwe camera verschijnt onmiddellijk aan de linkerkant in de monitorbalk.
  • Shinobi start nu een proces voor de stream.
  • Wacht tot de status verandert in Watching en er een preview verschijnt.
  • Klik op het item in de lijst om een nieuw streamvenster te openen op het dashboard met het camerabeeld.
  • Gebruik de dubbele pijl rechtsonder om de grootte van het venster aan te passen.

Als je je camera niet in de zoekresultaten vindt, moet je de hierboven vermelde streaming-URL’s zoeken.

  • Zodra je je camera hebt gevonden, klik je op het plusteken (‘Add Monitor’) linksboven in het dashboard om een nieuw cameradialoogvenster te openen.
  • Pas de Identity-parameters aan zoals hierboven beschreven en selecteer vervolgens Connection in de balk aan de linkerkant. In dit menu kun je alle parameters van de videostream handmatig configureren.
  • In de standaard instelling probeert Shinobi de streaming parameters automatisch te bepalen vanuit de URL. Als je dit niet wilt, of als er geen beeld verschijnt, stel dan Automatic in op No om alle instellingen te laten weergeven.
  • De instellingen verschillen per model en als de fabrikant geen informatie geeft in de datasheet, is de enige optie op internet zoeken of zelf uitproberen.
  • Voeg nu je andere camera’s toe aan Shinobi, eventueel ook aan het dashboard.
  • Voordat je alle vensters rangschikt, moet je weten dat je de zijbalk ook kunt verbergen. In de balk met de pictogrammen links van de systeembewaking (CPU,RAM, massaopslag) vind je namelijk een knop die lijkt op een omgekeerd staaf­diagram.

dashboard shinobi

Eenvoudig en gebruiksvriendelijk: het dashboard van Shinobi is overzichtelijk en maakt het eenvoudig om cameravensters flexibel te schalen en te ordenen.


Opslag configureren voor de netwerkvideorecorder in Shinobi

Om de recorderfunctie te kunnen gebruiken, moet je eerst onder Linux met mkdir een map op het externe opslagmedium aanmaken.

  • Open daarna weer de superuser-webinterface van Shinobi(/super) en log in.
  • Onder ‘Additional Storage’ kun je de opslagbestemming toevoegen.
  • Klik op +StorageArray, wijs een Name en een Path toe, waarbij dit het absolute pad naar de opslag moet zijn, dus bijvoorbeeld /mnt/usb-ssd/shinobi.
  • Save bovenaan de pagina bevestigt de configuratie – maar alleen Restart Core in ‘Controls and Logs’ activeert die ook.

Permanente opname met de Raspberry Pi netwerkvideorecorder

Zodra Shinobi weer draait, ga je terug naar het dashboard en pas je de opslaginstellingen aan, want Shinobi wijst slechts 10 GB per profiel toe. Klik hiervoor linksboven op je gebruikersnaam en vervolgens op Settings. In Profile (linkerbalk) vind je de Max Storage Amount in megabytes, evenals andere parameters die je naar wens kunt aanpassen. Bijvoorbeeld ‘Number of Days to keep Videos’, ‘[…] Events’ en ‘[…] Logs’, die regelen wanneer opnames, events en logs auto­matisch verwijderd moeten worden.

Om de cameramodus te wijzigen en het opnamedoel in te stellen, roep je de instellingen van een camera op – je vindt ze links in de balk via het steek­sleuteltje. Zet de Mode op Record voor een permanente op­name – een event-gestuurde opname instellen vind je verderop in het artikel – en stel de Storage Loca­tion in op de eerder ingestelde opslag. Als de nieuwe optie ontbreekt, moet je de webinterface verversen.

Tegelijk met het wijzigen van de modus verschijnt de optie ‘Recording’ in de lijst met instellingen aan de linkerkant. Het menu regelt de opnameparameters, die je afhankelijk van je camera moet aanpassen. Klik op ‘Recording’ zodat het dashboard naar het betreffende punt in de lijst gaat.

In het ideale geval levert je camera beelden met H.264- of H.265-codering, zodat je direct MP4 als bestandstype en Copy als Video Codec kunt selecteren. Dit zorgt meestal voor de ­minste processorbelasting, omdat de stream rechtstreeks naar een bestand wordt gekopieerd.

Als je wilt transcoderen – bijvoorbeeld omdat je een oude MJPEG-­camera hebt en de gegevens daarvan liever opslaat als een H.264 MP4-bestand – moet je de Open Max-codec voor de Raspberry Pi uit de lijst kiezen. Deze kan de hardware-encoder van de Broadcom-cpu gebruiken zodat de cpu minder belast wordt.

Om de audiocodec ook direct te kopiëren, kun je de instelling zetten op Copy. Maar je kunt ook No Audio kiezen om audiogegevens te negeren of een andere codec selecteren.

Voorbeeld: Event-gestuurde opname – bewegingsdetectie installeren

Shinobi kan allerlei events gebruiken als trigger voor een video-opname. Het belangrijkste event: bewegingsdetectie. Dit kun je met enkele muiskliks instellen.
Open hiervoor de instellingen van een camera (steek­sleutel) en klik op de Global Detector Settings in de balk. Deze regelen het doorsturen van video- en audiogegevens naar de herkenningsdiensten – in dit voorbeeld voor beweging, optioneel voor objecten, geluiden etc.

De voorgedefinieerde parameters zijn in de meeste gevallen voldoende; als de cpu het niet trekt, verlaag dan de waarden voor Feed-In Image Width en ‘[…] Height’. Trigger Record moet op Yes staan, zodat een opname wordt gestart als er iets beweegt.

In het menu Motion Detection configureer je de eigenlijke bewegingsdetectie. Deze is in Shinobi geïntegreerd en kan rechtstreeks worden geactiveerd: Zet Use Built-In op Yes. De parameter Minimum Change bepaalt het percentage (1-100) van het beeld dat moet veranderen om een event te triggeren.

Je zult de detector waarschijnlijk eerst een paar keer moeten testen en de waarde moeten aanpassen voordat de detectie betrouwbaar werkt. Maximum Change bepaalt vanaf wanneer de verandering wordt genegeerd – bijvoorbeeld wanneer er vogels regelmatig voor de camera zitten en het beeld vullen.


Region editor shinobi

Met de Region Editor kun je Shinobi heel precies laten zien welke beelddelen het moet controleren op beweging.


In de standaardinstellingen is Full Frame Detection zo ingesteld dat de detector het hele beeld controleert. Dit vreet echter onnodig veel rekenkracht wanneer de camera gebieden opneemt waarin beweging niet van belang is.

Boven Motion Detection (rode regel) en onder bij de vensterrand vind je de Region Editor. Hiermee kun je delen in het beeld selecteren waarin de detector dan zijn werkt doet. Klik hiervoor op de groene plus in de editor en sleep de polygonen naar het gewenste gebied.

Met een klik met de linker muisknop voeg je nieuwe toe, met een rechter muisklik verwijder je ze weer. Je kunt zo nodig de naam aanpassen. Minimum en Maximum Change betekenen hetzelfde als in de full screen detectie. Druk nogmaals op de plustoets om nog een gebied toe te voegen of op Close om de instelling af te sluiten. Deactiveer vervolgens de Full Frame Detection.


videomatrix shinobi kalender

De videomatrix in Shinobi kun je gebruiken om opnamen van langere perioden op te roepen en te downloaden, hetzij als zip-bestand of als samengesteld videobestand.


Shinobi – weergeven van video’s

Shinobi heeft verschillende functies voor het weergeven van video’s: een kalender, een matrix met thumbnails en een lijst. Je kunt ze allemaal bereiken door de muiscursor over het betreffende videobeeld in het dashboard te bewegen en te klikken op de kalender, de matrix of de filmstrip in de optiebalk.

De menu’s zijn eenvoudig van opbouw. Volgens ons is de matrix de handigste weergave, omdat deze thumbnails heeft en alle video’s over een bepaalde periode kan weergeven (Date Range). Je hebt dan de keuze om ze te verwijderen of ze als één video of in een zip-bestand te downloaden. Dit maakt het heel gemakkelijk om een grotere periode te doorzoeken zonder elke video afzonderlijk te hoeven downloaden en bekijken.

Ontdek een wereld van functies voor Shinobi en Raspberry Pi

Als je Shinobi leuk vindt, wacht er achter de horizon van dit artikel een nog grotere wereld van functies en uitbreidingen. Bijvoorbeeld meldingen per e-mail, via messenger of andere diensten, maar ook objectherkenning inclusief ondersteuning voor AI-versnellers die via usb worden aangesloten. We hebben de documentatie en enkele interessante artikelen verzameld bij de links onderaan deze pagina.


(Deze informatie is afkomstig uit het artikel van Liane M. Dubowy en Marco den Teuling, en verscheen eerder in c’t 3, 2022, p134)


 

Shinobi: Raspberry Pi als netwerkvideorecorder

Shinobi-documentatie
https://shinobi.video/docs/

Streaming-URL’s zoeken
https://hub.shinobi.video/explore

Objectherkenning
https://shinobi.video/docs/configure#content-setting-up-motion-detection

Voor meer praktische handleidingen lees c’t 11/2024

Deel dit artikel

Marco den Teuling
Marco den TeulingHad als eerste eigen computer ooit een 16-bit systeem, waar van de 48 kilobyte toch echt niet ‘genoeg voor iedereen’ was. Sleutelt graag aan pc’s, van de hardware tot het uitpluizen van de BIOS-instellingen. Vindt ‘Software as a Service’ een onbedoeld ironische naamgeving.

Lees ook

Met Raspberry Pi port knocking de computers in je netwerk beveiligen

Iedereen die een computer of server met het openbare internet verbindt, wordt al snel het doelwit van hackers. Sommige wetenschappers gaan ervan uit d...

TeamViewer op Ubuntu installeren & gebruiken: zo werkt het

In dit artikel tonen we hoe je op afstand je Linux-computer met Ubuntu kunt beheren door TeamViewer te gebruiken. Voor degenen die niet bekend zijn me...

0 Praat mee
avatar
  Abonneer  
Laat het mij weten wanneer er