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
Herstelpunten afzonderlijk verwijderen: hou alleen over wat je écht nodig hebt
Huis

Herstelpunten afzonderlijk verwijderen: hou alleen over wat je écht nodig hebt

Windows maakt automatisch herstelpunten aan, tot de ingestelde limiet bereikt is. Zo kan er een hele reeks onbenutte herstelpunten blijven staan. Uiteraard kun je alle herstelpunten in één keer wissen, maar het is ook mogelijk om ze selectief te verwijderen.

Schijfruimte vrijmaken in bulk

Windows verwijdert automatisch de oudste herstelpunten om schijfruimte vrij te maken. Toch zijn er nog andere redenen om ze te wissen. Zo kunnen herstelpunten privacygevoelige informatie bevatten, of kan je virusscanner er malware in aantreffen. Wil je in één keer alle herstelpunten verwijderen, open dan de app Schijfopruiming voor Windows. Ga naar het tabblad Meer opties en klik op Opruimen.

Hiermee verwijder je in één klap alle herstelpunten behalve het meest recente.

Herstelpunt identificeren

Wil je slechts enkele of een specifiek herstelpunt verwijderen, dan moet je ze eerst identificeren. Dat doe je via de Opdrachtprompt. Druk op Win+R, typ in het vak Uitvoeren: rstrui.exe en druk op Enter om Systeemherstel te openen. Standaard zie je slechts een beperkt aantal herstelpunten. Zet daarom een vinkje bij Meer herstelpunten weergeven om de volledige lijst te zien. Noteer vervolgens de datum en tijd van de herstelpunten die je wilt verwijderen.

Noteer de datum en tijd van het herstelpunt dat je wilt verwijderen.

Selectief verwijderen

Daarna typ je cmd in het zoekvak van de taakbalk. Klik met de rechtermuisknop op Opdrachtprompt en kies Als administrator uitvoeren. Typ vervolgens de opdracht en druk op Enter: vssadmin list shadows. Nu verschijnt in opdrachtprompt een lijst met alle herstelpunten, chronologisch geordend. Van elke shadow copy (herstelpunt) zie je onder meer de Creation Time. Zoek het herstelpunt waarvan je daarnet de datum en tijd hebt genoteerd. Zodra je het gevonden hebt, kopieer je de Shadow Copy ID (inclusief de accolades). In ons voorbeeld is dat: {26dfb27b-297d-4d84-968f-507508c9f75d}. Om tekst te kopiëren in de opdrachtprompt van Windows 11 klik je met de rechtermuisknop op de titelbalk, kies je Eigenschappen en zorg je dat Modus Snel bewerken is ingeschakeld. Daarna kun je de tekst met de muis selecteren en met Enter naar het klembord kopiëren. Om het herstelpunt te verwijderen, gebruik je de volgende opdracht en je vervangt uiteraard de ID aan het einde door de ID van je eigen schaduwkopie die je wilt verwijderen: vssadmin delete shadows /shadow={26dfb27b-297d-4d84-968f-507508c9f75d}. Druk op Enter en bevestig met Y gevolgd door Enter. Herhaal dit proces voor alle herstelpunten die je wilt verwijderen.

Aan de hand van de schaduwkopie-ID kun je het herstelpunt verwijderen.

▼ Volgende artikel
Avengers: Doomsday-teaser trailers door meer dan miljard mensen bekeken
Huis

Avengers: Doomsday-teaser trailers door meer dan miljard mensen bekeken

De vier teaser trailers van aankomende Marvel-film Avengers: Doomsday blijken een groot succes: meer dan een miljard mensen wereldwijd hebben de teasers blijkbaar gezien.

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.

Afgelopen december startte Marvel Studios de promotie voor de aankomende film Avengers: Doomsday op. Elke week verscheen er een nieuwe teaser trailer in de bioscoop, die kort daarna ook op internet verscheen.

Vier teaser trailers

Er zijn in een maand tijd vier trailers verschenen waarin diverse personages die bekend zijn van de 'Marvel Cinematic Universe' werden getoond. Hiermee werd duidelijke gemaakt dat ze ook in Avengers: Doomsday weer van de partij zijn.

Zo kwam er een zeer bekend gezicht uit eerdere films terug. Wie dat precies is, zullen we hier niet verklappen, maar kun je in de trailer zelf zien. Verder is ook duidelijk dat Thor, de X-Men, personages uit het fictieve land Wakanda en de Fantastic Four van de partij zijn. De vier teaser trailers zijn hieronder nog eens te zien, mocht je ze gemist hebben.

Waar er van films normaal eerst één teaser trailer en daarna een volledige trailer uitgebracht wordt, koos Marvel hier dus voor vier teaser trailers. Die strategie heeft gewerkt, want volgens de laatste schattingen (via The Hollywood Reporter) hebben in totaal 1,02 miljard mensen de teasers gezien. Het is daarbij niet bekend hoe de verdeling precies ligt per teaser trailer, maar hoe dan ook gaat het om een indrukwekkend aantal kijkers.

Watch on YouTube
Watch on YouTube

Over Avengers: Doomsday

Avengers: Doomsday is de langverwachte nieuwe film binnen de Marvel Cinematic Universe, een gedeeld universum waar haast alle moderne Marvel-films (en ook verschillende series op Disney+) tegenwoordig onder vallen. Samen vertellen ze een doorlopend verhaal, vergelijkbaar met een tv-serie, maar dan met films die een productiewaarde hebben die bij dergelijke producties past.

De Avengers-films zijn een soort vieringen van dit universum waarin alles samenkomt: de personages, maar ook de verhaallijnen die in vorige films zijn begonnen. Avengers: Doomsday moet dan ook de volgende grote 'tentpole'-release worden binnen deze franchise.

Hierin zullen alle Marvel-superhelden die tot dusver zijn geïntroduceerd samenkomen om het op te nemen tegen de gevaarlijke Doctor Doom. De film draait vanaf 18 december 2026 in de bioscoop, en zal in 2027 opgevolgd worden door Avengers: Secret Wars.

Watch on YouTube
Watch on YouTube