Ho una webcam che funziona come dispositivo v4l2.
Qual è il modo più conveniente per acquisire un video in stop-motion o time-lapse?
N.B.
stop-motion e time-lapse sono correlati ma concettualmente diversi.
Il time-lapse è il momento in cui scatti una foto di una scena a un intervallo prestabilito e poi la combini in un video (sembra che stia andando molto velocemente).
Stop-motion è dove controlli la scena e acquisisci un'immagine per ogni modifica apportata, per formare un'animazione (ad es. Wallace e Grommit).
Un'applicazione per il time-lapse deve essere in grado di scattare una foto a intervalli prestabiliti.
Migliore risposta
Catturare un milione di immagini.
Il primo passo è catturare le immagini. Immaginiamo di voler scattare una foto una volta ogni 10 secondi e salvarla in una directory sul desktop
mkdir ~/Desktop/cap
cd ~/Desktop/cap
Usiamo streamer
per fare la cattura quindi installiamolo:
sudo apt-get install streamer
E ora vogliamo catturare
streamer -o 0000.jpeg -s 300x200 -j 100 -t 2000 -r 1
-t
è il numero di fotogrammi che vogliamo catturare. -r
è fotogrammi al secondo. Quindi questo dovrebbe catturare un fotogramma al secondo. Se lo comprimi in un video a 30 fps, un minuto di acquisizione diventa 2 secondi di video. Ti consigliamo di sintonizzarlo in modo appropriato a seconda della quantità di video in uscita che desideri.
Quella linea ti darà 2000 immagini, ci vorrà mezz'ora per registrare e, a 30fps, genererà poco più di 1 minuto di video.
Mettere tutto insieme
Userò ffmpeg
. Ci sono molti modi diversi per metterlo insieme, incluso mencoder
ma preferisco semplicemente ffmpeg
la visione della vita. Dopo averlo installato (sudo apt-get install ffmpeg
) basta parlare di questo:
ffmpeg -r 30 -i %04d.jpeg -s hd480 -vcodec libx264 -vpre hq time-lapse.mp4
Le impostazioni di qualità non sono niente come quelle della mia webcam, quindi potresti voler giocare molto di più con le opzioni per ottenere una codifica migliore, ma questo dovrebbe generare un bel video a 30 fps, compresso in x264.
Correlati:come rimuovere un repository? In Ubuntu?
Potresti voler giocare con il framerate (-r
) ma non andrei sotto i 15fps.