Como fazer um vídeo de Stop Motion ou Time-lapse com webcam?

26

Eu tenho uma webcam que funciona como um dispositivo v4l2.

Qual é a maneira mais conveniente de capturar um vídeo em stop motion ou time-lapse ?

N.B.

stop-motion e time-lapse são relacionados, mas conceitualmente diferentes.

O lapso de tempo é onde você tira uma foto de uma cena em um intervalo definido e depois a combina em um vídeo (parece que está indo muito rápido).

Stop-motion é onde você controla a cena e tira uma imagem para cada mudança que você faz, para formar uma animação (por exemplo, Wallace e Grommit).

Um pedido de lapso de tempo precisa ser capaz de tirar uma foto em um intervalo definido.

    
por Seppo Erviälä 24.06.2011 / 13:32

7 respostas

37

Capturando zilhões de imagens.

O primeiro passo é capturar imagens. Vamos imaginar que você queira tirar uma foto a cada 10 segundos e salvá-la em um diretório na sua área de trabalho

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

Usamos streamer para fazer a captura, então vamos instalá-lo:

sudo apt-get install streamer

E agora queremos capturar

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

-t é o número de quadros que queremos capturar. -r é quadros por segundo. Então, isso deve pegar um quadro a cada segundo. Se você compactar isso em um vídeo de 30 fps, um minuto de captura se torna 2 segundos de vídeo. Você vai querer ajustar isso apropriadamente, dependendo da quantidade de vídeo que você deseja.

Essa linha lhe dará 2000 imagens, levará meia hora para gravar e, a 30fps, gerará pouco mais de 1 minuto de vídeo.

Colocando tudo junto

Vou usar ffmpeg . Há muitas maneiras diferentes de juntá-las, incluindo mencoder , mas eu prefiro apenas a perspectiva da vida de ffmpeg . Depois de instalá-lo ( sudo apt-get install ffmpeg ), acabe com isso:

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

As configurações de qualidade não são nada parecidas com a minha webcam, então você pode querer brincar com as opções muito mais para obter uma codificação melhor, mas isso deve gerar um vídeo de 30fps, compactado em x264.

Você pode querer brincar com a taxa de quadros ( -r ), mas eu não ficaria abaixo de 15fps.

    
por Oli 24.06.2011 / 15:01
8

Para capturar a cada X segundos de uma webcam, use o movimento.

Instale motion

sudo apt-get install motion ou sudo aptitude install motion

Configure o movimento para cada quantidade de segundos X

sudo nano /etc/motion/motion.conf

Altere as variáveis minimum_frame_time e snapshot_interval para a mesma quantidade de segundos que você deseja tirar a foto com a webcam.

10 Minutos = 600 Segundos
20 minutos = 1200 segundos 30 minutos = 1800 segundos 1 hora = 3600 segundos
2 horas = 7200 segundos e assim por diante ...

execute o movimento com sudo motion pare com CTRL + C

NOTA - Configure o arquivo motion.conf para salvar os arquivos em outro diretório além do padrão / tmp. Por exemplo, sua pasta pessoal. Como ir ao / tmp precisa de mais privilégios. Você também encontrará muitas opções úteis no motion.conf para muitas outras coisas que você pode gostar.

    
por Luis Alvarado 06.04.2011 / 16:34
7

gTimelapse ( Link para Download )

  

Um aplicativo para capturar imagens para gerar vídeos de lapso de tempo, criado nas bibliotecas gPhoto2 e wxWidgets.

Instruções de compilação

Faça o download da fonte no site do sourceforge

em um terminal digite o seguinte:

cd Downloads 
gunzip gtimelapse-0.1.tar.gz
tar -xvf gtimelapse-0.1.tar
cd gtimelapse
sudo apt-get install build-essential libgphoto2-2-dev libwxbase2.8-dev libwxgtk2.8-dev gphoto2
./configure
make
sudo make install

Para executar o tipo de aplicativo

gtimelapse &

n.b. 1

gphoto2 --list-cameras | more

n.b. 2

veja este blog para mais informações úteis

lista todos os dispositivos compatíveis que o aplicativo suporta

n.b. 3

Eu li que o gphoto2 não suporta webcams - deixarei esta resposta visível de qualquer forma caso alguém queira tentar esta resposta com uma câmera digital decente em vez de uma webcam.

    
por fossfreedom 24.06.2011 / 15:14
1

Eu usei o Stopmotion para fazer isso, está no centro de software. Você também pode capturar com Cheese, mas você precisa alterar a configuração do Cheese para aumentar o número máximo de imagens. Eu achei mais fácil usar apenas o Stopmotion para todo o processo.

    
por Tom Brossman 24.06.2011 / 13:51
1

A melhor e mais fácil maneira de fazer isso é instalando Motion . É um software de vigilância em larga escala para sistemas operacionais baseados em Linux.

    
por Vesa 17.09.2012 / 12:31
0

Você deve ser capaz de configurar o movimento (em motion.conf) para transmitir - por padrão ele transmite na porta 8081. Tudo o que você precisa fazer para obter o seu espelho de 'visão traseira' é abrir o VLC, "Open Network Stream "e aponte para o link .

    
por Derek 30.05.2011 / 17:41
0

O Camorama é um visualizador / gravador de webcam que eu usei para tirar fotos, em intervalos de 1 minuto e enviá-las para um servidor da web, da minha webcam; é uma configuração simples. Também está disponível no Ubuntu Software Center ou você pode instalá-lo usando:

sudo apt-get install camorama

Espero que isso ajude.

    
por kicsyromy 30.05.2011 / 18:50