Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Min time-lapse-rigg bruker en første generasjon Pi + et veldig billig USB-webkamera + et fritt stativ (bipod). En del av mine byggekriterier er å gjenbruke/oppgradere ting jeg allerede har, ellers hadde jeg bare gått ut og kjøpt en Pi-kameramodul og brukt denne prosjektguiden. Oh.. og det hele måtte kjøres via terminalen - som jeg så for meg at det meste/alt av etterbehandlingen ville bli gjort eksternt (hodeløst), eller ikke bruke et nettverk.
Rekvisita
Kostnader og utstyr:
- RPi 1. generasjon = £ 5.00
- 16 GB SD -kort = £ 5: 00
- Strømforsyning = £ 4: 00
- USB -webkamera = £ 1:00
- CAT5 ethernet -kabel = gratis
- Bipod = gratis
Trinn 1: Trinn 1: Installer Fswebcam
MERK: Jeg brukte et 16 GB SD -kort med en ren installasjon av gjeldende OS Raspbian (Buster desktop -versjon). Jeg bruker Etcher til å blinke kortene mine.
Start med å installere fswebcam, som beskrevet i denne RPi -dokumentasjonen.
sudo apt installere fswebcam
Koble til ditt billige/ekstra webkamera og test det med:
fswebcam -r 800X600 image.jpg
Hvis det fungerer ok, opprett en katalog for å holde masse bilder.
mkdir webkamera
Trinn 2: Trinn 2: Lag Bash Script & Automate
Alle kommandoene utført ved hjelp av et terminalvindu / kommandolinje.
Lag et bash -skript i nano (kalt webcam.sh). Lag den tomme filen ved å skrive:
nano webcam.sh
Ferdig bash -skript:
#!/bin/bash
DATE = $ (dato +"%Y-%m-%d_%H%M")
fswebcam -r 800x600 --no -banner /home/pi/webcam/$DATE.jpg
Bruk denne kommandoen for å gjøre den kjørbar:
chmod +x webcam.sh
Test skriptet med denne kommandoen:
./webcam.sh
Automatiser prosessen ved hjelp av cron (god forklaring her).
Skriv inn følgende kommando på kommandolinjen, gå til bunnen av filen og skriv inn den andre kommandoen:
crontab -e
* * * * * /home/pi/webcam.sh 2> & 1
Det er til og med en praktisk online crontab-generator som tenker alt for deg:
Lagre og avslutt tekstredigeringsprogrammet. Start på nytt, sett opp webkameraet ditt og gå. Dette skriptet tar nå et bilde hvert annet sekund (hver dag) med et unikt tidsstemplet filnavn på res '800X600 alt dumpet i webkamera-mappen din.
Trinn 3: Trinn 3: Sjekk bildene dine
I mappen for webkameraet:
se ls
Dette viser mappeinnholdet med en sanntidsoppdatering.
Jeg ønsket en rask måte å bla gjennom (noen av) bildene ved hjelp av en kommandolinje (for å sjekke dem før koding). Skriv inn:
sudo apt-get oppdatering
godta alle spørsmål
Skriv deretter inn:
sudo apt -get -y installer fbi
For å spille av en rask (1 sekund per bilde) lysbildefremvisning av bilder, bruk syntaksen (når den er koblet til en skjerm): fbi -a -t 1 *.jpg
Merk: “FBI fungerer bare fra kommandolinjen uten at noe annet grafisk grensesnitt kjøres. Så hvis du starter opp direkte til kommandolinjen, vil det fungere fint. Hvis du starter opp på skrivebordet og bruker et terminalvindu, vil det ikke gjøre det.”
Takk må gå til Raspberrypi-spion fyren for dette notatet og fbi ideen.
Trinn 4: Trinn 4: Koding og avspilling av videoen
Installer FFMPEG - som er et seriøst stykke videoredigeringssett. FFMPEG kan slås fra kommandolinjen (hvis du vet hva du gjør!). Installer den:
sudo apt-get install ffmpeg
Konverter dine jpeg -filer til en film, bruk syntaksen - i webkamera -katalogen:
cat *-j.webp" />
Så dette piper ut listen over jpeg -filer til ffmepg som skal behandles; ved framerate på 20, ut til ferdig videooutput.mkv eller mpg/mp4, osv. Det er mange flere variabler du kan justere ved hjelp av brytere for å endre utgangen på videoen din!
Dette var den enkleste metoden jeg fant - og takk må gå til Luke Smith for videoen hans om emnet. Det finnes andre metoder, og ffmpeg -hjelpesidene gir også noen gode eksempler.
For å spille av videoen fra kommandolinjen, bruker jeg VLC mediespiller.
Gjør dette ved å skrive:
vlc --zoom 0.5 --loop video.mkv
Dette spiller av videoen på 0,5 skala i looped til du trykker CTRL + C for å avbryte skriptet. Jeg har funnet ut at dette fungerer best hvis du går til skrivebordsmodus (startx) og åpner et terminalvindu. Ellers slipper eldre versjoner av pi bilder fra store / hi rez -videoer. VLC -mediespilleren har et omfattende sett med kommandoer - i likhet med ffmpeg, for å kjøre fra et terminalvindu.
Trinn 5: Trinn 5: Ekstern tilgang til Pi
For å kjøre skript, lukk pi og overfør filer jeg brukte to Windows -programmer og en CAT 5 ethernet -kabel.
Tilgang til Pi ble gjort ved hjelp av en Cat 5 -kabel, da jeg trodde den ga en rask og enkel vei inn. Jeg hadde sett for meg kamerariggen min i skuret eller utenfor ved noen anledninger (uten nettverk). Så en fysisk tilkobling virket ideell, helt til jeg konfigurerte en statisk IP -adresse og brukte en telefon hot spot!
Så bare koble kabelen til pi og laptop/PC. Installer disse to gratis programvarene:
- Kitt
- WinSCP
Jeg brukte Putty til å kjøre ffmeg -skriptene og stenge Pi (sudo -nedleggelse nå). Start opp kitt på din Windows -PC. Skriv inn navnet på din Pi i vertsnavnet etterfulgt av.local. dvs. min er:
pi-webcam.local
Klikk på Åpne -knappen, og følg deretter instruksjonene om navn og passord. Da er du i Pi på terminalnivå, perfekt for å kjøre skript og navigere rundt i kataloger.
For å kopiere eller flytte videoene fra Pi til den bærbare datamaskinen min brukte jeg WinSCP. Dette fungerer på en lignende måte når det gjelder å skrive inn adressen til pi -enden som slutter på.local, og følge forespørselen om å angi Pi -passordet ditt.
Dra deretter filer fra Pi (høyre) til Windows -bærbare datamaskinen (venstre).
Trinn 6: Trinn 6: Send ut videoer
De to eksemplene jeg eksperimenterte med, er vist nedenfor. Begge ble gjengitt som *.mkv som ga gode resultater, det samme gjorde *.mp4 CODEC. Det ser ut til at *.mpg/Mpeg -videoformatet er erstattet. Begge videoene ble tatt på grå stormfulle dager - så klarheten er akseptabel. Jpgs ble fanget på 650X480. Jeg vil eksperimentere med høyere rez -jpegs og forskjellige bildefrekvenser når jeg gjengir videoer.
Takk til Andy & Emily @ Telford Makerspace for hjelpen underveis.