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
Sony-patent wijst op controller met touchscreen in plaats van knoppen
Huis

Sony-patent wijst op controller met touchscreen in plaats van knoppen

Sony heeft in de Verenigde Staten een patent vastgelegd voor een gamecontroller met een touchscreen waarbij spelers zelf kunnen bepalen waar op het scherm de actieknoppen geplaatst worden.

Het patent werd al in 2023 aangevraagd, maar is afgelopen week toegekend aan Sony. De controller zou volgens de beschrijving en de bijhorende illustraties op het grootste gedeelte van het oppervlak een touchscreen hebben in plaats van de gebruikelijke knoppen, en daar zouden spelers zelf kunnen kiezen waar ze knoppen op laten afbeelden om te gebruiken bij het besturen van games.

De controller zou dus geen daadwerkelijke knoppen hebben – in plaats daarvan gaat het om knoppen die op het scherm worden afgebeeld. Daarbij zou een sensor om druk en hitte te meten kunnen bepalen wanneer en hoe hard een bepaalde knop wordt ingedrukt.

Vooralsnog theoretisch

Volgens de beschrijving kan dit er voor zorgen dat er per game wordt bepaald welke knoppen nodig zijn, en welke niet. Daarbij kan het zo zijn dat de indeling van huidige controllers niet bij elke speler goed past – een probleem dat deze theoretische controller zou kunnen omzeilen.

Het is goed om in het achterhoofd te houden dat gamebedrijven continu patenten vastleggen voor technologie waar onderzoek naar gedaan wordt, en dat dit niet betekent dat Sony een dergelijke controller echt uitbrengt. In het verleden heeft bijvoorbeeld Nintendo ook wel eens een patent voor een dergelijke controller met touchscreen in plaats van knoppen vastgelegd, en daar is ook nog nietsd mee gedaan.

Sony is het bedrijf achter de PlayStation-consoles. De huidige PlayStation 5 wordt geleverd met de DualSense-controller. Die controller heeft wel gewoon fysieke knoppen om in te drukken.

View post on Instagram
 
Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

▼ Volgende artikel
Waar voor je geld: 5 tosti-ijzers voor minder dan 60 euro
© MG | ID.nl
Huis

Waar voor je geld: 5 tosti-ijzers voor minder dan 60 euro

Zin in een lekkere snack maar geen zin om uitgebreid iets klaar te maken? Grote kans dat je een tosti gaat maken.Dat kun je natuurlijk in de pan doen, maar het is nog beter met een echt tosti-ijzer. Wij vonden op Kieskeurig.nl vijf mooie exemplaren voor een vriendelijke prijs.

Tefal Ultracompact SM1552

Met dit apparaat bereid je twee schelpvormige tosti's tegelijkertijd. De behuizing is vervaardigd uit roestvrij staal en kunststof, wat bijdraagt aan de stevigheid van het toestel. De vaste bakplaten zijn voorzien van een anti-aanbaklaag, waardoor voedselresten minder snel blijven plakken tijdens het gebruik. Aan de voorzijde vind je twee indicatielampjes: één om aan te geven dat de stroom is ingeschakeld en één die oplicht wanneer de platen de juiste temperatuur hebben bereikt.

De handgreep is uitgerust met een vergrendelingsclip die de helften stevig op elkaar houdt tijdens het bakproces. Door het compacte ontwerp en de mogelijkheid om het snoer op te bergen, kun je het toestel verticaal in een keukenkastje plaatsen. Het vermogen bedraagt 700 watt en het bakoppervlak meet 23 bij 13 centimeter.

Krups FDK Iconic FDK462

Dit bijzonder ogende model beschikt over extra grote en diepe bakplaten die bedoeld zijn voor dikkere sneetjes brood en een grotere hoeveelheid beleg. De platen zijn afgewerkt met een keramische anti-aanbaklaag, wat een specifieke eigenschap is binnen deze prijscategorie. Je bedient het toestel met een aan-uitschakelaar op de basis, ondersteund door indicatielampjes voor de status van de opwarming.

Met een vermogen van 850 watt warmen de platen op voor het maken van twee driehoekige sandwiches. Het apparaat weegt ongeveer 2,65 kilogram en staat op antislipvoetjes om verschuiven op het aanrecht te voorkomen. Na gebruik is er de optie om het toestel rechtopstaand op te bergen, waarbij het snoer in de daarvoor bestemde ruimte aan de onderkant kan worden gewikkeld.

Philips 3000 Series HD2330/90

Dit apparaat is uitgerust met een vermogen van 750 watt en beschikt over vaste platen voorzien van een anti-aanbaklaag. Het ontwerp is specifiek gericht op het maken van twee sandwiches tegelijk, waarbij de platen een diagonale inkeping maken om het brood in driehoeken te verdelen.

Aan de bovenzijde van de behuizing zijn indicatielampjes aangebracht die aangeven wanneer de stroom is ingeschakeld en wanneer de platen de juiste temperatuur hebben bereikt. Voor de veiligheid tijdens het gebruik is de handgreep voorzien van een vergrendelingsclip, waardoor de helften stevig op elkaar blijven zitten. Het toestel is zo geconstrueerd dat je het snoer om de voet kunt wikkelen, wat verticaal opbergen in een keukenkast mogelijk maakt. De behuizing is gemaakt van kunststof en het apparaat rust op antislipvoetjes om stabiel op het aanrecht te blijven staan.

Emerio ST-125833

Dit is een sandwichmaker die werkt met een vermogen van 900 watt. Het apparaat is ontworpen om twee sandwiches tegelijkertijd te bereiden en maakt gebruik van schelpvormige vormen die de randen van het brood dichtdrukken. De behuizing combineert zwart kunststof met accenten van roestvrij staal.

Aan de bovenzijde zijn twee indicatielampjes geplaatst voor de gebruiksstatus. Het toestel beschikt over een vergrendelbare clip op de handgreep, zodat de platen tijdens het bakken onder druk op elkaar blijven staan. De platen zijn vast gemonteerd en voorzien van een standaard anti-aanbaklaag. Dit model voldoet aan de CE-markering voor veiligheidseisen en is voorzien van een geaarde stekker.

Princess 112415 Panini Grill

Dit apparaat onderscheidt zich door het gebruik van een zwevend bovendeksel, waardoor de bovenste plaat zich aanpast aan de dikte van de inhoud tussen de grillplaten. Het bakoppervlak bedraagt 30 bij 24 centimeter, wat voldoende ruimte biedt voor twee tot drie sandwiches tegelijkertijd. De platen zijn geribbeld en voorzien van een anti-aanbaklaag.

Overtollig vet of vocht wordt via een afvoer naar het meegeleverde opvangbakje geleid. Met een vermogen van 2000 watt bereikt het toestel een maximale temperatuur van 250 graden Celsius. De behuizing is deels van geborsteld roestvrij staal en beschikt over een handgreep die koel blijft tijdens gebruik. Je kunt de grill zowel horizontaal als verticaal opbergen dankzij de vergrendeling die de platen bij elkaar houdt tijdens transport.