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
Je afzuigkap: waarom je hem al aanzet vóór je gaat koken
© Paul Maguire
Huis

Je afzuigkap: waarom je hem al aanzet vóór je gaat koken

Veel mensen zetten de afzuigkap pas aan als er al flink wat kookdampen in de keuken hangen. Lijkt logisch, maar: op dat moment ben je eigenlijk al te laat. Het is beter om de afzuigkap al een paar minuten voor het koken aan te zetten en hem pas een kwartiertje na de maaltijd weer uit te schakelen. Dit lijkt misschien overdreven, maar het maakt een groot verschil voor de luchtkwaliteit in je woning.

In dit artikel lees je waarom het helpt om je afzuigkap al een paar minuten vóór het koken aan te zetten en hem na afloop nog even te laten draaien. Je snapt hoe die luchtstroom werkt, welke stoffen bij koken kunnen vrijkomen (zeker bij koken op gas) en wat het verschil is tussen afvoer naar buiten en recirculatie. Ook laten we zien hoe je snel kunt testen of de afzuiging nog goed is en krijg je nog een paar slimme tips over het gebruik van je afzuigkap.

Lees ook: Hoe kies je de juiste afzuigkap?

Onzichtbare luchtstroom

Het geheim van een goed werkende afzuigkap zit in het juiste moment van inschakelen. Een afzuigkap werkt door onderdruk te creëren: zodra hij aanstaat, wordt lucht actief naar de filters gezogen. Maar warme kookdamp stijgt snel op en verspreidt zich direct alle kanten op. Als je de kap pas inschakelt wanneer de damp al opstijgt, is het al te laat om alles af te vangen.

Door de kap een minuutje of twee voor het koken aan te zetten, zorg je ervoor dat de zuigkracht al actief is op het moment dat de eerste damp vrijkomt. Die damp wordt dan direct de afzuigkap in getrokken, voordat hij de kans krijgt zich door de keuken en de rest van je huis te verspreiden. Kook je op gas? Zet de afzuigkap dan aan voordat je de pitten aansteekt. Zo worden ook de deeltjes die daardoor vrijkomen, meteen afgevoerd.

Koken vervuilt de lucht, ook als je niets ruikt

Koken is een belangrijke bron van luchtvervuiling binnenshuis. Bij een gasfornuis komen door verbranding stoffen vrij zoals stikstofdioxide (NO₂) en ultrafijne deeltjes. Ook bij elektrisch koken ontstaat fijnstof, vooral door het bak- en braadproces zelf. Je ruikt dat niet altijd, maar je ademt het wel in.

Daarom is het verstandig om de afzuigkap na het koken nog een tijdje te laten draaien. Damp en deeltjes die nog in de lucht zweven, worden dan alsnog afgevoerd of gefilterd. Houd daarbij wel rekening met het type kap. Bij een afvoerkap verdwijnt de lucht via een kanaal naar buiten. Bij een recirculatiekap gaat de lucht door filters en keert daarna terug de ruimte in – dat helpt goed tegen geuren, maar de vervuilde lucht verdwijnt niet volledig uit je woning.

Afvoer naar buiten of recirculatie: waar let je op?

Bij een afvoerkap naar buiten wil je vooral dat de luchtstroom sterk genoeg is en dat de lucht zo goed mogelijk kan worden afgevoerd. Is het afvoerkanaal extra lang en/of zitten er bochten in, dan gaat het afvoeren minder goed. Ook viezigheid in de afvoerbuis kan het afvoeren van de kookdampen belemmeren. Daarnaast maakt de vorm en diameter van het kanaal uit: een ronde buis geeft minder weerstand dan een rechthoekige, en een bredere diameter laat meer lucht door. Zeker bij de installatie van een nieuwe kap is het de moeite waard om hier rekening mee te houden.

Bij een recirculatiekap wordt de lucht niet naar buiten afgevoerd, maar intern gereinigd en daarna weer de ruimte in geblazen. De lucht passeert daarbij achtereenvolgens een vetfilter en een koolstoffilter. Vetfilters vangen het vet op dat vrijkomt bij het koken. Koolstoffilters absorberen geurstoffen, maar raken na verloop van tijd verzadigd en moeten dan worden vervangen. Zorg ook dat de filters goed gemonteerd zijn zodat de lucht er echt doorheen stroomt en niet erlangs.

©wertinio

De papiertest: hoe goed werkt jouw afzuigkap nog?

Twijfel je of je afzuigkap nog wel goed werkt? Je kunt dit makkelijk testen met een velletje keukenpapier of een A4-tje. Zet de afzuigkap op de middelste stand en houd het papier tegen de filters aan. Als de zuigkracht voldoende is, moet het papier zonder hulp blijven hangen. Valt het velletje direct naar beneden? Dan is de luchtstroom te laag. Dat kan komen doordat de filters verstopt zijn of is de motor niet krachtig genoeg meer is.

Handige tips

Niet iedereen zit te wachten op het monotone gebrom van een afzuigkap tijdens een gezellig diner. Gelukkig hoeft de kap na het koken niet op de hoogste stand te staan. De laagste stand is vaak al voldoende om de laatste restanten vieze lucht af te voeren. Veel moderne apparaten hebben een timer die na tien of vijftien minuten automatisch uitschakelt. Heb je die niet? Zet dan een kookwekker of wen jezelf aan om de kap pas uit te doen als je de tafel afruimt. Het resultaat is een huis dat niet alleen fris ruikt, maar waar de lucht ook echt schoon is.

▼ Volgende artikel
Kingdom Come: Deliverance 2 vanaf 3 maart op Xbox Game Pass
Huis

Kingdom Come: Deliverance 2 vanaf 3 maart op Xbox Game Pass

Microsoft heeft de Xbox Game Pass-toevoegingen van de rest van februari en begin maart aangekondigd. Daaronder valt ook de geprezen game Kingdom Come: Deliverance 2.

De line-up werd via Xbox Wire aangekondigd. Het eerste deel in de openwereldreeks waarin spelers een middeleeuws avontuur beleven kwam enkele dagen geleden al naar Xbox Game Pass, zo werd eerder deze maand aangekondigd. Dat het vervolg - dat vorig jaar verscheen - al zo kort daarna op Game Pass verschijnt, mag dus een verrassing heten.

Hieronder zijn de toevoegingen van de komende weken te vinden, waaronder twee spellen die al sinds gisteren op Xbox Game Pass zijn verschenen:

Aerial Knight’s DropShot (Xbox Series-consoles, pc, cloud en handheld) – Sinds gisteren speelbaar via Game Pass Ultimate, PC Game Pass

Avatar: Frontiers of Pandora (Xbox Series-consoles, pc, cloud en handheld) – Sinds gisteren speelbaar via Game Pass Ultimate, PC Game Pass

Avowed (Xbox Series-consoles, pc en cloud) – Sinds gisteren ook speelbaar via Xbox Game Pass Premium

Death Howl (Xbox Series-consoles, pc, cloud en handheld) – Vanaf 19 februari speelbaar via Game Pass Ultimate, Premium, PC Game Pass

EA Sports College Football 26 (Xbox Series-consoles en cloud) – Vanaf 19 februari speelbaar via Game Pass Ultimate

The Witcher 3: Wild Hunt – Complete Edition (console en cloud) – Vanaf 19 februari speelbaar via Game Pass Ultimate, Premium

TCG Card Shop Simulator (Game Preview) (Xbox Series-consoles, pc, cloud en handheld) – Vanaf 24 februari speelbaar via Game Pass Ultimate, Premium, PC Game Pass

Dice A Million (pc) – Vanaf 25 februari speelbaar via Game Pass Ultimate, PC Game Pass

Towerborne (volledige versie) (console, pc en handheld) – Vanaf 26 februari speelbaar via Game Pass Ultimate, Premium, PC Game Pass

Final Fantasy 3 (Xbox Series-consoles, pc en cloud) – Vanaf 3 maart speelbaar via Game Pass Ultimate, Premium, PC Game Pass

Kingdom Come: Deliverance 2 (Xbox Series-consoles, pc en cloud) – Vanaf 3 maart speelbaar via Game Pass Ultimate, Premium, PC Game Pass

Microsoft heeft daarnaast laten weten dat de volgende games op 28 februari van Xbox Game Pass verdwijnen:

  • Monster Train (console, pc en cloud)

  • Expeditions: A MudRunner Game (console, pc en cloud)

  • Injustice 2 (console, pc en cloud)

  • Middle Earth: Shadow of War (console, pc en cloud)

View post on X