реклама

Гледайте как облаците се движат или разсад расте. Фотографията с времетраене наистина може да ви даде усещане за това как светът работи на макроскопично ниво, отвъд всичко, което може да се възприеме от нормалното човешко преживяване на времето. Или с други думи: може да се превърне гледането на боята да изсъхне в нещо доста интересно. За съжаление, професионалното оборудване с времетраене - като същевременно добавя възможност за въртене или преместване на вашия фотоапарат - като това Джин може да струва до 1000 долара. Днес ще направим основен контролер за изтичане на времето без движение - за DSLR или USB уеб камера - само с Raspberry Pi.

Не забравяйте да проверите всички останали наши страхотни Raspberry Pi проекти също.

DSLR

Както обикновено, цялата ни работа с Pi ще се извършва през команден ред SSH и можем да вземем файловете, използвайки SFTP със същите идентификационни данни, ако сте ги запазили на Pi вместо на камерата. Ако не сте сигурни какъв е IP адресът на вашия Pi, влезте в своя рутер и прегледайте списъка с свързани към момента устройства - той трябва да се отчита правилно.

instagram viewer

свързани-устройства

Започнете с инсталирането на някои основни софтуер:

sudo apt-get install gphoto2. sudo apt-get install imagemagick. 

GPhoto2 е помощна програма за команден ред за директно взаимодействие с поддържани DSLR камери (вижте пълния списък тук). Използвах Canon Rebel T4i / 650D Преглед и отдаване на Canon Rebel T4i dSLRCanon току-що пусна новия си Rebel T4i - първите им (надяваме се много) приключения в света на тъчскрийна dSLR. Този фотоапарат е крачка нагоре от Canon Rebel T3i (което го прави и третия ... Прочетете още . Сега свържете камерата си към Pi чрез USB.

Тъй като използвах автоматични ISO стойности и AV режим, настройката е сравнително проста и можем да заснемем серията само с помощта на командния ред - полезната програма включва вградени параметри за изтичане на времето. Ето най-основната команда, която можете да използвате за тестване на възможностите:

gphoto2 - заснемане на изображение и изтегляне

който ще прехвърли файла във вашия Pi, или

gphoto2 --capture-изображение

за да запазите изображението на камерата. При 8 MB поп е възможно най-добре да ги държите на камерата и да изпълнявате филмовите шевове след факта от компютър или Mac.

Важно: По подразбиране изображенията се записват на SD-RAM, а не на картата с памет в камерата. Значи ще ги загубите всички (говоря от опит). За да сме сигурни, че те действително спестяват, първо трябва да зададем целта за улавяне:

gphoto2 --get-config / main / settings / capturetarget. 

Погледнете списъка, който извежда, и задайте целта, както следва, заменяйки 1 с това, което се показва като вашата карта.

gphoto2 --set-config / main / settings / capturetarget = 1. 

За да заснемете в режим на изтичане на време, добавете -F и -I за да посочите общия брой на рамки искате да уловите и времето интервал между всеки един. В този пример, заснемане веднъж на 30 секунди за общо 1440 кадъра, което, когато е направено във филм с 24 FPS, ще се равнява на около минута. Не мисля, че така или иначе батерията на моя фотоапарат ще издържи толкова дълго, но ще видя колко ще получа.

gphoto2 --capture-изображение -F 1440 -I 30. 

Една странност, която трябва да имате предвид; след като командата приключи, камерата може да се изключи и да не реагира - ще трябва ръчно да включите превключвателя на захранването (поне на моя модел го направи). Това не трябва да е проблем в полето, когато се използва, но за целите на тестването става доста досадно. Ако знаете поправка за това, уведомете ме в коментарите, моля!

gphoto2-работната

Създаване на филм

Прехвърлете файловете на вашия настолен компютър за обработка. На Mac открих, че най-лесно е да използвате командния ред, но ще ви трябва XCode, Homebrew, и MPlayer инсталиран първо. За да направите това, първо изтеглете Xcode от App Store (безплатен е), а след това от Предпочитания -> Downloads раздела, активирайте Инструменти на командния ред.

Xcode-инсталиране-CLT

След това стартирайте (един по един):

рубин 
самоделна

Вече трябва да имате инсталирани необходимите компоненти за кодиране. Изпълнете следните команди, за да създадете първо списък на заснетите файлове .jpg, след което го въведете в mencoder, помощна програма, използвана за създаване на видеоклипове. Променете стойността на FPS, ако предпочитате филмът да върви по-бързо.

CD 
ls * .jpg> list.txt. mencoder -nosound -ovc lavc -lavcopts vcodec = mpeg4: аспект = 16/9: vbitrate = 8000000 -vf мащаб = 640: 480 -o timelapse.avi -mf type = jpeg: fps = 24 mf: //@list.txt, 

Ето какво завърших, използвайки 24 FPS от 330 кадъра, заснети всяка минута от сутрин до средата на следобед. Времето е Великобритания наистина е толкова лошо, от слънчево до облачно през 5-минутни интервали през целия ден. Въздишка.

За да кодирате филм в Windows или ако предпочитате да използвате GUI, изтеглете Avidemuxи следвайте видео урока по-долу. Уверете се, че снимките ви са номерирани последователно.

https://www.youtube.com/watch? V = GZmkfk-YrG4 # т = 73

Използване на USB уеб камера

Разбира се, не всеки има DSLR, но вместо да купувате скъп официален модул на камерата за Raspberry Pi, можете също така да извършвате фотография с изтичане на времето, като използвате USB-офлайн уеб камера - в моя случай PS3 Eye, който обикновено е доста труден за работа на PC или Mac, но работи извън кутията на Pi. Може да се наложи да използвате захранван USB хъб и поддръжката на камерата е оскъдна.

Първо проверете дали вашата уеб камера е открита правилно.

ls -l / dev / видео *

Да се ​​надяваме, че ще видите / dev / video0 изброени така:

Dev-video0

След това можем да продължим с инсталирането на софтуера за заснемане на уеб камера и да направим пробен кадър.

sudo apt-get install fswebcam. 
fswebcam -d / dev / video0 -r 640x480 test.jpeg. 

Изтрийте файла с:

rm test.jpg. 

Направете няколко тестови снимки, за да ви позволи да позиционирате камерата по подходящ начин, след което ще продължим със скрипта с времетраене.

mkdir timelapse. nano runtimelapse. 

Поставете в следното:

#! / Хамбар / Баш. # Контролер Timelapse за USB уеб камера DIR = / home / pi / timelapse x = 1. докато [$ x -le 1440]; do filename = $ (дата -u + "% d% m% Y_% H% M-% S"). jpg fswebcam -d / dev / video0 -r 640x480 $ DIR / $ име на файл x = $ (($ x + 1)) сън 10; Свършен; 

За целите на тестването зададох времето за изчакване между кадрите 10 секунди. Когато реално започнете да заснемате, може би искате да го промените на всяка минута. Променете следния ред, за да определите колко кадри да заснемете, в примера, който е зададен като 1440:

докато [$ x -le 1440]; направя. 

За да направите скрипта изпълним, използвайте:

chmod 755 runtimelapse. 

След това го стартирайте, като използвате:

./runtimelapse. 
USB-работната

Създаване на филм

Все още в командния ред SSH ще се опитаме да зашием филма директно на Pi - ако сте направили хиляди снимки и уеб камерата ви е по-висока разделителна способност, може да откриете, че това е ужасно бавно, в този случай превъртете до инструкциите за филм за DSLR и прехвърлете файловете на вашия компютър използвайки SFTP.

USB-SFTP
cd timelapse. ls * .jpg> list.txt. sudo apt-get install mencoder. mencoder -nosound -ovc lavc -lavcopts vcodec = mpeg4: аспект = 16/9: vbitrate = 8000000 -vf мащаб = 640: 480 -o timelapse.avi -mf type = jpeg: fps = 24 mf: //@list.txt, 

Ако всичко изглежда добре, но получавате изход от 0 KB файл, това означава, че няма достатъчно място в темп папката на вашите устройства. Реших това с чиста инсталация и разширяване на кореновата система отново - изглежда BTSync е объркал някои темп файлове.

Ето завършената сцена от USB уеб камера, от късния следобед до тъмно.

Това беше много по-лесно, отколкото си мислех, че ще бъде - и не бих се изненадал да намеря някой в ​​коментарите, в който да се опише още по-лесен метод! Потърсете увлекателен оглед на живота, който иначе е труден за разбиране, и споделете линк към вашите творения в коментарите или други клипове с променливо време, които сте намерили за особено вдъхновяващи.

Джеймс има бакалавърска степен по изкуствен интелект и е сертифициран като CompTIA A + и Network +. Той е водещ разработчик на MakeUseOf и прекарва свободното си време, играейки VR пейнтбол и настолни игри. Той изгражда компютри още от дете.