Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Moja time-lapse oprema koristi Pi generaciju prve generacije + vrlo jeftinu USB web kameru + besplatno 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 upotrijebio ovaj vodič za projekte. Oh.. i sve je moralo biti pokrenuto putem terminala - kao što sam i predvidio da će se većina/sva naknadna obrada obaviti na daljinu (bez glave) ili bez korištenja mreže.
Pribor
Troškovi i oprema:
- RPi 1. generacije = 5,00 GBP
- 16 GB SD kartica = 5,00 GBP
- Napajanje = 4,00 GBP
- USB web kamera = £ 1: 00
- Ethernet kabel CAT5 = slobodan
- Bipod = slobodan
Korak 1: Korak 1: Instalirajte Fswebcam
NAPOMENA: Koristio sam SD karticu od 16 GB sa čistom instalacijom trenutnog OS Raspbian (verzija Bustera za računala). Koristim Etcher za bljeskanje kartica.
Počnite instaliranjem fswebcam, kako je opisano u ovoj dokumentaciji RPi.
sudo apt install fswebcam
Priključite svoju jeftinu/rezervnu web kameru i testirajte je pomoću:
fswebcam -r 800X600 image.jpg
Ako to radi u redu, izradite direktorij u koji ćete smjestiti svoje mase slika.
mkdir web kamera
Korak 2: Korak 2: Stvorite Bash skriptu i automatizirajte
Sve naredbe izvršene pomoću terminala / naredbenog retka.
Napravite bash skriptu u nano (koja se naziva webcam.sh). Izradite praznu datoteku upisivanjem:
nano web kamera.sh
Završena bash skripta:
#!/bin/bash
DATE = $ (datum +"%Y-%m-%d_%H%M")
fswebcam -r 800x600 -bez bannera /home/pi/webcam/$DATE.jpg
Upotrijebite ovu naredbu da biste je učinili izvršnom:
chmod +x web kamera.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 koji razmišlja o vama:
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, a sve je izbačeno u mapu vaše web kamere.
Korak 3: Korak 3: Provjerite svoje slike
Unutar mape web kamere unesite:
gledati ls
Ovo prikazuje sadržaj mape s ažuriranjem u stvarnom vremenu.
Htio sam brz način da prođem kroz (neke od) slika pomoću naredbenog retka (da ih provjerim prije kodiranja). Upišite:
sudo apt-get ažuriranje
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 naredbenog retka bez pokrenutog drugog grafičkog sučelja. Dakle, ako podignete sustav izravno u naredbenu liniju, to će raditi dobro. Ako se podignete 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 naredbenog retka (ako znate što 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 popis jpegova u ffmepg za obradu; pri brzini od 20, do gotovog video izlaza.mkv ili mpg/mp4, itd. Postoji mnogo više varijabli koje možete prilagoditi 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 videozapisa iz naredbenog retka koristim VLC media player.
Učinite to upisivanjem:
vlc -zoom 0,5 -petlja 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 prijeđete u način rada za računalo (startx), a zatim otvorite prozor terminala. U suprotnom će starije verzije pi ispustiti okvire s velikih / hi rez 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
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 kabela Cat 5, 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:
- Kit
- WinSCP
Koristio sam Putty za pokretanje ffmeg skripti i isključivanje Pi (sudo shutdown now). Pokrenite Putty na računalu sa sustavom Windows. U naziv hosta upišite ime svog Pi -a, a zatim.local. tj. moj je:
pi-web kamera.lokalno
Pritisnite gumb Otvori, a zatim slijedite upute za ime i lozinku. Zatim ulazite u Pi na razini terminala, 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 lozinke za Pi.
Zatim jednostavno povucite datoteke s vašeg Pi (desno) na prijenosno računalo sa sustavom Windows (lijevo).
Korak 6: Korak 6: Izlažite videozapise
Dva primjera s kojima sam eksperimentirao prikazana su u nastavku. Obje su prikazane kao *.mkv što je dalo dobre rezultate, kao i *.mp4 CODEC. Čini se da je video format *.mpg/Mpeg zamijenjen. Oba su videozapisa snimljena u sivim olujnim danima - pa 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 generiranju videozapisa.
Hvala Andy & Emily @ Telford Makerspace na pomoći na tom putu.