Taula de continguts:
- Pas 1: imatges d'una càmera IP
- Pas 2: captura d'imatges: mètode 1
- Pas 3: Captura d'imatges: mètode 2
- Pas 4: copieu les imatges en un PC amb Windows
- Pas 5: creació del vídeo: Photolapse 3
- Pas 6: Creació del vídeo: VirtualDub
- Pas 7: Conclusió
Vídeo: Com fer un vídeo amb lapse de temps: 7 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-31 10:17
En aquest instructiu detallaré els passos que faig per fer un vídeo de lapse de temps. El sistema i el maquinari que faig servir per obtenir les imatges són un ordinador Linux i una càmera IP basada en xarxa. Un script s’executa a l’ordinador Linux i cada x segons enquesta la càmera IP, agafa una imatge, la redimensiona, l’hora i la data la marca i la desa al disc dur de l’ordinador. Per crear el vídeo a partir de les imatges, cobriré dues aplicacions gratuïtes diferents en un PC amb Windows i examinaré l’ús de Linux com a opció.
Quan obtingueu imatges, heu d’esbrinar el temps entre cada imatge o quantes imatges per hora o dia necessitareu per crear un vídeo que tingui un bon aspecte i que no sigui massa llarg ni curt.
En el cas del meu vídeo Ice Off. Vaig agafar una imatge cada 20 segons just abans de la sortida del sol el primer dia i vaig passar fins a la posta de sol el dia següent. He eliminat la majoria de les imatges nocturnes abans de processar-les al vídeo, però he decidit mantenir una "sortida de lluna"
Això em deixa al voltant de 4.430 imatges. Si produeixo el vídeo amb 25 fotogrames per segon, la durada serà:
4, 430/25 = 177,2 segons. 177,2 segons són gairebé 3 minuts.
Si volguéssiu capturar alguna cosa com si es construís una casa, cada 3 o 5 minuts seria un bon lloc per començar.
Segons la freqüència i el temps que necessito per capturar imatges, en faig servir una per a dos mètodes diferents.
Pas 1: imatges d'una càmera IP
La majoria de càmeres IP que s’utilitzen en videovigilància o en càmeres web de moviment complet us permeten veure una imatge-j.webp
"https:///snap.jpg"
Per a una càmera Planet:
"https:///image.cgi? resolution = 1920x1080"
Haureu de cercar a Google l’URL que utilitzeu per a la vostra marca de càmera.
Tant les imatges de Ubiquiti com de Planet que agafo tenen una mida de 1920x1080 (per defecte per a cada càmera, ja que són de 1080). Amb aquesta mida acabareu amb una gran quantitat de dades i un enorme fitxer de vídeo. M’agrada canviar la mida de la imatge mentre l’agafo i l’escric al disc i mostraré aquest pas al meu script. Faig servir convert, que forma part de les eines ImageMagick.
Pas 2: captura d'imatges: mètode 1
Faig servir aquest mètode per capturar esdeveniments més curts, com ara la sortida del gel. Podeu fer servir aquest mètode per capturar alguna cosa com una mudança i configuració d’un esdeveniment, cosa que dura unes quantes hores o 1 o 2 dies i on podeu eliminar manualment qualsevol imatge no desitjada com la nit abans de processar-la en un vídeo.
A Linux, un script per a la meva càmera Ubiquiti té aquest aspecte:
#! / bin / bash
# anar a la carpeta correcta
cd / home / steve / iceoff
# Ubiquiti: càmera ubnt
URL = "https://192.168.2.114/snap.jpg"
# on escriure imatges
ubnt_dir = / home / steve / iceoff / ubnt
# retard entre imatges
retard = 20
# el bucle
si bé és cert
# utilitzeu la data i l'hora per segellar el nom del fitxer; ha de ser a la secció del bucle
ara = $ (/ bin / date '+% Y% m% d% H% M% S')
# obteniu la imatge i escriviu-la com a ubnt.jpg
/ usr / bin / wget -q -O "$ ubnt_dir / ubnt.jpg" -t 1 $ URL
# canvieu la mida de la imatge ubnt-j.webp
convert -geometry 1024x "$ ubnt_dir / ubnt.jpg" "$ ubnt_dir / $ {now}.jpg"
# dormir durant el temps de retard i obtenir una altra imatge
/ bin / sleep "$ delay"
fet
Què fa el guió:
definiu un URL variable on es trobi la imatge a la xarxa / càmera
definiu la variable ubnt_dir a on volem desar imatges (haureu de crear el directori abans d'executar l'script)
Estableix el retard de la variable a quants segons entre imatges; això fa que sigui fàcil canviar el temps entre imatges, només has de canviar aquesta variable i tornar a executar l'script
comenceu un bucle amb mentre és true do - aquests bucles haurien d'anar fins que atureu l'script amb un ctrl-c
defineix la variable ara com a any, mes, dia, hora, segon
El 16 de febrer de 2019 als 8 minuts i 29 segons després de la 1 de la tarda semblaria el 20190216130829
utilitzeu wget per agafar una imatge de l'URL i escriure-la com a ubnt-j.webp
convertiu la imatge ubnt-j.webp
dormir durant el nombre de segons de la variable de retard
torneu enrere i comenceu a la vegada que feu el pas cert
Per executar aquest script, accedo al meu compte i ho executo des de la terminal, de manera que és bo per capturar alguna cosa com el iceoff d'un llac. Es fa en un o dos dies i necessito una imatge cada 20 segons.
Pas 3: Captura d'imatges: mètode 2
Durant períodes de temps més llargs, com la construcció d’un edifici o un projecte de lapse de temps d’un any, faig servir una forma diferent de capturar imatges. Per a això faig servir cron.
Cron és una utilitat que executa una ordre un cop cada x minuts, hores, dies o mesos. Així, podeu personalitzar quan l'ordre s'executa per minuts, hora, dia, dia del mes, etc. Un usuari d'un sistema Linux pot tenir el seu propi treball cron i es manté al fitxer crontab.
Per un lapse de temps que dura uns mesos, en què obtinc una imatge cada X minuts, faig servir un treball de cron i un script lleugerament diferent, ja que no requereix cap bucle (el que és cert), ja que cron cridarà l’escript cada X minuts minuts.
No només el podeu utilitzar per executar l’escriptura cada X minuts, sinó que podeu restringir-lo perquè s’executi entre determinades hores, de manera que no haureu d’eliminar moltes imatges nocturnes. A mesura que canvien les hores de temporada i de dia, canvio la meva feina de cron per reflectir-la.
Per crear un treball cron, inicieu la sessió al servidor Linux i executeu: crontab -e Això iniciarà una edició del vostre crontab. El meu fitxer crontab té una línia com aquesta:
* / 5 4-23 * * * /home/steve/timelapse/get.ubnt> / dev / null 2> & 1
El * / 5 significa executar-se cada 5 minuts
El 4-23 significa executar-lo de 4:00 a 23:00 (això canvia segons la temporada)
El primer * significa executar-lo tots els dies del mes
El segon * significa executar-lo tots els mesos de l'any
El tercer * significa executar-lo tots els dies de la setmana
/home/steve/timelapse/get.ubnt és el nom de l'script que s'executa
/ dev / null 2> & 1 significa posar la sortida estàndard a nul i qualsevol error a nul.
El meu script /usr/steve/timelapse/get.ubnt té aquest aspecte:
#! / bin / bash
cd / home / steve / timelapse
URL = "https://192.168.2.114/snap.jpg"
ara = $ (/ bin / date '+% Y% m% d% H% M% S')
/ usr / bin / wget -q -O ubnt-j.webp
convert -geometry 1024x ubnt-j.webp" />
Què fa aquest script:
canvieu a / home / steve / timelapse
definiu un URL variable on es trobi la imatge a la xarxa / càmera
defineix la variable ara a any, mes, dia, hora, minut, segon (per tant, podem marcar la data / hora més tard)
obteniu la imatge de l'URL i escriviu-la a ubnt.jpg
canvieu la mida de la imatge a 1024 píxels d'amplada mantenint la proporció correcta i escriviu el fitxer com a segell de data / hora.
Igual que amb el mètode / script anterior, farà que els noms dels fitxers siguin seqüencials i ens permeti crear el vídeo amb els fotogrames en la seqüència correcta. Després d’haver tingut imatges per valor d’uns dies, les copiaré a una carpeta del meu PC amb Windows per crear el fitxer de vídeo. Normalment faig servir ftp per obtenir els fitxers de l'ordinador de Windows, ja que es troben a la mateixa xarxa i el text clar de l'inici de sessió / contrasenya no és visible a Internet.
Pas 4: copieu les imatges en un PC amb Windows
Per copiar les imatges del sistema Linux a un PC de Windows per processar-les en un vídeo, faig servir FTP.
El programa de Windows que utilitzo per a això és FileZilla Client. Podeu utilitzar qualsevol client ftp que preferiu, fins i tot la versió de línia d'ordres a Windows.
Si sabeu què feu, també podeu utilitzar Samba o NFS i fer que els fitxers Linux apareguin com a carpeta al Windows.
Pas 5: creació del vídeo: Photolapse 3
Ara que tenim les imatges, hem de combinar-les per crear un fitxer de vídeo.
Hi ha molts programes que podeu utilitzar per fer-ho i és possible que vulgueu experimentar amb diferents programes.
Tanmateix, per a un nombre relativament reduït d’imatges com les que faig durant un o dos dies de gel, faig servir el programa de Windows Photolapse 3, que malauradament ja no s’actualitza i ja no hi puc trobar el lloc web original. Tanmateix, està disponible en diversos llocs de "descàrrega". Una cerca ràpida a Google hauria d’anar bé.
El que és / era bo d’aquest programa és que és un sol binari, de manera que no hi ha instal·lació. Només heu de descarregar el binari i executar-lo. L’inconvenient és que no processarà un gran nombre de fitxers. Vull dir probablement 20.000 o més, però per a alguna cosa així com el meu vídeo de gel amb aproximadament 5.000 imatges, està molt bé.
Comenceu el programa, a la part superior esquerra, aneu cap avall o trobareu on s'emmagatzemen les vostres imatges i, a continuació, introduïu el nombre de marcadors per segon (un nombre més petit farà que el vídeo aparegui com a càmera lenta). A continuació, feu clic al botó "Carrega fitxers de la carpeta actual"
Photolapse carregarà i previsualitzarà cada fotograma i tindràs una idea de com serà el vídeo.
Quan hagi acabat de processar tota la carpeta, feu clic al botó "Crea una pel·lícula", canvieu el nom del fitxer si voleu i feu clic a "Desa".
A continuació, heu de triar un mètode de compressió per al vídeo o deixar-lo sense comprimir. Faig servir el "Microsoft Video 1". Només queda fer clic a "D'acord"
Tot i que haureu de tornar a seguir tots els passos per triar un mètode de compressió o còdec diferent, val la pena provar diferents configuracions aquí si necessiteu comprimir el vídeo.
Les imatges que he fet servir per capturar la pantalla en aquest pas eren algunes de les imatges originals de gel. He utilitzat 1191 imatges de 1024x576 píxels. Van ocupar aproximadament 110 MB d’espai en disc. El vídeo comprimit tenia una mida de 235 MB i el no comprimit, de 1,96 GB
Pas 6: Creació del vídeo: VirtualDub
L’altre programa que he utilitzat és VirtualDub
Descarregueu els fitxers zip aquí. Hi ha una versió de 32 i 64 bits
Descomprimiu els fitxers a la seva pròpia carpeta.
Una de les coses que haureu de fer amb les vostres imatges és tornar a numerar-les de manera seqüencial. L’ús de noms de fitxers de segell de data / hora, com els meus scripts, no funcionarà amb VirtualDub. Hi ha un parell de maneres de renumerar els fitxers:
Primer, feu una còpia de seguretat dels vostres fitxers i després una altra. A continuació, utilitzeu la segona còpia:
Obriu la carpeta amb les imatges, canvieu la vista per "detalls", ressalteu el primer fitxer de la llista, premeu Ctrl-a per seleccionar tots els fitxers, feu clic amb el botó dret i seleccioneu "canvia el nom". Canvieu el nom del fitxer a 1 i premeu Retorn.
Es processarà la llista de fitxers i s'afegirà (1).jpg, després (2).jpg, etc, etc al nom del fitxer 1.jpg.
La segona forma és utilitzar un programa anomenat Irfanview. Té un mode per lots on podeu canviar el nom dels fitxers seqüencialment com 1.jpg, 2.jpg, 3.jpg, etc. El mode per lots també us permet redimensionar per lots les imatges a una mida més petita si cal.
Un cop canviat el nom dels fitxers, inicieu VirtualDub, feu clic a "fitxer" i després a "obre el fitxer de vídeo". Seleccioneu el primer-j.webp
Feu clic a "Vídeo" i, a continuació, a "Velocitat de fotogrames", canvieu-ho a 30 (o la velocitat de fotogrames que vulgueu provar)
Feu clic a "Vídeo" i, a continuació, a "Compressió"; igual que amb photolapse 3, he utilitzat "Microsoft video 1"
Per començar a processar les imatges, feu clic a "Fitxer" i després a "Desa com a AVI". Poseu un nom al fitxer i feu clic a "Desa"
Això iniciarà el processament i mostrarà el temps que trigarà.
Tot i que hi ha més passos per utilitzar VirtualDub, processarà més fitxers que el fotolapse 3.
He fet un lapse de temps amb més de 88.000 imatges mitjançant VirtualDub.
Pas 7: Conclusió
Per veure els vídeos de timelapse, podeu utilitzar un programa com VLC o el propi reproductor multimèdia de Windows.
Hi ha moltes i moltes maneres de capturar imatges i fer un lapse de temps.
Si teniu una càmera canon, hi ha un firmware CHDK de tercers per a alguns models que us permetrà utilitzar la càmera en mode intervalòmetre i fer una foto cada x segons.
Molts experiments! Espero que us hagi semblat interessant aquest instructiu i, si feu un lapse de temps, assegureu-vos de deixar-hi un enllaç als comentaris.
Recomanat:
Raspberry Pi in the Wild! Temps de lapse ampliat amb bateria: 10 passos (amb imatges)
Raspberry Pi in the Wild! Temps de lapse ampliat amb alimentació de la bateria: motivació: volia utilitzar la càmera Raspberry Pi amb bateria per fer fotos un cop al dia a l'aire lliure per crear vídeos a llarg termini. La meva aplicació particular és registrar el creixement de les plantes de coberta del sòl la propera primavera i estiu. Repte: D
Equip de càmera amb lapse de temps: 6 passos
Instal·lació de càmera Time Lapse: la meva plataforma Time-lapse utilitza un Pi 'de primera generació + una càmera web USB molt econòmica + un suport lliure (bípode). Part dels meus criteris de compilació és reutilitzar / actualitzar les coses que ja tinc, en cas contrari hauria sortit a comprar un mòdul de càmera Pi i utilitzar aquest projecte
Fer un rellotge amb M5stick C mitjançant Arduino IDE - Rellotge RTC en temps real amb M5stack M5stick-C: 4 passos
Fer un rellotge amb M5stick C mitjançant Arduino IDE | Rellotge en temps real RTC amb M5stack M5stick-C: Hola, nois en aquest instructable, aprendrem a fer un rellotge amb la placa de desenvolupament m5stick-C de m5stack mitjançant Arduino IDE. Així, m5stick mostrarà data, hora i amp; setmana del mes a la pantalla
Com fer un rellotge en temps real amb la pantalla Arduino i TFT - Arduino Mega RTC amb pantalla TFT de 3,5 polzades: 4 passos
Com fer un rellotge en temps real amb pantalla Arduino i TFT | Arduino Mega RTC amb pantalla TFT de 3,5 polzades: visiteu el meu canal de Youtube. Introducció: - En aquest post vaig a fer "Rellotge en temps real" amb LCD TFT tàctil de 3,5 polzades, Arduino Mega Mòdul RTC 2560 i DS3231 … Abans de començar … comproveu el vídeo del meu canal de YouTube … Nota: - Si utilitzeu Arduin
Feu vídeos de lapse de temps amb Raspberry Pi (11 línies de codi): 12 passos (amb imatges)
Feu vídeos de lapse de temps amb Raspberry Pi (11 línies de codi): recentment he plantat algunes llavors a la meva olla de taula per primera vegada. Em feia molta il·lusió veure-les créixer, però, com tots sabem, és un procés lent. No vaig poder veure el creixement que em va fer decebre, però de sobte l’aficionat a l’electrònica que tenia dins em va despertar