Spisu treści:
- Krok 1: Obrazy z kamery IP
- Krok 2: Przechwytywanie obrazów - metoda 1
- Krok 3: Przechwytywanie obrazów - metoda 2
- Krok 4: Skopiuj obrazy na komputer z systemem Windows
- Krok 5: Tworzenie wideo - Photolapse 3
- Krok 6: Tworzenie wideo - VirtualDub
- Krok 7: Wniosek
Wideo: Jak zrobić film poklatkowy: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-31 10:23
W tej instrukcji opiszę szczegółowo kroki, których używam, aby zrobić film poklatkowy. System i sprzęt, którego używam do uzyskiwania obrazów, to komputer z systemem Linux i kamera sieciowa IP. Skrypt uruchamia się na komputerze z systemem Linux i co x sekund odpytuje kamerę IP, pobiera obraz, zmienia jego rozmiar, oznacza go datą i godziną oraz zapisuje go na dysku twardym komputera. Aby stworzyć wideo z obrazów, omówię dwie różne aplikacje freeware na komputerze z systemem Windows i rozważę użycie Linuksa jako opcji.
Pozyskując obrazy, musisz określić czas między każdym obrazem lub ile obrazów na godzinę lub dzień będziesz potrzebować, aby stworzyć film, który wygląda dobrze i nie jest zbyt długi ani krótki.
W przypadku mojego filmu z lodem. Robiłem zdjęcie co 20 sekund tuż przed wschodem słońca pierwszego dnia i przechodziłem od razu do zachodu słońca następnego dnia. Usunąłem większość zdjęć nocnych, zanim przetworzyłem je na wideo, ale postanowiłem zachować „wschód księżyca”
Pozostało mi około 4430 obrazów. Jeśli wyprodukuję wideo przy użyciu 25 klatek na sekundę, długość będzie wynosić:
4,430/25 = 177,2 sekundy. 177,2 sekundy to prawie 3 minuty.
Jeśli chciałbyś uchwycić coś takiego jak budowany dom, to co 3 do 5 minut byłoby dobrym miejscem do rozpoczęcia.
W zależności od tego, jak często i na jak długo muszę robić zdjęcia, używam jednego na dwie różne metody.
Krok 1: Obrazy z kamery IP
Większość kamer IP używanych w monitoringu wideo lub w kamerach z pełnym ruchem umożliwia oglądanie nieruchomego obrazu-j.webp
„https:///snap.jpg”
W przypadku aparatu Planet:
„https:///image.cgi?rozdzielczość=1920x1080”
Musisz wygooglować adres URL swojej marki aparatu.
Zarówno obrazy Ubiquiti, jak i Planet, które przechwytuję, mają rozmiar 1920x1080 (domyślnie dla każdej kamery, ponieważ są to kamery 1080). Przy takim rozmiarze otrzymujesz ogromną ilość danych i ogromny plik wideo. Lubię zmieniać rozmiar obrazu, gdy go chwytam i zapisuję na dysku, a pokażę ten krok w moim skrypcie. Używam convert, który jest częścią narzędzi ImageMagick.
Krok 2: Przechwytywanie obrazów - metoda 1
Używam tej metody do uchwycenia krótszych wydarzeń, takich jak ice-off. Możesz użyć tej metody, aby uchwycić coś takiego jak wejście i ustawienie wydarzenia - coś, co zajmuje kilka godzin lub 1 lub 2 dni i gdzie możesz ręcznie usunąć niechciane obrazy, takie jak pora nocna, przed przetworzeniem na wideo
Pod Linuksem skrypt dla mojej kamery Ubiquiti wygląda tak:
#!/kosz/bash
# idź do właściwego folderu
cd /home/steve/iceoff
# Ubiquiti - kamera ubnt
URL="https://192.168.2.114/snap.jpg"
# gdzie pisać obrazy
katalog_ubnt=/dom/steve/iceoff/ubnt
# opóźnienie między obrazami
opóźnienie=20
# pętla
podczas gdy prawda?
# użyj godziny/daty do oznaczenia nazwy pliku - musi to być w sekcji pętli
now=$(/bin/data '+%Y%m%d%H%M%S')
# pobierz obraz i zapisz go jako ubnt.jpg
/usr/bin/wget -q -O "$ubnt_dir/ubnt.jpg" -t 1 $URL
# zmień rozmiar obrazu ubnt-j.webp
konwertuj -geometria 1024x "$ubnt_dir/ubnt.jpg" "$ubnt_dir/${now}.jpg"
# spać przez czas opóźnienia, a następnie uzyskać kolejny obraz
/bin/sleep "$opóźnienie"
Gotowe
Co robi skrypt:
ustaw zmienny adres URL na miejsce, w którym znajduje się obraz w sieci/kamerze
ustawiamy zmienną ubnt_dir na miejsce, w którym chcemy zapisywać obrazy (przed uruchomieniem skryptu trzeba będzie utworzyć katalog)
ustawić opóźnienie zmiennej na ile sekund między obrazkami - ułatwia to zmianę czasu pomiędzy obrazami, wystarczy zmienić tę zmienną i ponownie uruchomić skrypt
rozpocznij pętlę od while true do - ta pętla powinna trwać, dopóki nie zatrzymasz skryptu za pomocą ctrl-c
ustaw zmienną teraz jako rok, miesiąc, dzień, godzinę, sekundę
16 lutego 2019 r. o 8 minutach i 29 sekundach po godzinie 13:00 wyglądałby jak 20190216130829
użyj wget, aby pobrać obraz z adresu URL i zapisać go jako ubnt-j.webp
przekonwertuj obraz ubnt-j.webp
spać przez liczbę sekund w zmiennej opóźnienia
wróć i zacznij od chwili, gdy prawda zrób krok
Aby uruchomić ten skrypt, loguję się na swoje konto i uruchamiam go z terminala - więc jest to dobre do uchwycenia czegoś w rodzaju lodu na jeziorze - robię to za dzień lub dwa i potrzebuję obrazu co 20 sekund.
Krok 3: Przechwytywanie obrazów - metoda 2
W przypadku dłuższych upływów czasu, takich jak budowa budynku lub roczny projekt poklatkowy, wykorzystuję inny sposób robienia zdjęć. Do tego używam crona.
Cron to narzędzie, które uruchamia polecenie raz na x minut, godziny, dni lub miesiące. Możesz więc dostosować czas działania polecenia według minuty, godziny, dnia, dnia miesiąca itp. Użytkownik w systemie Linux może mieć własne zadanie crona i jest ono przechowywane w jego pliku crontab.
Przez okres czasu, który trwa przez miesiące, kiedy otrzymuję obraz co X minut, używam zadania crona i nieco innego skryptu, ponieważ nie wymaga pętli (gdy prawda i gotowe), ponieważ cron będzie wywoływał skrypt co Liczba X minut.
Nie tylko możesz go używać do uruchamiania skryptu co X minut, ale możesz ograniczyć go do uruchamiania w określonych godzinach, dzięki czemu nie musisz usuwać wielu nocnych obrazów. Wraz ze zmianą pory roku i dnia zmieniam pracę crona, aby to odzwierciedlić.
Aby utworzyć zadanie cron, zaloguj się do serwera Linux i uruchom: crontab -e Rozpocznie to edycję twojego crontab. Mój plik crontab ma taką linię:
*/5 4-23 * * * /home/steve/timelapse/get.ubnt >/dev/null 2>&1
*/5 oznacza bieganie co 5 minut
4-23 oznacza uruchamianie go od 4 rano do 23:00 (dla mnie zmienia się to wraz z sezonem)
Pierwszy * oznacza uruchamianie go każdego dnia miesiąca
Drugie * oznacza uruchamianie każdego miesiąca w roku
Trzecie * oznacza uruchamianie każdego dnia tygodnia
/home/steve/timelapse/get.ubnt to nazwa skryptu, który się uruchamia
/dev/null 2>&1 oznacza ustawienie standardowego wyjścia na null, a wszelkie błędy na null - jeśli nie masz tego, otrzymasz e-mail za każdym razem, gdy uruchomione zostanie zadanie cron.
Mój skrypt /usr/steve/timelapse/get.ubnt wygląda tak:
#!/kosz/bash
cd /home/steve/timelapse
URL="https://192.168.2.114/snap.jpg"
now=$(/bin/data '+%Y%m%d%H%M%S')
/usr/bin/wget -q -O ubnt-j.webp
przelicz -geometria 1024x ubnt-j.webp" />
Co robi ten skrypt:
zmień na /home/steve/timelapse
ustaw zmienny adres URL na miejsce, w którym znajduje się obraz w sieci/kamerze
ustaw teraz zmienną na rok, miesiąc, dzień, godzinę, minutę, sekundę (abyśmy mogli później oznaczyć czas/datę ostatecznego obrazu jpg)
pobierz obraz z adresu URL i napisz go do ubnt.jpg
zmień rozmiar obrazu do szerokości 1024 pikseli, zachowując prawidłowe proporcje i zapisz plik jako znacznik daty/czasu.
Podobnie jak w przypadku poprzedniej metody/skryptu, sprawi, że nazwy plików będą sekwencyjne i umożliwi nam utworzenie wideo z klatkami we właściwej kolejności. Po kilku dniach zdjęć skopiuję je do folderu na moim komputerze z systemem Windows, aby utworzyć plik wideo. Zwykle używam ftp, aby pobrać pliki na komputerze z systemem Windows, ponieważ znajdują się one w tej samej sieci, a login/hasło w postaci zwykłego tekstu nie jest widoczny w Internecie.
Krok 4: Skopiuj obrazy na komputer z systemem Windows
Aby skopiować obrazy z systemu Linux na komputer z systemem Windows w celu przetworzenia na wideo, używam FTP.
Program Windows, którego używam do tego, to FileZilla Client. Możesz użyć dowolnego klienta FTP, nawet wersji wiersza poleceń w systemie Windows.
Jeśli wiesz, co robisz, możesz również użyć Samby lub NFS i sprawić, by pliki Linuksa pojawiły się jako folder w systemie Windows.
Krok 5: Tworzenie wideo - Photolapse 3
Teraz, gdy mamy już obrazy, musimy je połączyć, aby utworzyć plik wideo.
Istnieje wiele programów, których możesz użyć do tego celu i możesz poeksperymentować z różnymi programami.
Jednak w przypadku stosunkowo niewielkiej liczby zdjęć, jakie robię podczas jednego lub dwóch dni wolnego od lodu, używam programu Windows Photolapse 3 - który niestety nie jest już aktualizowany i nie mogę już znaleźć dla niego oryginalnej strony internetowej. Jednak jest on dostępny na wielu stronach „z pobieraniem”. Szybkie wyszukiwanie w Google powinno wystarczyć.
To, co jest / było miłe w tym programie, to to, że jest to pojedynczy plik binarny, więc nie ma instalacji. Po prostu pobierz plik binarny i uruchom go. Minusem jest to, że nie przetworzy dużej liczby plików. Przez ogromne mam na myśli prawdopodobnie 20 tysięcy lub więcej, ale dla czegoś takiego jak mój filmik z lodem z około 5 000 zdjęć jest w porządku.
Uruchamiasz program, w lewym górnym rogu rozwijasz lub znajdujesz, gdzie przechowywane są Twoje obrazy, a następnie wstawiasz liczbę klatek na sekundę (mniejsza liczba sprawi, że wideo będzie wyświetlane w zwolnionym tempie). Następnie kliknij przycisk "Załaduj pliki z bieżącego folderu"
Photolapse załaduje i wyświetli podgląd każdej klatki, a Ty zorientujesz się, jak będzie wyglądał film.
Po zakończeniu przetwarzania całego folderu kliknij przycisk „Utwórz film”, zmień nazwę pliku, jeśli chcesz, a następnie kliknij „Zapisz”.
Następnie musisz wybrać metodę kompresji wideo lub pozostawić je nieskompresowane. Używam "Microsoft Video 1". Pozostało tylko kliknąć „OK”
Chociaż będziesz musiał ponownie wykonać wszystkie kroki, aby wybrać inną metodę kompresji lub kodek, warto wypróbować tutaj inne ustawienia, jeśli potrzebujesz skompresowanego wideo.
Obrazy, których użyłem do zrzutów ekranu w tym kroku, pochodziły z oryginalnych obrazów lodu. Użyłem 1191 obrazów o wymiarach 1024x576 pikseli. Zajmowali około 110 MB miejsca na dysku. Skompresowany film miał rozmiar 235 MB, a nieskompresowany 1,96 GB
Krok 6: Tworzenie wideo - VirtualDub
Innym programem, z którego korzystałem, jest VirtualDub
Pobierz pliki zip tutaj. Dostępna jest wersja 32-bitowa i 64-bitowa
Rozpakuj pliki do ich własnego folderu.
Jedną z rzeczy, które musisz zrobić ze swoimi obrazami, jest sekwencyjna zmiana ich numeracji. Używanie nazw plików sygnatury daty/godziny, takich jak moje skrypty, nie będzie działać z VirtualDub. Istnieje kilka sposobów zmiany numeracji plików:
Najpierw utwórz kopię zapasową plików, a następnie kolejną kopię zapasową. Następnie korzystając z drugiego egzemplarza:
Otwórz folder ze zdjęciami, zmień widok na "szczegóły", zaznacz pierwszy plik na liście, naciśnij ctrl-a, aby zaznaczyć wszystkie pliki, kliknij prawym przyciskiem myszy i wybierz "zmień nazwę". Zmień nazwę pliku na 1, a następnie naciśnij Enter.
Spowoduje to przetworzenie listy plików i dodanie (1).jpg, następnie (2)-j.webp
Drugim sposobem jest użycie programu o nazwie Irfanview. Ma tryb wsadowy, w którym można kolejno zmieniać nazwy plików na 1.jpg, 2.jpg, 3-j.webp
Po zmianie nazwy plików uruchom VirtualDub, kliknij „plik”, a następnie „otwórz plik wideo”. Wybierz pierwszy-j.webp
Kliknij „Wideo”, a następnie „Szybkość klatek”, zmień to na 30 (lub inną liczbę klatek, którą chcesz wypróbować)
Klikam "Wideo" a potem "Kompresja" - tak jak przy photolapse 3 użyłem "Microsoft video 1"
Aby rozpocząć przetwarzanie obrazów, kliknij „Plik”, a następnie „Zapisz jako AVI”. Nazwij plik, a następnie kliknij „Zapisz”
Rozpocznie to przetwarzanie i pokaże, jak długo to potrwa.
Chociaż w użyciu VirtualDub jest więcej kroków, przetworzy więcej plików niż photolapse 3.
Zrobiłem timelapse z ponad 88 000 zdjęć za pomocą VirtualDub.
Krok 7: Wniosek
Aby oglądać filmy poklatkowe, możesz użyć programu takiego jak VLC lub własnego odtwarzacza multimedialnego systemu Windows.
Jest wiele, wiele sposobów robienia zdjęć i robienia timelapse.
Jeśli masz aparat firmy Canon, dla niektórych modeli dostępne jest oprogramowanie firmowe CHDK innej firmy, które umożliwia korzystanie z aparatu w trybie interwałometru i robienie zdjęć co x sekund.
Wiele eksperymentów! Mam nadzieję, że uznałeś ten Instructable za interesujący, a jeśli zrobisz timelapse, zostaw link do niego w komentarzach.
Zalecana:
Aparat poklatkowy: 6 kroków
Time Lapse Camera Rig: Mój zestaw time-lapse używa Pi pierwszej generacji + bardzo tania kamera internetowa USB + wolny stojak (dwójnóg). Częścią moich kryteriów kompilacji jest ponowne użycie/przetworzenie rzeczy, które już mam, w przeciwnym razie po prostu wyszedłbym i kupił moduł kamery Pi i skorzystał z tego projektu
Jak zrobić film IMovie z zielonym ekranem: 9 kroków
Jak zrobić iMovie z zielonym ekranem: Stworzyliśmy iMovie z zielonym ekranem. W tej instrukcji dowiesz się, jak stworzyć iMovie z zielonymi ekranami
Jak zrobić film wideo z ekranu komputera !!: 5 kroków
Jak zrobić film wideo z ekranu komputera !!: Ta instrukcja pokaże ci szybki i & łatwy sposób na zrobienie filmu wideo z ekranu komputeraZasubskrybuj mój kanałDzięki:)
Film poklatkowy: 4 kroki
Wideo poklatkowe: Para hacer un vídeo tipo timelapse de forma ágil y rapida vamos a utilizar nuestro telefono celular junto con 3 aplicaciones que aparecen en la imagen
Jak zrobić kalendarz dziadków & Notatnik (nawet jeśli nie wiesz, jak to zrobić): 8 kroków (ze zdjęciami)
Jak zrobić kalendarz dziadków & Notatnik (nawet jeśli nie wiesz jak to zrobić): To bardzo ekonomiczny (i bardzo ceniony!) prezent świąteczny dla dziadków. W tym roku zrobiłem 5 kalendarzy za mniej niż 7 USD każdy.Materiały:12 wspaniałych zdjęć Twojego dziecka, dzieci, siostrzenic, siostrzeńców, psów, kotów lub innych krewnych 12 różnych elementów