GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Cómo hacer un video stop motion o time-lapse con cámara web?

Tengo una cámara web que funciona como un dispositivo v4l2.

¿Cuál es la forma más conveniente de capturar un video de stop-motion o de lapso de tiempo?

N.B.

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 (que 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 determinado.

Mejor respuesta

Captura de millones de imágenes.

El primer paso es capturar imágenes. Imaginemos que desea tomar una foto una vez cada 10 segundos y guardarla en un directorio que se encuentra en su escritorio

mkdir ~/Desktop/cap
cd ~/Desktop/cap

Usamos streamer para hacer la captura, así que vamos a instalarlo:

sudo apt-get install streamer

Y ahora queremos capturar

streamer -o 0000.jpeg -s 300x200 -j 100 -t 2000 -r 1

-t es el número de fotogramas que queremos capturar. -r es fotogramas 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ás ajustar esto apropiadamente dependiendo de la cantidad de video de salida que desees.

Esa línea te dará 2000 imágenes, te tomará media hora grabar y, a 30 fps, generará poco más de 1 minuto de video.

Poniéndolo todo junto

Voy a usar ffmpeg . Hay muchas formas diferentes de armarlo, incluido mencoder pero prefiero ffmpeg la perspectiva de la vida. Después de instalarlo (sudo apt-get install ffmpeg ) acaba de decir esto:

ffmpeg -r 30 -i %04d.jpeg -s hd480 -vcodec libx264 -vpre hq time-lapse.mp4

La configuración de calidad no se parece en nada a la de mi cámara web, por lo que es posible que desee jugar mucho más con las opciones para obtener una mejor codificación, pero eso debería generar un buen video de 30 fps, comprimido en x264.

Relacionado:¿Cómo eliminar un repositorio? ¿En Ubuntu?

Es posible que desee jugar con la velocidad de fotogramas (-r ) pero no iría por debajo de 15 fps.


Ubuntu
  1. ¿Cómo rotar un video?

  2. ¿Cómo hacer que la cámara web funcione con Ubuntu 14.04?

  3. ¿Cómo ver un archivo de video con una pista de audio Ac3 externa?

  4. ¿Cómo hacer que Cisco Webex funcione con 13.10 de 64 bits?

  5. ¿Cómo capturar desde HDMI con Ubuntu?

Cómo evitar que un paquete se actualice en ubuntu apt con apt-mark

Cómo instalar AlmaLinux 8.3 en 3 pasos (con consejos y video)

¿Cómo hacer que Update Manager deje de abrirse automáticamente?

¿Cómo hacer que el archivo de texto creado en Ubuntu sea compatible con el Bloc de notas de Windows?

Cómo hacer una solicitud POST con curl

¿Cómo escribir en una cámara web virtual en Linux?