Sommario:
- Passaggio 1: immagini da una telecamera IP
- Passaggio 2: acquisizione di immagini - Metodo 1
- Passaggio 3: acquisizione di immagini - Metodo 2
- Passaggio 4: copia le immagini su un PC Windows
- Passaggio 5: creazione del video - Photolapse 3
- Passaggio 6: creazione del video - VirtualDub
- Passaggio 7: conclusione
Video: Come Realizzare un Video Time Lapse: 7 Passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-31 10:21
In questo Instructable descriverò in dettaglio i passaggi che utilizzo per realizzare un video time lapse. Il sistema e l'hardware che utilizzo per ottenere le immagini sono un computer Linux e una telecamera IP basata su rete. Uno script viene eseguito sul computer Linux e ogni x secondi esegue il polling della telecamera IP, acquisisce un'immagine, la ridimensiona, la stampa con data e ora e la salva sul disco rigido del computer. Per creare il video dalle immagini tratterò due diverse applicazioni freeware su un PC Windows e esaminerò l'utilizzo di Linux come opzione.
Quando si ottengono immagini, è necessario calcolare l'intervallo di tempo tra ciascuna immagine o quante immagini all'ora o al giorno saranno necessarie per creare un video che abbia un bell'aspetto e non sia troppo lungo o corto.
Nel caso del mio video ice off. Ho catturato un'immagine ogni 20 secondi da poco prima dell'alba il primo giorno e sono andata fino al tramonto il giorno successivo. Ho rimosso la maggior parte delle immagini notturne prima di trasformarle nel video, ma ho deciso di mantenere un "sorgere della luna"
Questo mi lascia con circa 4.430 immagini. Se produco il video utilizzando 25 fotogrammi al secondo, la lunghezza sarà:
4, 430 / 25 = 177,2 secondi di durata. 177,2 secondi sono quasi 3 minuti.
Se volessi catturare qualcosa come una casa in costruzione, ogni 3-5 minuti sarebbe un buon punto di partenza.
A seconda di quanto spesso e per quanto tempo ho bisogno di acquisire immagini, ne uso uno per due metodi diversi.
Passaggio 1: immagini da una telecamera IP
La maggior parte delle telecamere IP utilizzate nella videosorveglianza o nelle webcam full motion ti consente di visualizzare un'immagine-j.webp
"https:///snap.jpg"
Per una fotocamera Planet:
"https:///image.cgi?resolution=1920x1080"
Dovrai cercare su Google l'URL da utilizzare per la tua marca di fotocamera.
Entrambe le immagini di Ubiquiti e Planet che ottengo hanno una dimensione di 1920x1080 (impostazione predefinita per ogni telecamera in quanto sono telecamere 1080). Con queste dimensioni ti ritroverai con un'enorme quantità di dati e un enorme file video. Mi piace ridimensionare l'immagine mentre la prendo e la scrivo su disco e mostrerò questo passaggio nel mio script. Uso convert che fa parte degli strumenti di ImageMagick.
Passaggio 2: acquisizione di immagini - Metodo 1
Uso questo metodo per catturare eventi più brevi come l'ice-off. Puoi usare questo metodo per catturare qualcosa come un movimento e la configurazione di un evento - qualcosa che richiede alcune ore o 1 o 2 giorni e dove puoi rimuovere manualmente qualsiasi immagine indesiderata come la notte prima di trasformarla in un video
Sotto Linux, uno script per la mia fotocamera Ubiquiti ha questo aspetto:
#!/bin/bash
# vai alla cartella corretta
cd /home/steve/iceoff
# Ubiquiti - fotocamera ubnt
URL="https://192.168.2.114/snap.jpg"
# dove scrivere le immagini
ubnt_dir=/home/steve/iceoff/ubnt
# ritardo tra le immagini
ritardo=20
# il cappio
mentre vero fare
# usa l'ora/la data per timbrare il nome del file - questo deve essere nella sezione del ciclo
ora=$(/bin/data '+%Y%m%d%H%M%S')
# prendi l'immagine e scrivila come ubnt.jpg
/usr/bin/wget -q -O "$ubnt_dir/ubnt.jpg" -t 1 $URL
# ridimensiona l'immagine ubnt-j.webp
convert -geometry 1024x "$dir_ubnt/ubnt.jpg" "$dir_ubnt/${now}.jpg"
# dormi per il tempo di ritardo, quindi ottieni un'altra immagine
/bin/sleep "$ritardo"
fatto
Cosa fa lo script:
imposta un URL variabile in cui si trova l'immagine sulla rete/telecamera
imposta la variabile ubnt_dir dove vogliamo salvare le immagini (dovrai creare la directory prima di eseguire lo script)
imposta il ritardo variabile su quanti secondi tra le immagini - questo rende facile cambiare il tempo tra le immagini, basta cambiare questa variabile e rieseguire lo script
avvia un ciclo con while true do - questo ciclo dovrebbe continuare finché non interrompi lo script con ctrl-c
imposta la variabile ora come anno, mese, giorno, ora, secondo
Il 16 febbraio 2019 a 8 minuti e 29 secondi dopo le 13:00 sembrerebbe 20190216130829
usa wget per prendere un'immagine dall'URL e scrivila come ubnt-j.webp
converti l'immagine ubnt-j.webp
dormi per il numero di secondi nella variabile di ritardo
torna indietro e inizia nel mentre vero fai il passo
Per eseguire questo script accedo al mio account ed eseguo dal terminale, quindi è utile per catturare qualcosa come il ghiaccio di un lago: è fatto in un giorno o due e ho bisogno di un'immagine ogni 20 secondi.
Passaggio 3: acquisizione di immagini - Metodo 2
Per time lapse più lunghi come la costruzione di un edificio o un progetto time lapse di un anno, utilizzo un modo diverso di catturare le immagini. Per questo uso cron.
Cron è un'utilità che esegue un comando una volta ogni x minuti, ore, giorni o mesi. Quindi puoi personalizzare quando il comando viene eseguito per minuto, ora, giorno, giorno del mese, ecc. Un utente in un sistema Linux può avere il proprio cron job ed è conservato nel proprio file crontab.
Per un lasso di tempo che dura mesi in cui ottengo un'immagine ogni X minuti, utilizzo un lavoro cron e uno script leggermente diverso in quanto non richiede un ciclo (mentre true do e done) poiché cron chiamerà lo script ogni Numero X minuti.
Non solo puoi usarlo per eseguire lo script ogni X minuti, ma puoi limitarlo per l'esecuzione in determinate ore in modo da non dover rimuovere molte immagini notturne. Quando la stagione e le ore diurne cambiano, cambio il mio cron job per rifletterlo.
Per creare un cron job accedi al tuo server Linux ed esegui: crontab -e Questo avvierà una modifica del tuo crontab. Il mio file crontab ha una riga come questa:
*/5 4-23 * * * /home/steve/timelapse/get.ubnt >/dev/null 2>&1
Il */5 significa che viene eseguito ogni 5 minuti
Il 4-23 significa eseguirlo dalle 4:00 alle 23:00 (questo cambia con la stagione per me)
Il primo * significa eseguirlo tutti i giorni del mese
Il secondo * significa eseguirlo ogni mese dell'anno
Il terzo * significa eseguirlo tutti i giorni della settimana
/home/steve/timelapse/get.ubnt è il nome dello script che viene eseguito
/dev/null 2>&1 significa mettere l'output standard su null e qualsiasi errore su null - se non lo hai, riceverai un'e-mail ogni volta che viene eseguito il cron job.
Il mio script /usr/steve/timelapse/get.ubnt ha questo aspetto:
#!/bin/bash
cd /home/steve/timelapse
URL="https://192.168.2.114/snap.jpg"
ora=$(/bin/data '+%Y%m%d%H%M%S')
/usr/bin/wget -q -O ubnt-j.webp
convert -geometry 1024x ubnt-j.webp" />
Cosa fa questo script:
passa a /home/steve/timelapse
imposta un URL variabile in cui si trova l'immagine sulla rete/telecamera
imposta la variabile ora su anno, mese, giorno, ora, minuto, secondo (così possiamo inserire data/ora sull'immagine-j.webp
ottieni l'immagine dall'URL e scrivila su ubnt.jpg
ridimensiona l'immagine a 1024 pixel di larghezza mantenendo il rapporto corretto e scrivi il file come data/ora.
Come con il metodo/script precedente, questo renderà i nomi dei file sequenziali e ci consentirà di creare il video con i fotogrammi nella sequenza corretta. Dopo alcuni giorni di immagini, le copierò in una cartella sul mio PC Windows per creare il file video. Normalmente uso ftp per ottenere i file sul PC Windows poiché si trovano sulla stessa rete e il login/password essendo testo in chiaro non è visibile su Internet.
Passaggio 4: copia le immagini su un PC Windows
Per copiare le immagini dal sistema Linux su un PC Windows per l'elaborazione in un video, utilizzo FTP.
Il programma Windows che uso per questo è FileZilla Client. Puoi usare qualsiasi client ftp che preferisci, anche la versione da riga di comando in Windows.
Se sai cosa stai facendo, puoi anche usare Samba o NFS e far apparire i file Linux come una cartella in Windows.
Passaggio 5: creazione del video - Photolapse 3
Ora che abbiamo le immagini, dobbiamo unirle insieme per creare un file video.
Ci sono molti programmi che puoi usare per farlo e potresti voler sperimentare con programmi diversi.
Tuttavia, per un numero relativamente piccolo di immagini come quelle che catturo durante uno o due giorni di assenza di ghiaccio, utilizzo il programma Windows Photolapse 3 - che purtroppo non viene più aggiornato e non riesco più a trovare il sito Web originale. Tuttavia è disponibile da un certo numero di siti di "download". Una rapida ricerca su Google dovrebbe andar bene.
La cosa bella di questo programma è che è un singolo binario, quindi non c'è installazione. Basta scaricare il binario ed eseguirlo. Lo svantaggio è che non elaborerà un numero enorme di file. Per enorme intendo probabilmente 20 mila o più, ma per qualcosa come il mio video ice off con circa 5.000 immagini va bene.
Si avvia il programma, nella casella in alto a sinistra si esegue il drill-down o si trova dove sono archiviate le immagini, quindi si inserisce il numero di framer al secondo (un numero inferiore farà apparire il video al rallentatore). Quindi fare clic sul pulsante "Carica file dalla cartella corrente"
Photolapse caricherà e visualizzerà in anteprima ogni fotogramma e avrai un'idea di come sarà il video.
Al termine dell'elaborazione dell'intera cartella, fare clic sul pulsante "Crea filmato", modificare il nome del file se lo si desidera, quindi fare clic su "Salva".
Successivamente è necessario scegliere un metodo di compressione per il video o lasciarlo non compresso. Io uso "Microsoft Video 1". Non resta che fare clic su "OK"
Anche se dovrai ripetere tutti i passaggi per scegliere un metodo di compressione o un codec diverso, vale la pena provare impostazioni diverse qui se hai bisogno di comprimere il video.
Le immagini che ho usato per le acquisizioni dello schermo in questo passaggio erano alcune delle immagini originali di Ice Off. Ho usato 1191 immagini di 1024x576 pixel. Hanno occupato circa 110 MB di spazio su disco. Il video compresso aveva una dimensione di 235 MB e quello non compresso era di 1,96 GB
Passaggio 6: creazione del video - VirtualDub
L'altro programma che ho usato è VirtualDub
Scarica qui i file zip. Esiste una versione a 32 e 64 bit
Decomprimi i file nella loro cartella.
Una delle cose che dovrai fare con le tue immagini è rinumerarle in sequenza. L'uso dei nomi dei file di data/ora come i miei script creati non funzionerà con VirtualDub. Ci sono un paio di modi per rinumerare i file:
Per prima cosa, fai un backup dei tuoi file, poi un altro backup. Quindi utilizzando la seconda copia:
Aprire la cartella con le immagini, cambiare la visualizzazione in "dettagli", evidenziare il primo file nell'elenco, premere ctrl-a per selezionare tutti i file, fare clic con il tasto destro e selezionare "rinomina". Cambia il nome del file in 1, quindi premi invio.
Questo elaborerà l'elenco dei file e aggiungerà (1).jpg, quindi (2)-j.webp
Il secondo modo è usare un programma chiamato Irfanview. Ha una modalità batch in cui è possibile rinominare i file in sequenza come 1.jpg, 2.jpg, 3-j.webp
Una volta rinominati i file, avvia VirtualDub, fai clic su "file" quindi su "apri file video". Seleziona il primo-j.webp
Fai clic su "Video" quindi su "Frame Rate" cambialo in 30 (o qualsiasi frame rate tu voglia provare)
Fai clic su "Video" quindi su "Compressione" - come con Photolapse 3 ho usato "Microsoft video 1"
Per avviare l'elaborazione delle immagini, fai clic su "File" e poi su "Salva come AVI". Assegna un nome al file, quindi fai clic su "Salva"
Questo avvierà l'elaborazione e mostrerà quanto tempo ci vorrà.
Sebbene ci siano più passaggi nell'uso di VirtualDub, elaborerà più file rispetto a photolapse 3.
Ho realizzato un timelapse con oltre 88.000 immagini utilizzando VirtualDub.
Passaggio 7: conclusione
Per visualizzare i video timelapse puoi utilizzare un programma come VLC o il lettore multimediale di Windows.
Ci sono molti, molti modi per catturare immagini e creare un time-lapse.
Se disponi di una fotocamera Canon, per alcuni modelli è disponibile un firmware CHDK di terze parti che ti consentirà di utilizzare la fotocamera in modalità intervallometro e di scattare una foto ogni x secondi.
Sperimenta un sacco! Spero che tu abbia trovato interessante questo Instructable e se fai un timelapse assicurati di lasciare un link ad esso nei commenti.
Consigliato:
Video time-lapse: 4 passaggi
Timelapse Video: Para hacer un vídeo tipo timelapse de forma ágil y rápida vamos a utilizar nuestro teléfono celular junto con las 3 aplicaciones que aparecen en la imagen
Realizza video in time lapse usando Raspberry Pi (11 righe di codice): 12 passaggi (con immagini)
Realizza video in time lapse usando Raspberry Pi (11 righe di codice): di recente ho piantato per la prima volta alcuni semi nel mio vaso da tavola. Ero davvero entusiasta di vederli crescere, ma come tutti sappiamo è un processo lento. L'impossibilità di vedere la crescita mi ha davvero deluso, ma all'improvviso l'hobbista dell'elettronica dentro di me ti ha svegliato
Come realizzare un video a schermo diviso in quattro passaggi: 4 passaggi (con immagini)
Come realizzare un video a schermo diviso in quattro passaggi: spesso vediamo una stessa persona in una scena due volte in uno spettacolo televisivo. E per quanto ne sappiamo, l'attore non ha un fratello gemello. Abbiamo anche visto che due video di canto vengono messi su uno schermo per confrontare le loro abilità canore. Questo è il potere di sp
Come Realizzare un Robot Autonomo che Gioca a Basket Usando un IRobot Creato come Base: 7 Passaggi (con Immagini)
Come creare un robot autonomo che gioca a basket utilizzando un IRobot Create come base: questa è la mia voce per la sfida iRobot Create. La parte più difficile di tutto questo processo per me è stata decidere cosa avrebbe fatto il robot. Volevo dimostrare le fantastiche funzionalità di Create, aggiungendo anche un tocco di robo. Tutto il mio
Trasforma una calcolatrice grafica TI in un intervallometro e crea video in time lapse: 7 passaggi (con immagini)
Trasforma una calcolatrice grafica TI in un intervallometro e crea video in time lapse: ho sempre voluto realizzare video in time lapse, ma non ho una fotocamera con una funzione di intervallo incorporata. In effetti, non credo che molti le fotocamere sono dotate di una tale funzione (soprattutto non le fotocamere SLR). Quindi cosa vuoi fare se vuoi