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
Gespeeld: Bellabel Park verandert Super Mario Bros. Wonder in Mario Party
© Nintendo
Huis

Gespeeld: Bellabel Park verandert Super Mario Bros. Wonder in Mario Party

Nintendo brengt Super Mario Bros. Wonder opnieuw onder de aandacht met een Switch 2-upgrade en bijbehorende uitbreiding. Wij mochten de uitbreiding recent al spelen en wat blijkt: de game verandert feitelijk in Mario Party. De duidelijke focus op multiplayer doet ons vooral afvragen of we nóg zo’n partygame nodig hebben.

Om eerlijk te zijn betrad ik onlangs de burelen van Nintendo in het Duitse Frankfurt met een klein katertje. Iets te veel wijntjes de avond ervoor - ook ik ben niet zonder zonden. Gelukkig was daar het creatieve elan van de Japanse ontwikkelaar, die de droge smoel en lichte koppijn deed wegsmelten als sneeuw voor de zon. Mijn god, wat heb ik toch allemaal voor leuks gespeeld vorige week.

Wat nu voorligt is de uitbreiding annex heruitgave van Super Mario Bros. Wonder. Nintendo plakt een kenmerkend tergende titel op het pakket, die ik alleen nu en onderaan dit stuk zal gebruiken: Super Mario Bros. Wonder – Nintendo Switch 2 Edition + Samen naar het Bellabelpark. Tot zover mijn zuurheid hoor, want Nintendo brengt een uitbreiding uit waar je in potentie enorm van zal smullen. Tenminste, als je zit te wachten op nóg een partygame.

©Nintendo

Met recht een 2D-Mario Party

Ik kon samen met een paar collega’s ruim een half uur aan de slag met het multiplayersegment in twee verschillende speelsituaties. We speelden met z’n vieren op één console, waarna we uit elkaar gingen en elk een eigen console kregen. We speelden via lokale, draadloze verbinding verder. Het werkt allemaal uiterst soepel, ideaal wanneer je je realiseert dat je straks met één exemplaar samen kunt spelen met vrienden die de game niet in het bezit hebben.

Bellabel Park breidt Wonders Flower Kingdom uit met een groot pretpark. Vanuit daar krijg je toegang tot talloze multiplayerervaringen, in de vorm van verschillende attracties met elk een stuk of acht verschillende levels. Er zijn varianten waarin je samenwerkt of het juist tegen elkaar opneemt. Elke minigame is ook nog te tunen op drie verschillende moeilijkheidsgraden, waardoor de game in feite verandert in een tweedimensionale Mario Party. In versus-situaties heb je ook nog de keuze om voor free-for-all te gaan of om in teams te spelen. Met recht een 2D-Mario Party dus.

Watch on YouTube

Woede en plezier volgen elkaar op

Elk level zet ons in Frankfurt voor een unieke uitdaging. Teken paden zodat andere spelers ze kunnen bewandelen (dat werkt verrassend goed met de muismodus van de Joy-Con), probeer als levende stuiterbal alle andere stuiteraars (lees: de twee Duitsers naast me) voor te zijn bij de finish, of zorg dat jouw superschattige baby Yoshi de meeste appeltjes eet. Elk level is dezelfde prettige chaos die, áls je kunt communiceren (alweer die Duitsers!), zeer efficiënt te doorlopen is.

Zo lekker als het voelt wanneer je met zijn vieren zo’n uitdaging haalt, zo chagrijnig werd ik van twee specifieke minigames. Eentje draaide letterlijk om verstoppertje spelen. Twee spelers zoeken, de andere twee veranderen met één druk op de knop in iets dat zich in het level bevindt. En dan moet ik stil blijven zitten, zorgen dat ik niet opval. Dat lukt dus nooit, waardoor ik in tijdsbestek van drie minuten totaal overprikkeld raak door alle shit op het scherm. Chaos óm de chaos.

©Nintendo

Oké, deze tweede krijgt misschien ietwat onterecht m’n furie, maar er was dus ook zo’n level waarin we aan bloemen moesten hangen. Ja, we hingen aan bloemen, de wind blies ons naar voren en dan moet je dus kantelen om de meeste wind onder je bloem te krijgen. Natuurlijk: onderweg kom je allemaal van die random obstakels tegen die je nooit kunt ontwijken als je blind op volle snelheid wil gaan.

Dat deed ik dus. Woede, alleen maar woede. “Rotspel”, denk ik nog voordat we doorgaan. Het is niets meer dan katerige coping vanwege mijn eigen incompetentie. Bij al die 2v2-minigames kan ik die Duitser naast me nog de schuld geven, maar hier val ik dan toch door de mand. Niet leuk.

©Nintendo

Zit je écht op nog een partygame te wachten?

Maar goed, los van de smaak en skill van ondergetekende: aan de kwaliteit van Bellabel Park valt weinig af te dingen. De modus is leuk om te spelen en zal groepen spelers tot in de lengte van dagen kunnen vermaken. Echter, is die partygame-behoefte inmiddels niet wat verzadigd? Alleen al op Nintendo Switch 2 heb je met Mario Party Jamboree en Mario Kart World genoeg aan couch co-op-chaos op de markt.

Waarom geen schepje boven op de basiservaring van Wonder? Nieuwe, nog brutere levels? Zeker wanneer je beseft dat bijvoorbeeld een New Super Mario Bros. U al ongelooflijk veel multiplayergeweld in de basisgame had. Oké, eerlijk: dit bouwt wel degelijk voort op de basisgame. Je krijgt nieuwe personages met Rosalina en Luma en een avontuur waarin je de Koopalings moet verslaan.

©Nintendo

Dat stemt hoopvol, maar het lijkt vooral om remixes van bestaande levels te gaan. Als dat de ambitie van Nintendo is, dan stellen ze me toch een beetje teleur, al schijnen de kindjes Koopa wel allemaal bizarre Wonder-vormen te krijgen in de uitbreiding. Ik heb er zelf niets van gespeeld bij Nintendo, maar de marketing wijst erop. Maar goed, in het donker zijn alle katten grijs, zullen we maar zeggen. Super Mario Bros. Wonder laat zich in maart weer zien en ik ga een kijkje nemen.

Super Mario Bros. Wonder – Nintendo Switch 2 Edition + Samen naar het Bellabelpark verschijnt op 26 maart voor Nintendo Switch 2.

▼ Volgende artikel
'Geen Marvel-trailers te zien tijdens de Super Bowl'
Huis

'Geen Marvel-trailers te zien tijdens de Super Bowl'

Er is al wat meer bekend over welke trailers van aankomende films we tijdens de Super Bowl in de nacht van 8 op 9 januari kunnen verwachten. Opvallend genoeg zullen er waarschijnlijk geen trailers volgen van de Marvel-films die op de planning staan.

Deadline heeft een overzicht gepubliceerd met wat voor trailers we zoal tijdens de Super Bowl kunnen verwachten. De site meldt dat het zeer waarschijnlijk is dat er in ieder geval trailers van films als The Super Mario Galaxy Movie, de nieuwe Steven Spielberg-film Disclosure Day, Scream 7, The Mandalorian and Grogu en Minions 3 uitgezonden zullen worden.

Wel opvallend is dat het er op lijkt dat Marvel niets op de planning heeft staan. Dit terwijl er dit jaar twee Marvel-films staan uit te komen. In juli verschijnt Spider-Man: Brand New Day, terwijl aankomende december het langverwachte Avengers: Doomsday te zien zal zijn. Van laatstgenoemde film zijn onlangs al vier teaser trailers uitgekomen.

Super Bowl

Desalniettemin zal er dus genoeg te zien zijn tijdens de Super Bowl in de nacht van 8 op 9 december, zoals trailers van de hierboven genoemde films. Bedrijven pakken tijdens dit grootse Amerikaanse sportevenement altijd uit met trailers en reclames met diverse wereldsterren daarin. Aanstaande maandag zal het internet dus vol staan met interessante nieuwe trailers en reclamespots.

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.