Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-13 06:57
Moja time-lapse oprema koristi Pi gen prve generacije, vrlo jeftinu USB web kameru + slobodno postolje (dvonožac). Dio mojih kriterija za izgradnju je ponovna upotreba/nadogradnja ciklusa koje već imam, inače bih jednostavno izašao van i kupio modul Pi kamere i koristio ovaj vodič za projekte. Oh.. i sve je moralo biti pokrenuto putem terminala - jer sam predvidio da će se većina/sva naknadna obrada obaviti na daljinu (bez glave) ili bez korištenja mreže.
Supplies
Troškovi i oprema:
- RPi 1. generacije = £ 5: 00
- 16GB SD kartica = £ 5: 00
- Napajanje = 4,00 GBP
- USB web kamera = £ 1: 00
- Ethernet kabel CAT5 = slobodan
- Dvonožac = slobodan
Korak 1: Korak 1: Instalirajte Fswebcam
NAPOMENA: Koristio sam SD karticu od 16 GB sa čistom instalacijom trenutnog OS Raspbian (Buster verzija za računare). Koristim Etcher za fleš kartice.
Počnite instaliranjem fswebcam, kako je opisano u ovoj RPi dokumentaciji.
sudo apt install fswebcam
Priključite svoju jeftinu/rezervnu web kameru i testirajte je koristeći:
fswebcam -r 800X600 image.jpg
Ako to radi u redu, stvorite direktorij u koji ćete smjestiti svoje mase slika.
mkdir web kamera
Korak 2: Korak 2: Kreirajte Bash skriptu i automatizirajte
Sve naredbe izvršene pomoću terminala / naredbene linije.
Napravite bash skriptu u nano (koja se naziva webcam.sh). Kreirajte praznu datoteku upisivanjem:
nano webcam.sh
Završena bash skripta:
#!/bin/bash
DATE = $ (datum +"%Y-%m-%d_%H%M")
fswebcam -r 800x600 --no -banner /home/pi/webcam/$DATE.jpg
Koristite ovu naredbu da je učinite izvršnom:
chmod +x webcam.sh
Testirajte skriptu pomoću ove naredbe:
./webcam.sh
Automatizirajte proces pomoću crona (dobro objašnjenje ovdje).
U narednu liniju upišite sljedeću naredbu, idite na dno te datoteke i upišite drugu naredbu:
crontab -e
* * * * * /home/pi/webcam.sh 2> & 1
Postoji čak i zgodan mrežni generator crontab-a koji o vama razmišlja:
Spremite i izađite iz uređivača teksta. Ponovo pokrenite sistem, postavite web kameru i krenite. Ova skripta sada snima sliku svake dvije sekunde (svaki dan) s jedinstvenim nazivom datoteke s oznakom vremena u rezoluciji 800X600, sve izbačeno u mapu vaše web kamere.
Korak 3: Korak 3: Provjerite svoje slike
Unutar mape web kamere unesite:
watch ls
Ovo prikazuje sadržaj mape s ažuriranjem u stvarnom vremenu.
Želeo sam brz način da prođem kroz neke slike pomoću komandne linije (da ih proverim pre kodiranja). Ukucaj:
sudo apt-get update
prihvatiti sve upite
Zatim upišite:
sudo apt -get -y instalirajte fbi
Za brzu reprodukciju (1 sekunda po slici) dijaprojekcije slika koristite sintaksu (kada je spojena na monitor): fbi -a -t 1 *.jpg
Napomena: „FBI radi samo iz komandne linije bez pokrenutog drugog grafičkog interfejsa. Dakle, ako pokrenete sistem direktno na komandnu liniju, to će raditi dobro. Ako se pokrenete s radne površine, a zatim upotrijebite prozor terminala, neće."
Mora se zahvaliti Raspberrypi-špijunu na ovoj bilješci i ideji FBI-a.
Korak 4: Korak 4: Kodiranje i reprodukcija videozapisa
Instalirajte FFMPEG - koji je ozbiljan komplet za uređivanje videa. FFMPEG se može prebaciti iz komandne linije (ako znate šta radite!). Instalirajte ga:
sudo apt-get install ffmpeg
Pretvorite svoje jpegove u filmove pomoću sintakse - u direktoriju web kamere:
mačka *-j.webp" />
Dakle, ovo prenosi listu jpegova u ffmepg za obradu; pri frejmovima od 20, do gotovog video izlaza.mkv ili mpg/mp4, itd. Postoji mnogo više varijabli koje možete podesiti pomoću prekidača za izmjenu izlaza vašeg videa!
Ovo je bio daleko najjednostavniji način koji sam pronašao - i zahvaljujem se Lukeu Smithu na videu na tu temu. Postoje i druge metode, a stranice pomoći ffmpeg također pružaju neke dobre primjere.
Za reprodukciju videa iz komandne linije koristim VLC media player.
Učinite to upisivanjem:
vlc -zoom 0.5 --loop video.mkv
Videozapis se reproducira na skali od 0,5 sve dok ne pritisnete CTRL + C da biste prekinuli skriptu. Otkrio sam da ovo najbolje funkcionira ako odete u desktop način rada (startx), a zatim otvorite prozor terminala. U suprotnom će starije verzije pi ispustiti okvire sa velikih / visokorazrednih video zapisa. VLC media player ima opsežan skup naredbi - sličnih ffmpeg, za pokretanje iz prozora terminala.
Korak 5: Korak 5: Udaljeni pristup Pi -u
Za pokretanje skripti, zatvaranje pi i prijenos datoteka koristio sam dvije Windows aplikacije i Ethernet kabel CAT 5.
Pristup Pi -u je obavljen pomoću Cat 5 kabela, jer sam mislio da omogućuje brz i lak ulaz. Zamislio sam svoju kameru u šupi ili vani u nekim prilikama (bez mreže). Stoga se fizička veza činila idealnom, sve dok nisam postavio statičku IP adresu i upotrijebio vruću točku telefona!
Zato jednostavno priključite kabel u svoj pi i prijenosno računalo. Instalirajte ova dva besplatna softvera:
- Git
- WinSCP
Koristio sam Putty za pokretanje ffmeg skripti i isključivanje Pi -a (sudo shutdown sada). Pokrenite Putty na Windows računaru. U naziv hosta upišite ime svog Pi -a, a zatim.local. tj. moj je:
pi-webcam.local
Pritisnite dugme Otvori, a zatim slijedite upute za ime i lozinku. Zatim ulazite u Pi na terminalnom nivou, savršeno za pokretanje skripti i kretanje po direktorijima.
Za kopiranje ili premještanje videozapisa s Pi na prijenosno računalo koristio sam WinSCP. Ovo se ponaša na sličan način, u smislu unosa vaše adrese pi koja završava na.local, i nakon upita za unos vaše Pi lozinke.
Zatim jednostavno povucite datoteke sa svog Pi -a (desno) na Windows prijenosno računalo (lijevo).
Korak 6: Korak 6: Izlažite video zapise
Dva primjera s kojima sam eksperimentirao prikazana su u nastavku. Oba su prikazana kao *.mkv što je dalo dobre rezultate, kao i *.mp4 CODEC. Čini se da je *.mpg/Mpeg video format zamijenjen. Oba videa snimljena su u sivim olujnim danima - tako da je jasnoća prohodna. Jpgs su snimljeni na 650X480. Eksperimentirat ću s višom razlučivošću JPEG -a i različitom brzinom kadrova pri iscrtavanju videozapisa.
Hvala Andy & Emily @ Telford Makerspace na pomoći na tom putu.