Ir al contenido
Mgbu

Hacer Timelapses / Stop in Motion

Recommended Posts

Hice un script que ejecuta los comandos de este tutorial de CyberAngel en ubuntuforums, sirve para hacer Timelapses o Stop in Motions.
Los Timelapses son videos creados a partir de varias (muchas) fotos tomadas a intervalos de por ejemplo 5 segundos, cuando se pasan esas fotos varias veces por segundo parece un video a cámara rápida. Los Stop in Motion son parecidos nada más que en vez de tomar las fotos cada un cierto tiempo se toman manualmente y se cambia algo de la escena entre cada foto
 
Ejemplo de Timelapse:

 

Ejemplo de Stop in Motion:

 

El script hace un video con mencoder de las fotos que tengas en la carpeta seleccionada, también se le debe elegir los FPS (cúantas fotos por segundo se ven en el video)

 

Script:

 

 

 #!/bin/bash

# Instalar imagemagick (mogrify)
# Si aparecen errores con el Deflicker o perl instalar perlmagick
# Instalar mencoder
# Instalar libfile-type-perl libterm-progressbar-perl
# Hacer ejecutable

# $1 = Directorio de fotos (martin/fotos)
# $2 = Tamaño (1440x1080)
# $3 = Formato de fotos (*.jpg)
# $4 = FPS (20)

# Al final si es nesesario se puede comprimir el video con:
# avconv -i video.avi -c:v libx264 -preset slow -crf 15 video-final.mkv

echo
echo
echo
echo Preparandose...
echo
echo
echo

mkdir $1/Escaladas
cp timelapse-deflicker.pl $1/Escaladas/timelapse-deflicker.pl
chmod +x $1/Escaladas/timelapse-deflicker.pl
cd $1

echo
echo
echo
echo Escalando fotos...
echo
echo
echo

mogrify -path Escaladas -resize $2 $3
cd Escaladas

echo
echo
echo
echo Deflickering...
echo
echo
echo

./timelapse-deflicker.pl -h
./timelapse-deflicker.pl -v
cd Deflickered

echo
echo
echo
echo Creando video...
echo
echo
echo

ls -1tr | grep -v fotos.txt > fotos.txt
mencoder -idx -nosound -noskip -ovc lavc -lavcopts vcodec=mjpeg -o video.avi -mf fps=$4 'mf://@fotos.txt'
cd ..
cd ..
cd ..
mv $1/Escaladas/Deflickered/video.avi video.avi

 

 

 

Script 2, Es un deflicker, ajusta el brillo de las imagenes para que el video no parpadee cada vez que por ejemplo una nube tape el sol y la foto salga más brillante: https://github.com/cyberang3l/timelapse-deflicker/blob/master/timelapse-deflicker.pl

 

Uso:

Copiar y pegar el script que esta en el spoiler en un archivo llamado timelapse.sh

Hacer ejecutable al script haciendo click derecho > propiedades o con chmod +x timelapse.sh

Descargar todos los programas necesarios, creo que son mogrify perlmagick mencoder libfile-type-perl libterm-progressbar-perl

Guardar el segundo script del deflicker en un archivo llamado timelapse-deflicker.pl

Poner los dos archivos en una misma carpeta

Ejecutar el script con ./timelapse.sh [carpeta/con/las/fotos] [resolucion] [formatodelasfotos] fps. Por ejemplo: ./timelapse.sh TimelapseNubes/Fotos 1920x1080 *.jpg 30

Cuando termine va a aparecer video.avi en la ubicacion del script

Si hace falta se puede comprimir el video con avconv o ffmpeg. Por ejemplo: ffmpeg -i video.avi -c:v libx264 -preset slow -crf 15 video-final.mkv

Compartir este post


Enlace al post
Compartir en otros sitios

Nuevo script!

 

Creamos un timelapse.py:

#!/usr/bin/python
import os
import time
import sys

start = 0
end = 8640
while start < end:   
    print "Capturando imagenes"
    os.system("fswebcam -i 0 -d /dev/video0 -r 640x480 -p YUYV -q --title user1  /home/user/projects/timelapse/%d%m%y_%H%M%S.jpg")
    start = start+1
    time.sleep(10)

print "Timelapse finalizado"
sys.exit()

Hacemos el script ejecutable:  chmod +x timelapse.py

Creamos una lista con todos los archivos que van a formar parte de nuestro timelapse: ls *.jpg > lista.txt

Y por último ejecutamos el siguiente código en terminal: mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:aspect=16/9:vbitrate=8000000 -vf scale=640:480 -o timelapse.avi -mf type=jpeg:fps=24 mf://@lista.txt

 

Autor: Alex Corvis

Editado por elmoyer

Compartir este post


Enlace al post
Compartir en otros sitios

Me faltó aclarar bien qué hace mi script: Primero escala todas las fotos al nuevo tamaño especificado y las va poniendo en la carpeta Escaladas. Después corre el deflicker y va poniendo todas las fotos con el brillo ajustado en otra carpeta llamada Deflickered. Por último hace el video con mencoder. No es gran cosa

 

El script de @@elmoyer lo que hace es tomar las fotos, gracias por el script!

Yo para tomar las fotos uso una GoPro o un celular Android (cuidado que se sobrecalienta fácil)

Compartir este post


Enlace al post
Compartir en otros sitios

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invitado
Responder en este tema...

×   Has incluido contenido con formato.   Eliminar formato

  Sólo se permiten 75 emoticonos como máximo.

×   Tu enlace ha sido insertado automáticamente.   Deshacer y mostrar como enlace

×   Su contenido anterior ha sido restaurado.   Limpiar editor

×   No puedes pegar imágenes directamente. Súbelas a algún hosting de imágenes y pega la dirección URL


×
×
  • Crear Nuevo...