ID.nl logo
Huis

Video streamen met Raspberry Pi Camera Module

In een eerder artikel vertelden we je over de mogelijkheden van de Camera Module voor de Raspberry Pi. In dit vervolg leggen we uit hoe je een videostream opzet.

Lees hier eerst hoe je de Raspverry Pi Camera Module installeert.

We gaan de Pi Zero W ‘headless’ gebruiken (wat in dit geval betekent: zonder grafische gebruikersinterface) met inlog via ssh. Begin met het flashen van de micro-sd-kaart met bijvoorbeeld Etcher, beschikbaar voor Windows, macOS en Linux. Hierin kun je direct het zip-bestand kiezen als bron. Haal de laatste versie van Jessie op uit het archief.

Haal na het flashen de kaartlezer even los zodat de kaart wordt herkend. Negeer meldingen over het formatteren van de kaart. De bootpartitie is toegankelijk en bevat onder meer het bestand kernel.img. Voeg hier twee bestandjes aan toe: een leeg bestand genaamd ssh (zodat direct na het booten ssh-toegang mogelijk is) en een tekstbestand genaamd wpa_supplicant.conf met de netwerkinstellingen (zodat verbinding met wifi wordt gemaakt). Het bestand wpa_supplicant.conf ziet eruit zoals hieronder. Bij wifinaam voer je de ssid van je wifi-netwerk in en bij wachtwoord het bijbehorende wachtwoord.

country=NL ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="wifinaam" scan_ssid=1 psk="wachtwoord" }

Als de instellingen correct zijn, vind je na het booten het ip-adres van de Pi terug in de verbindingslijst van je router, de mobiele app Fing of via het Windows-programma Advanced IP Scanner. Als het niet werkt, kun je altijd een nieuw wpa_supplicant.conf-bestand maken en de Pi herstarten. Log nu in via ssh op dit ip-adres, met een programma zoals PuTTY. De standaard gebruikersnaam is pi met het wachtwoord raspberry.

Updaten en foto's maken

Zorg eerst dat de software up-to-date is met deze twee commando’s:

sudo apt-get update sudo apt-get dist-upgrade

Verder hoef je wat configuratie betreft maar één stap te doorlopen: open de configuratietool van de Pi met

sudo raspi-config

Activeer de camera onder Interfacing Options. Zorg ook dat onder Localisation Options de juiste tijdzone is geselecteerd. Ga naar Finish en herstart de Pi.

©PXimport

Je kunt al direct een foto maken vanaf de opdrachtprompt met de opdracht

opdracht raspistill -o beeld.jpg

Handige parameters zijn bijvoorbeeld -vf en/of -hf om het beeld respectievelijk verticaal en horizontaal te draaien. Om alle opties te zien, voer je alleen het commando raspistill uit. Met de tool kun je ook een time-lapse maken. Met onderstaande opdracht wordt gedurende 30 seconden (30.000 ms) iedere twee seconden (2.000 ms) een foto gemaakt:

raspistill -t 30000 -tl 2000 -o foto%04d.jpg

De %04d in de bestandsnaam zorgt er voor dat de losse foto’s worden genummerd (met 4 cijfers). Er bestaan diverse tools om van de foto’s een time-lapse video te maken. De Pi zelf is daar wat traag voor. Handiger is een Windows-programma als zoals Time-Lapse Tool of VirtualDub. Die laatste is gratis, maar minder gebruiksvriendelijk. Ook een tool om video te maken is aanwezig: met de opdracht

raspivid -o video.h264

h264 maak je een vijf seconden durende video. De tijd in milliseconden geef je aan met parameter -t. Voor een minuut is dat -t 60000.

Videostream voor Camera Module opzetten

Je kunt ook vrij simpel een videostream opzetten. Een aardige optie is cvlc, een ‘kale’ versie van de videospeler VLC. Je moet helaas wel het complete pakket installeren met de opdracht

sudo apt-get install vlc

De onderstaande opdracht start een rtsp-stream (real time streaming protocol) met 800 × 600 pixels en 25 frames per seconde.

raspivid -o - -t 0 -w 800 -h 600 -fps 25 -b 250000 | cvlc -vvv stream:///dev/stdin --sout '#rtp{access=udp,sdp=rtsp://:8554/stream}' :demux=h264

In bijvoorbeeld VLC onder Windows kun je de rtsp-stream openen via Media / Netwerkstream openen. Geef als adres rtsp://ip-adres:8554/stream op waarbij je ip-adres vervangt door het ip-adres van de Pi. De rtsp-stream kun je ook openen in bijvoorbeeld Surveillance Station (vanaf versie 7.1 bèta) op een nas van Synology.

Hoewel VLC een goed hulpmiddel is, blijkt de vertraging relatief groot door het bufferen. De minste vertraging krijg je met GStreamer, maar het vereist een script op zowel de server als client en werkt vooral efficiënt tussen de Pi en Linux of Mac. Een goed alternatief is mjpg-streamer, waarvoor een verbeterde doch experimentele versie op GitHub is te vinden. Instructies om de tool te compileren vind je er ook. Nadat je het streamen hebt gestart, krijg je in een browser een welkomstpagina te zien met linkjes naar de stream.

UV4L met WebRTC

Een nog mooier alternatief is de Userspace Video4Linux2 (UV4L) streamingserver met de WebRTC-uitbreiding, die sinds april ook beschikbaar is voor de Pi Zero (W). Daarmee kun je multimedia rechtstreeks naar een browser streamen. De installatie vergt iets meer stappen. Begin met het toevoegen van de bron met:

curl http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc | sudo apt-key add –

Voeg met teksteditor nano via het commando

sudo nano /etc/apt/sources.list

de volgende regel toe aan de sources:

deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ jessie main

Bewaar de aanpassingen met Ctrl+O en verlaat nano met Ctrl+X. Werk de bronnen bij met

sudo apt-get update

en installeer UV4L samen met de driver voor de cameramodule en een servicescript met:

sudo apt-get install uv4l uv4l-raspicam uv4l-raspicam-extras

Start de service vervolgens met

sudo service uv4l_raspicam start

Je kunt ook opdrachten als restart, stop en status geven. Installeer vervolgens de streaming server met:

sudo apt-get install uv4l-server uv4l-uvc uv4l-xscreen uv4l-mjpegstream uv4l-dummy uv4l-raspidisp

De uitbreiding WebRTC voor de Raspberry Pi 1, Pi Zero en Pi Zero W installeer je met:

sudo apt-get install uv4l-webrtc-armv6

Voor een ander model Raspberry zoals de Pi 2 of 3 is dat:

sudo apt-get install uv4l-webrtc

En streamen maar!

Heb je alles geïnstalleerd, dan kun je de streamingserver starten via de volgende opdracht:

sudo uv4l -nopreview --auto-video_nr --driver raspicam --encoding h264 --width 640 --height 480 --framerate 20 --server-option '--port=9090' --server-option '--max-queued-connections=30' --server-option '--max-streams=25' --server-option '--max-threads=29'

Achter encoding kun je eventueel h264 vervangen door jpeg. Resolutie en framerate kun je naar wens aanpassen. Stop altijd eerst het huidige proces met

sudo pkill uv4l

voordat je een nieuwe stream start. Een stream kun je direct met bijvoorbeeld Firefox of Chrome bekijken door te browsen naar http://ip-adres:9090/stream waarbij je ip-adres vervangt door het ip-adres van de Pi. Een welkomstpagina vind je op http://ip-adres:9090. Optioneel kun je ook audio meesturen, zelfs audio en video in twee richtingen behoort tot de mogelijkheden.

▼ Volgende artikel
Slachtoffers Odido-datalek hebben geen automatisch recht op compensatie
Huis

Slachtoffers Odido-datalek hebben geen automatisch recht op compensatie

Telecombedrijf Odido laat weten dat mensen geen automatisch recht op compensatie hebben nadat hun gegevens via een datalek afgelopen week op straat zijn gekomen.

In het weekend van 7 en 8 februari vond een cyberaanval plaats op de website van Odido, waarbij criminelen toegang kregen tot een klantcontactsysteem. De criminelen hebben een bestand kunnen downloaden met daarop gegevens van klanten. Het zou om gegevens van mogelijk 6,2 miljoen klanten kunnen gaan.

Onder de gegevens die zijn gestolen, vallen mogelijk de volledige naam, het adres en de klantnummers van klanten. Ook de mobiele nummers, IBAN-rekeningnummers, geboortedata, e-mailadressen en identificatiegegevens (waaronder rijbewijs- en paspoortnummers) kunnen zijn buitgemaakt.

Odido benadrukte kort na het lek dat er geen scans van identiteitsbewijzen zijn gelekt, noch wachtwoorden, factuurgegevens of belgegeven. Mensen kunnen daarbij gebruik blijven maken van de diensten van Odido, maar er wordt wel aangeraden dat klanten alert zijn op vreemde sms'jes of e-mails, zeker als daar links in staan.

Geen automatisch recht op compensatie

Op een speciale pagina met informatie over het datalek heeft Odido inmiddels meer informatie gegeven over het lek en diverse vragen beantwoord. Er staat ook een vraag en antwoord bij over mogelijke compensatie voor klanten wanneer data van de klant is gelekt.

Odido schrijft: "Een datalek geeft niet automatisch recht op compensatie. Onze inspanningen zijn er momenteel op gericht om juist te voorkomen dat klanten op enige manier schade zouden ondervinden als gevolg van dit incident. We hebben klanten proactief geïnformeerd zodat zij extra alert kunnen zijn op eventueel verdachte signalen. Dit is in lijn met het advies van het Centraal Meldpunt Identiteitsfraude (CMI) van de Rijksoverheid."

Het antwoord vervolgt: "Het CMI benadrukt bovendien dat niet automatisch sprake is van identiteitsfraude of dat met de gestolen gegevens identiteitsfraude kan worden gepleegd. Ook meldt het CMI dat met de betrokken gegevens niet zomaar een lening, bankrekening of telefoonabonnement kan worden afgesloten. Ook kan er geen nieuw identiteitsbewijs mee worden aangevraagd. Daarvoor zijn immers extra controles nodig, zoals een echt identiteitsbewijs, je DigiD of de inloggegevens van je bank."

Op de website staat nog een vraag over compensatie, met daarbij nadrukkelijk vermeld dat sommige 'cybersecurity-experts' claimen dat men recht heeft op compensatie. Ook daarop wordt gemeld dat "een datalek geen automatisch recht op compensatie geeft".

▼ Volgende artikel
Streamtips: nieuwe films en series –The Night Agent en 56 Days
Huis

Streamtips: nieuwe films en series –The Night Agent en 56 Days

De streamingdiensten staan weer vol met nieuwe releases. Geen stress, wij hebben het kaf van het koren gescheiden. Zo weet je precies welke films en series je deze week niet mag missen.

Prometheus | Netflix | 16 februari

Prometheus, regisseur Ridley Scotts Alien-prequel, speelt zich af in de late 21e eeuw. Een team van wetenschappers onder leiding van Dr. Elizabeth Shaw (Noomi Rapace) reist af naar een planeet waar zich mogelijk de stichters van het menselijk ras bevinden. Uiteraard heeft hun uitstapje rampzalige gevolgen. Prometheus heeft nooit zo’n beklemmende, bloedstollende sfeer als Alien, maar is zeker spannend genoeg om je aandacht vast te houden en is bovendien echt een plaatje om naar te kijken.

56 Days (seizoen 1) | Amazon Prime Video | 18 februari

In de gloednieuwe thrillerserie 56 days kruipen Dove Cameron en Avan Jogia in de huid van Ciara Wyse en Oliver Kennedy, twee mensen die een passievolle relatie beginnen nadat ze elkaar in de supermarkt hebben ontmoet. 56 dagen na hun ontmoeting, wordt er een onherkenbaar lichaam ontdekt en vreest de politie dat hun turbulente liefdesverhaal is uitgemond in moord. Hoe dieper ze in de zaak duiken, hoe meer grimmige geheimen worden onthuld.

Watch on YouTube

The Night Agent (seizoen 3) | Netflix | 19 februari

Het derde seizoen van The Night Agent (niet te verwarren met The Night Manager, te zien op Amazon Prime Video) is vanaf deze donderdag te zien op Netflix. The Night Agent is gebaseerd op het gelijknamige boek van Matthew Quirk en volgt FBI-agent Peter Sutherland (Gabriel Basso). Tijdens zijn nachtdienst krijgt hij een telefoontje waarmee hij in een gevaarlijke samenzwering rond een mol in het Witte Huis belandt. Hij stort zich in een jacht op de verrader, terwijl hij voormalig tech-CEO Rose Larkin (Luciane Buchanan) beschermt tegen de mensen die haar oom en tante hebben vermoord.

Watch on YouTube

Once Upon a Time in the West | Netflix | 20 februari

Een van de beste westerns ooit gemaakt, Once Upon a Time in the West, verschijnt deze vrijdag op Netflix. Deze klassieker van regisseur Sergio Leone begint op een treinstation in het stadje Flagstone, waar een mysterieuze man met een mondharmonica (Charles Bronson) heeft afgesproken met de huurling Frank (Henry Fonda). Frank is echter nergens te bekennen en heeft drie handlangers gestuurd die ‘Harmonica’ opwachten. Geen van de drie komt levend uit de confrontatie en Harmonica raakt verwikkeld in de machtsstrijd rondom de meedogenloze opmars van de spoorwegen en outlaws. Once Upon a Time in the West is vanwege zijn trage, sfeervolle stijl en iconische muziek van Ennio Morricone absoluut het kijken waard voor elke filmliefhebber.

Watch on YouTube

The Addams Family | Netflix | 20 februari

The Addams Family is gebaseerd op de strip van Charles Addams en volgt de bizarre titulaire Addams-familie: Gomez, Morticia, hun kinderen Pugsley en Wednesday, Uncle Fester, Grandma Addams, hun butler Lurch en de lopende hand Thing. Deze animatiefilm uit 2019 richt zich vooral op de twee kinderen, terwijl zij zoeken naar een manier om zichzelf te zijn. Gomez bereidt Pugsley voor op de "Sabre Mazurka", een zwaardvechtceremonie die elke Addams moet ondergaan, maar hij bakt er niks van. Ondertussen is Wednesday benieuwd naar de andere meisjes van haar leeftijd en begint ze, tot de schrik van haar moeder, zelfs kleur te dragen. Deze versie van The Addams Family bereikt niet de hoogtes van de live-action verfilming uit de jaren negentig, maar is toch vermakelijk om naar te kijken.