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
Facebook-bedrijf Meta maakt volgens ceo geen verslavende apps meer
© Reshift Digital
Huis

Facebook-bedrijf Meta maakt volgens ceo geen verslavende apps meer

Tijdens een rechtszaak heeft Mark Zuckerberg, de ceo van Facebook- en Instagram-bedrijf Meta, geclaimd dat het bedrijf geen apps meer maakt die verslavend zijn.

In Californië is een civiele rechtszaak gaande tegen socialmediabedrijven. Deze rechtszaak is door een individu - een twintigjarige vrouw die claimt op jonge leeftijd verslaafd is geraakt aan social media - aangespannen. De aanklacht maakt echter onderdeel uit van een grotere zaak waarbij 1600 mensen claimen dat platforms als Meta's Instagram en Google's YouTube bewust verslavend zijn voor de gebruikers.

Daarbij werd ook Zuckerberg deze week aan de tand gevoeld. Hij ontkende tijdens de rechtszaak dat het bedrijf tegenwoordig nog apps maakt die erop gebrand zijn gebruikers zo lang mogelijk aan het scherm gekluisterd te houden.

NOS maakt melding van interne e-mails van Zuckerberg die volgens de aanklager in ieder geval aantonen dat het bedrijf voorheen wel platforms zo verslavend mogelijk maakte. Het doel was voorheen om de tijd dat mensen aan apps van het bedrijf besteedden, te verdubbelen. Zuckerberg heeft aangegeven dat dit inmiddels geen doel meer van het bedrijf is.

Over de rechtszaak

Naast Meta zijn ook de bedrijven achter YouTube, Snapchat en TikTok aangeklaagd. De laatste twee bedrijven hebben echter al een schikking met de betreffende aanklager getroffen. Ze ontkennen schuld, maar geven wel compensatie.

De rechtszaak richt zich naast mogelijke verslavingen aan socialmedia-apps vooral ook op de manier waarop minderjarige gebruikers van deze platforms worden vastgehouden. Meta zou zich volgens de aanklager niet genoeg inzetten om mensen onder de 13 jaar te weren.

De uitkomst van de rechtszaak kan verregaande gevolgen hebben rondom de regulering van social media, en de toon kunnen zetten voor toekomstige rechtszaken rondom hetzelfde onderwerp. Er wordt in steeds meer landen overwogen om social media niet meer voor jongeren beschikbaar te stellen. Eind vorig jaar werd dit in Australië al doorgevoerd, en TikTok gaf vorige maand aan strenger op te gaan treden om zo gebruikers van jonger dan 13 jaar te weren. Ook Zuckerberg gaf tijdens de rechtszaak aan stappen te ondernemen om de jongste leden van de samenleven te weren van zijn platforms.

▼ Volgende artikel
PlayStation sluit de ontwikkelaar van Demon's Souls-remake
Huis

PlayStation sluit de ontwikkelaar van Demon's Souls-remake

Sony PlayStation sluit in maart Bluepoint Games, de studio achter de remake van Demon's Souls.

Dat heeft een woordvoerder van Sony aan Bloomberg bevestigd. Door de sluiting zullen ongeveer zeventig werknemers hun baan verliezen. Volgens de woordvoerder is het besluit om de studio te sluiten genomen na "een recente zakelijke beoordeling."

"Bluepoint Games is een enorm getalenteerd team en hun technische expertise heeft exceptionele ervaringen voor de PlayStation-gemeenschap opgeleverd", zo stelde de woordvoerder. "We bedanken ze voor hun passie, creativiteit en vakmanschap."

Hermen Hulst aan het woord

In een bericht die via ResetEra werd gedeeld, liet PlayStation Studios-baas Hermen Hulst - voorheen van de Amsterdamse studio Guerrilla Games - weten dat het besluit werd genomen vanwege "een toenemende uitdagende industrie-omgeving". Aldus Hulst: "Stijgende ontwikkelkosten, een vertraging in de groei van de industrie, veranderingen in het gedrag van spelers en bredere economische tegenwind maken het moeilijker om games duurzaam te bouwen."

Watch on YouTube

Hulst vervolgt: "Om ons in deze realiteit te navigeren moeten we ons aanpassen en moeten we evolueren. We hebben goed gekeken naar ons bedrijf om er zeker van te zijn dat we hedendaags leveren, terwijl we ook klaar zijn voor de toekomst. Daarom zullen we Bluepoint Games in maart sluiten."

Hij eindigde zijn bericht met het volgende: "Ik weet dat dit moeilijk nieuws is om te horen, maar ik ben zeker van de richting die we hebben gekozen. Creativiteit, innovatie en het bouwen van onvergetelijke ervaringen voor spelers blijven de kern van PlayStation Studios. We hebben een robuuste line-up voor het fiscale jaar 2026, en hebben de komende maanden veel om naar uit te kijken."

Watch on YouTube

Over Bluepoint Games

Bluepoint werd in 2021 overgenomen door Sony Interactive Studio. Daarvoor werkten de bedrijven al veel samen, en de studio stond vooral bekend om hun expertise bij het creëren van remakes en remasters. Denk aan de remake van Demon's Souls die tegelijk uitkwam met de PlayStation 5, maar ook God of War Collection, de remake van Shadow of the Colossus en Uncharted: The Nathan Drake Collection.

Vorig jaar bleek al dat Sony een liveservicegame die ontwikkeld werd door Bluepoint had geannuleerd. Volgens geruchten ging het om een liveservicegame gesitueerd in het God of War-universum.

Sony heeft de afgelopen jaren meer studio's gesloten. In 2024 sloten bijvoorbeeld Firesprite, Firewalk en Neon Koi hun deuren.