Tengo una cámara web que funciona como un dispositivo v4l2.
¿Cuál es la forma más conveniente de capturar un video stop-motion o time-lapse ?
nótese bien
stop-motion y time-lapse están relacionados pero son conceptualmente diferentes.
Time-lapse es donde tomas una foto de una escena en un intervalo establecido y luego la combinas en un video (parece que va muy rápido).
Stop-motion es donde controlas la escena y tomas una imagen para cada cambio que haces, para formar una animación (por ejemplo, Wallace y Grommit).
Una aplicación de lapso de tiempo debe poder tomar una foto en un intervalo establecido.
software-recommendation
video
webcam
Seppo Erviälä
fuente
fuente
Respuestas:
Capturando un trillón de imágenes.
El primer paso es capturar imágenes. Imaginemos que desea tomar una foto cada 10 segundos y guardarla en un directorio ubicado en su escritorio
Utilizamos
streamer
para hacer la captura, así que vamos a instalarlo:Y ahora queremos capturar
-t
es la cantidad de cuadros que queremos capturar.-r
es cuadros por segundo. Entonces esto debería tomar un cuadro cada segundo. Si comprime eso en un video de 30 fps, un minuto de captura se convierte en 2 segundos de video. Querrá ajustar esto de manera apropiada dependiendo de la cantidad de video de salida que desee.Esa línea le dará 2000 imágenes, tomará media hora para grabar y, a 30 fps, generará poco más de 1 minuto de video.
Poniendolo todo junto
Voy a utilizar
ffmpeg
. Hay muchas maneras diferentes de armarlo, incluyendo,mencoder
pero prefieroffmpeg
la perspectiva de la vida. Después de instalarlo (sudo apt-get install ffmpeg
) simplemente cuelgue esto:La configuración de calidad no es similar a la de mi cámara web, por lo que es posible que desee jugar con las opciones mucho más para obtener una mejor codificación, pero eso debería generar un buen video de 30 fps, comprimido en x264.
Es posible que desee jugar con el framerate (
-r
) pero no iría por debajo de 15 fps.fuente
-r 0.1
.man streamer
no describe lo que hace cada parámetro. ¿Dónde puedo obtener información sobre elj
parámetro? ¿Cómo podría hacer que capture hasta que presione CTRL + C, con FPS dado?ffmpeg
ya no funciona para mí. ¿Qué debo usar?streamer -h
es mucho más completo. Odio cuando los desarrolladores se esfuerzan mucho--help
pero nada para la página del manual.Para capturar cada X cantidad de segundos desde una cámara web, use el movimiento.
Instalar
motion
sudo apt-get install motion
osudo aptitude install motion
Configure el movimiento por cada X cantidad de segundos
sudo nano /etc/motion/motion.conf
Cambie las variables minimum_frame_time y snapshot_interval a la misma cantidad de segundos que desea tomar la foto con la cámara web.
10 minutos = 600 segundos
20 minutos = 1200 segundos
30 minutos = 1800 segundos
1 hora = 3600 segundos
2 horas = 7200 segundos y así sucesivamente ...
ejecutar movimiento con
sudo motion
detenerlo con CTRL+CNOTA - Configure motion.conf para guardar los archivos en otro directorio que no sea el predeterminado / tmp. Por ejemplo, su carpeta de inicio. Dado que ir a / tmp necesita más privilegios. También encontrará muchas opciones útiles en motion.conf para muchas otras cosas que le pueden gustar.
fuente
gTimelapse ( Enlace de descarga )
Compilar instrucciones
Descargue la fuente del sitio web sourceforge
en una terminal escriba lo siguiente:
Para ejecutar el tipo de aplicación
nb 1
nb 2
mira este blog para más información útil
enumera todos los dispositivos compatibles que admite la aplicación
nb 3
He leído que gphoto2 no es compatible con cámaras web; dejaré esta respuesta visible de todos modos, en caso de que alguien quiera probar esta respuesta con una cámara digital decente en lugar de una cámara web.
fuente
He usado Stopmotion para hacer esto, está en el centro de software. También puede capturar con Cheese, pero debe modificar la configuración de Cheese para aumentar el número máximo de imágenes. Me resultó más fácil usar Stopmotion para todo el proceso.
fuente
La mejor y más fácil forma de hacerlo es instalando Motion . Es un software de vigilancia a gran escala para sistemas operativos basados en Linux.
fuente
De esta edición por un usuario anónimo.
fuente
Debería poder configurar el movimiento (en motion.conf) para transmitir; de forma predeterminada, transmite en el puerto 8081. Todo lo que tiene que hacer para obtener su espejo retrovisor es abrir VLC, "Abrir flujo de red" y apúntelo en http: // localhost: 8081 .
fuente
Camorama es un visor / grabador de cámara web que he utilizado para tomar fotos, a intervalos de 1 minuto y subirlas a un servidor web, desde mi cámara web; Es una configuración sencilla. También está disponible en el Centro de software de Ubuntu o puede instalarlo usando:
Espero que esto ayude.
fuente