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
Van foto naar video: breng je afbeeldingen tot leven met Pollo
© ID.nl
Huis

Van foto naar video: breng je afbeeldingen tot leven met Pollo

In de stortvloed aan nieuwe AI-videogeneratoren introduceren we Pollo. Net als bij de meeste AI-tools begin je met een tekstopdracht, maar in dit geval kun je van bestaande foto's fimpjes maken.

Wat gaan we doen

In dit stappenplan zie je hoe je met Pollo een stilstaand beeld omzet in een korte video. Je begint met het kiezen van Image to Video, snijdt het beeld bij tot het juiste formaat en geeft daarna een duidelijke opdracht om de animatie te laten maken.

Lees ook: Van prompt tot filmpje: zo maak je je eigen AI-video met Bing Video Creator

Stap 1: Image to video

Je kunt Pollo gratis uitproberen. Je start met 50 credits en ontvangt daarna elke maand 20 extra credits. De video's die je gratis maakt, zijn wel allemaal voorzien van een watermerk. Wil je video's zonder watermerk en toegang tot meer functies, dan zijn er drie abonnementsopties: 15, 30 en 90 dollar per maand, goed voor respectievelijk 300, 800 en 3000 credits. Pollo is een webapplicatie. Ga op je laptop naar https://pollo.ai en klik op Try for free. Vervolgens log je in met je e-mailadres.

Op de homepage zie je dat je deze generator niet alleen kunt gebruiken voor het maken van AI-video's, maar ook om AI-afbeeldingen te genereren, gezichten in filmpjes te vervangen door iemand anders of AI-effecten toe te passen op je foto's. Bekijk zeker de voorbeelden in de showcase. Wij kiezen in dit stappenplan voor de optie Image to Video, waarmee je stilstaande beelden tot leven wekt in een korte videoanimatie.

Er staat een massa voorbeelden klaar die de mogelijkheden van Pollo illustreren.

Stap 2: Beeld bijsnijden

Laad eerst de afbeelding in die je als basis voor je video wilt gebruiken. In de pop-up kun je bij Aspect Ratio de gewenste beeldverhouding van het eindresultaat instellen. Zo kun je bijvoorbeeld een staande foto bijsnijden naar een liggend (landscape) of vierkant formaat. Verschuif de foto indien nodig, zodat de belangrijkste onderdelen mooi in beeld blijven. Bevestig vervolgens met OK.

Kies zorgvuldig de hoogte-breedteverhouding van je filmpje om te zorgen dat het perfect aansluit bij je publicatiekanaal.

Stap 3: Video creëren

In het vak Prompt beschrijf je wat Pollo met de foto moet doen. In dit voorbeeld willen we bijvoorbeeld dat het meisje op de schouders van de man enthousiast de menigte aanmoedigt. Zet de optie Translate Prompt aan voor een beter resultaat. Je ziet meteen dat dit type opdracht 5 credits kost. Onder Advanced kun je extra instellingen aanpassen, zoals de videolengte die standaard op 5 seconden staat, maar die je kunt verlengen tot 10 seconden. Wil je meerdere outputvideo's genereren, dan kost dat uiteraard meer credits. Het eindresultaat kun je upscalen voor een hogere kwaliteit, delen en publiceren.

Pollo produceert in dit geval een video van 5 seconden.

Liever meteen video's maken?

Vlogcamera's
▼ Volgende artikel
Waar voor je geld: 5 grote Android-tablets met een scherm van minimaal 10,9 inch
Huis

Waar voor je geld: 5 grote Android-tablets met een scherm van minimaal 10,9 inch

Bij ID.nl zijn we dol op kwaliteitsproducten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we binnen een bepaald thema naar zulke deals. Zoek je een goede tablet met een riant scherm? We hebben vijf interessante producten voor je op een rijtje gezet.

Samsung Galaxy Tab S9+ WiFi

Zoek je een krachtige tablet met een groot scherm? De Samsung Galaxy Tab S9+ WiFi heeft een indrukwekkend amoledscherm van 12,4 inch. Dat is een prettig formaat om bijvoorbeeld de digitale krant te lezen of Netflix-series te bingewatchen. Verder draait de aanwezige Qualcomm Snapdragon 8 Gen 2-processor zijn hand niet om voor zware taken, zoals het spelen van 3D-games of monteren van video's. Deze chipset bevat acht rekenkernen waarvan de snelste cores zijn afgeregeld op een maximale klokfrequentie van 3,36 GHz. In combinatie met 12 GB werkgeheugen kun je vlot op deze tablet werken. Gebruik hiervoor eventueel de bijgesloten drukgevoelige stylus.

Voor beeldbewerkingen komt de respectabele resolutie van 2800 × 1752 pixels goed van pas. Foto's en video's ogen hierop haarscherp. Daarnaast ondersteunt het amoledscherm een vernieuwingsfrequentie van 120 hertz. Je speelt dus snelle games zonder haperingen. De basisuitvoering heeft 256 GB interne opslag. Kies tussen de kleurstellingen grafiet en beige. Je kunt de Galaxy Tab S9+ WiFi ook met 512 GB interne opslag kopen (grafiet/beige). Overigens heeft de waterdichte behuizing een microSD-kaartslot, waardoor je de opslagcapaciteit eenvoudig met maximaal 1 TB kunt uitbreiden. Tot slot is er nog een uitvoering met ondersteuning voor mobiel internet (5G) verkrijgbaar.

Xiaomi Pad 6

De Xiaomi Pad 6 is een krachtige tablet die zich richt op zowel entertainment als productiviteit. Het absolute hoogtepunt is het 11-inch WQHD+ scherm met een verversingssnelheid van 144Hz. Dit zorgt voor een aanzienlijk vloeiender beeld. Onder de motorkap vind je een snelle Snapdragon 870-processor, waardoor zware apps en games moeiteloos draaien.

De tablet heeft een luxe, volledig metalen behuizing en vier luidsprekers met Dolby Atmos-ondersteuning voor een ruimtelijk geluid. De accu van 8840 mAh gaat lang mee en laadt snel op (33W). Let wel dat de optionele stylus niet standaard wordt meegeleverd.

OnePlus Pad

Je koopt met de OnePlus Pad een grote tablet voor een schappelijke prijs. Het lcd-scherm van 11,61 inch bevat 2800 × 2000 pixels, waardoor je films, series en tv-programma's in Full-HD-kwaliteit kunt bewonderen. Er is 128 GB opslagcapaciteit ingebouwd. Naast huisvesting van Android en alle apps blijft er dus nog voldoende ruimte over voor eigen data. Gunstig voor het geval je bijvoorbeeld een complete serie van Netflix offline wilt bekijken. Games zien er trouwens ook fraai uit, want het scherm ondersteunt een hoge vernieuwingsfrequentie van 144 hertz.

Voor het rekenwerk is een octacore-processor van MediaTek verantwoordelijk. De rapste kern levert een maximale kloksnelheid van 3,05 GHz. Daarnaast is er een geheugenmodule met 8 GB RAM geïntegreerd. De OnePlus Pad leent zich prima voor alledaagse toepassingen, terwijl je bijvoorbeeld ook eens een foto kunt bewerken. Deze groene tablet is met zijn aluminium behuizing een echte blikvanger!

Lenovo Tab P12 (ZACH0112SE)

Op zoek naar een betaalbare tablet met een groot scherm? Dan zit je met de Lenovo Tab P12 wel goed, want dit apparaat heeft een indrukwekkende schermdiagonaal van 12,7 inch. De resolutie is met 2944 × 1840 pixels eveneens prima op orde, zodat je foto's en video's in een hoge kwaliteit kunt bekijken. Verder heeft de fabrikant ook aan een goed geluid gedacht. De metalen behuizing bevat vier minispeakers van het bekende audiomerk JBL. Een bluetooth-koptelefoon koppelen kan uiteraard ook.

De Tab P12 is met name geschikt voor alledaagse apps, zoals Facebook, YouTube, Chrome en simpele spelletjes. Voor veeleisende 3D-games en andere zware toepassingen heeft de MediaTek Dimensity 7050-processor iets te weinig power. Zes rekenkernen presteren op 2 GHz, terwijl de twee resterende cores zijn geklokt op 2,6 GHz. Deze tablet heeft daarnaast 8 GB werkgeheugen en 128 GB interne opslag. Overigens breid je de opslagcapaciteit makkelijk uit met een eigen microSD-kaart van maximaal 1 TB. Lenovo levert bij dit product een stylus mee. Benieuwd naar ervaringen van andere gebruikers? Lees dan deze reviews op Kieskeurig.nl.

Lenovo Tab M11 (ZADA0134SE)

Lenovo bewijst met zijn Tab M11 dat een goede tablet helemaal niet zo veel geld hoeft te kosten. Zo komen diverse onafhankelijke testers op Kieskeurig.nl tot een gemiddelde score van een 9. Vaak benoemde pluspunten zijn onder meer de hoge beeldkwaliteit, de lange accuduur en het goede geluid. Verder vinden gebruikers het prettig dat er al een stylus is inbegrepen. Handig voor wie graag tekeningen of handgeschreven notities maakt. Het lcd-scherm telt 1920 × 1200 pixels. De resolutie is weliswaar wat lager vergeleken met die van duurdere modellen, maar je kunt nog altijd films in Full-HD-kwaliteit streamen. De beelden ogen op het 11inch-scherm dan ook scherp. Ondanks de lage aanschafprijs heeft deze stevige tablet een metalen behuizing.

Voor het opslaan van apps en eigen data bevat de Tab M11 128 GB intern geheugen. Breid dat desgewenst uit met een eigen microSD-kaart van maximaal 1 TB. Het rekencentrum bestaat uit de veelgebruikte MediaTek Helio G88-processor en 4 GB werkgeheugen. Voor basistaken als e-mailen, internetten, webwinkelen en video's streamen is dat ruimschoots voldoende. Nuttig om te weten is dat Lenovo tot januari 2028 software-updates levert, zodat je het apparaat de komende jaren veilig kunt blijven gebruiken.