Índice:

Como fazer um vídeo com lapso de tempo: 7 etapas
Como fazer um vídeo com lapso de tempo: 7 etapas

Vídeo: Como fazer um vídeo com lapso de tempo: 7 etapas

Vídeo: Como fazer um vídeo com lapso de tempo: 7 etapas
Vídeo: Como acelerar/desacelerar um vídeo pelo CapCut (tutorial simplificado) 2024, Novembro
Anonim
Image
Image

Neste Instructable, detalharei as etapas que utilizo para fazer um vídeo de lapso de tempo. O sistema e o hardware que utilizo para obter as imagens é um computador Linux e uma câmera IP baseada em rede. Um script é executado no computador Linux e a cada x segundos controla a câmera IP, pega uma imagem, redimensiona, marca a hora e a data e salva no disco rígido do computador. Para criar o vídeo a partir das imagens, irei cobrir dois aplicativos freeware diferentes em um PC com Windows e ver o uso do Linux como uma opção.

Ao obter imagens, você precisa descobrir o tempo entre cada imagem, ou quantas imagens por hora ou dia você precisará para criar um vídeo que tenha uma boa aparência e não seja muito longo ou curto.

No caso do meu vídeo de gelo. Eu peguei uma imagem a cada 20 segundos, logo antes do nascer do sol no primeiro dia e fui direto para o pôr do sol no dia seguinte. Eu removi a maioria das imagens noturnas antes de processá-las no vídeo, mas decidi manter um "nascer da lua"

Isso me deixa com cerca de 4. 430 imagens. Se eu produzir o vídeo usando 25 quadros por segundo, a duração será:

4, 430/25 = 177,2 segundos de duração. 177,2 segundos é quase 3 minutos.

Se você deseja capturar algo como uma casa sendo construída, a cada 3 a 5 minutos seria um bom ponto de partida.

Dependendo de quantas vezes e por quanto tempo preciso capturar imagens, uso um para dois métodos diferentes.

Etapa 1: imagens de uma câmera IP

Imagens de uma câmera IP
Imagens de uma câmera IP

A maioria das câmeras IP usadas em vigilância por vídeo ou para webcams de movimento total permitem que você visualize uma imagem em-j.webp

"https:///snap.jpg"

Para uma câmera Planet:

"https:///image.cgi? resolution = 1920x1080"

Você precisará pesquisar no Google o url a ser usado para sua marca de câmera.

Ambas as imagens da Ubiquiti e do planeta que eu capturei têm tamanho 1920x1080 (padrão para cada câmera, pois são câmeras 1080). Com este tamanho, você acaba com uma grande quantidade de dados e um enorme arquivo de vídeo. Gosto de redimensionar a imagem conforme a agarro e gravo no disco e mostrarei essa etapa em meu script. Eu uso o convert, que faz parte das ferramentas ImageMagick.

Etapa 2: Captura de imagens - Método 1

Capturando Imagens - Método 1
Capturando Imagens - Método 1
Capturando Imagens - Método 1
Capturando Imagens - Método 1

Eu uso esse método para capturar eventos mais curtos, como gelo. Você pode usar este método para capturar algo como um movimento e configuração de um evento - algo que leva algumas horas ou 1 ou 2 dias e onde você pode remover quaisquer imagens indesejadas, como noite, manualmente antes de processar em um vídeo

No Linux, um script para minha câmera Ubiquiti se parece com este:

#! / bin / bash

# vá para a pasta correta

cd / home / steve / iceoff

# Ubiquiti - câmera ubnt

URL = "https://192.168.2.114/snap.jpg"

# onde escrever imagens

ubnt_dir = / home / steve / iceoff / ubnt

# atraso entre imagens

atraso = 20

# o laço

enquanto verdadeiro fazer

# use a hora / data para carimbar o nome do arquivo - isso precisa estar na seção de loop

agora = $ (/ bin / data '+% Y% m% d% H% M% S')

# pegue a imagem e escreva-a como ubnt.jpg

/ usr / bin / wget -q -O "$ ubnt_dir / ubnt.jpg" -t 1 $ URL

# redimensione a imagem ubnt-j.webp

converter -geometria 1024x "$ ubnt_dir / ubnt.jpg" "$ ubnt_dir / $ {now}.jpg"

# sleep para o tempo de atraso e depois obtenha outra imagem

/ bin / sleep "$ atraso"

feito

O que o script faz:

definir um URL variável para onde a imagem está na rede / câmera

defina a variável ubnt_dir para onde queremos salvar as imagens (você precisará criar o diretório antes de executar o script)

defina o atraso variável para quantos segundos entre as imagens - isso torna mais fácil alterar o tempo entre as imagens, basta alterar esta variável e executar novamente o script

inicie um loop com while true do - este loop deve continuar até você parar o script com um ctrl-c

defina a variável agora como o ano, mês, dia, hora, segundo

16 de fevereiro de 2019 às 8 minutos e 29 segundos após as 13h seria semelhante a 20190216130829

use o wget para pegar uma imagem do URL e escrever como ubnt-j.webp

converta a imagem ubnt-j.webp

dormir pelo número de segundos na variável de atraso

volte e comece na etapa while true do

Para executar esse script, eu logo na minha conta e o executo no terminal - isso é bom para capturar algo como o gelo de um lago - é feito em um ou dois dias e preciso de uma imagem a cada 20 segundos.

Etapa 3: Captura de imagens - Método 2

Capturando imagens - Método 2
Capturando imagens - Método 2

Para lapsos de tempo mais longos, como a construção de um edifício ou um projeto de lapso de um ano, uso uma forma diferente de capturar imagens. Para isso eu uso o cron.

Cron é um utilitário que executa um comando uma vez a cada x minutos, horas, dias ou meses. Assim, você pode ajustar quando o comando é executado por minuto, hora, dia, dia do mês, etc. Um usuário em um sistema Linux pode ter seu próprio cron job e ele é mantido em seu arquivo crontab.

Por um lapso de tempo que vai de meses, onde obtenho uma imagem a cada X minutos, uso um cron job e um script ligeiramente diferente, pois não requer um loop (enquanto true do e done), pois o cron chamará o script a cada Número X minutos.

Você não só pode usá-lo para executar o script a cada X minutos, mas também pode restringi-lo para ser executado entre certas horas, para que não precise remover muitas imagens noturnas. Conforme a temporada e o horário de verão mudam, eu mudo meu cron job para refleti-lo.

Para criar um cron job, faça login em seu servidor Linux e execute: crontab -e Isso iniciará uma edição de seu crontab. Meu arquivo crontab tem uma linha como esta:

* / 5 4-23 * * * /home/steve/timelapse/get.ubnt> / dev / null 2> & 1

O * / 5 significa execução a cada 5 minutos

O 4-23 significa operá-lo das 4h às 23h (isso muda com a temporada para mim)

O primeiro * significa executá-lo todos os dias do mês

O segundo * significa executá-lo todos os meses do ano

O terceiro * significa executá-lo todos os dias da semana

/home/steve/timelapse/get.ubnt é o nome do script executado

/ dev / null 2> & 1 significa colocar a saída padrão em nulo e quaisquer erros em nulo - se você não tiver isso, você receberá um e-mail cada vez que o cron job for executado.

Meu script /usr/steve/timelapse/get.ubnt se parece com isto:

#! / bin / bash

cd / home / steve / timelapse

URL = "https://192.168.2.114/snap.jpg"

agora = $ (/ bin / data '+% Y% m% d% H% M% S')

/ usr / bin / wget -q -O ubnt-j.webp

convert -geometry 1024x ubnt-j.webp" />

O que este script faz:

mude para / home / steve / timelapse

definir um URL variável para onde a imagem está na rede / câmera

defina a variável agora para ano, mês, dia, hora, minuto, segundo (para que possamos carimbar a hora / data na imagem-j.webp

pegue a imagem do URL e escreva em ubnt.jpg

redimensione a imagem para 1024 pixels de largura mantendo a proporção correta e grave o arquivo como um carimbo de data / hora.

Como com o método / script anterior, ele tornará os nomes dos arquivos sequenciais e nos permitirá criar o vídeo com os quadros na sequência correta. Depois de alguns dias com as imagens, irei copiá-las para uma pasta no meu PC com Windows para criar o arquivo de vídeo. Eu normalmente uso ftp para obter os arquivos no PC com Windows, pois eles estão na mesma rede e o login / senha sendo um texto não criptografado não é visível na Internet.

Etapa 4: Copie as imagens para um PC com Windows

Para copiar as imagens do sistema Linux para um PC com Windows para processamento em um vídeo, eu uso o FTP.

O programa do Windows que uso para isso é o FileZilla Client. Você pode usar qualquer cliente de ftp de sua preferência, até mesmo a versão de linha de comando do Windows.

Se você sabe o que está fazendo, também pode usar Samba ou NFS e fazer com que os arquivos do Linux apareçam como uma pasta no Windows.

Etapa 5: Criação do vídeo - Photolapse 3

Criação do vídeo - Photolapse 3
Criação do vídeo - Photolapse 3
Criação do vídeo - Photolapse 3
Criação do vídeo - Photolapse 3
Criação do vídeo - Photolapse 3
Criação do vídeo - Photolapse 3

Agora que temos as imagens, precisamos juntá-las para criar um arquivo de vídeo.

Existem muitos programas que você pode usar para fazer isso e você pode querer experimentar diferentes programas.

No entanto, para um número relativamente pequeno de imagens como as que capturei durante um ou dois dias sem gelo, uso o programa do Windows Photolapse 3 - que infelizmente não está mais sendo atualizado e não consigo mais encontrar o site original para ele. No entanto, ele está disponível em vários sites de "download". Uma rápida pesquisa no google deve bastar.

O que é / era bom sobre este programa é que ele é um único binário, então não há instalação. Basta baixar o binário e executá-lo. A desvantagem é que ele não processa um grande número de arquivos. Por enorme, quero dizer provavelmente 20 mil ou mais, mas para algo como meu vídeo de gelo com aproximadamente 5.000 imagens está tudo bem.

Você inicia o programa, na caixa superior esquerda detalha ou descobre onde suas imagens estão armazenadas e, em seguida, insere o número de quadros por segundo (um número menor fará com que o vídeo apareça em câmera lenta). Em seguida, clique no botão "Carregar arquivos da pasta atual"

O Photolapse irá carregar e visualizar cada quadro e você terá uma ideia de como será a aparência do vídeo.

Quando terminar de processar toda a pasta, clique no botão "Criar Filme", altere o nome do arquivo se desejar e clique em "Salvar".

Em seguida, você precisa escolher um método de compactação para o vídeo ou deixá-lo descompactado. Eu uso o "Microsoft Video 1". Tudo o que resta é clicar em "OK"

Embora você precise passar por todas as etapas novamente para escolher um método de compactação ou codec diferente, vale a pena tentar configurações diferentes aqui se precisar do vídeo compactado.

As imagens que usei para as capturas de tela nesta etapa foram algumas das imagens originais do gelo. Usei 1191 imagens de 1024x576 pixels. Eles ocuparam aproximadamente 110 MB de espaço em disco. O vídeo compactado tinha 235 MB de tamanho e o descompactado tinha 1,96 GB

Etapa 6: Criando o Vídeo - VirtualDub

Criação do vídeo - VirtualDub
Criação do vídeo - VirtualDub
Criação do vídeo - VirtualDub
Criação do vídeo - VirtualDub
Criação do vídeo - VirtualDub
Criação do vídeo - VirtualDub

O outro programa que usei é o VirtualDub

Baixe os arquivos zip aqui. Existe uma versão de 32 bits e 64 bits

Descompacte os arquivos em sua própria pasta.

Uma das coisas que você precisará fazer com suas imagens é renumerá-las sequencialmente. Usar os nomes de arquivo de carimbo de data / hora como meus scripts criam não funcionará com o VirtualDub. Existem algumas maneiras de renumerar os arquivos:

Primeiro, faça um backup de seus arquivos, depois outro backup. Em seguida, usando a segunda cópia:

Abra a pasta com as imagens, mude a visualização para "detalhes", destaque o primeiro arquivo da lista, pressione ctrl-a para selecionar todos os arquivos, clique com o botão direito e selecione "renomear". Mude o nome do arquivo para 1 e pressione Enter.

Isso processará a lista de arquivos e acrescentará (1).jpg, depois (2)-j.webp

A segunda maneira é usar um programa chamado Irfanview. Possui um modo de lote onde você pode renomear os arquivos sequencialmente como 1.jpg, 2.jpg, 3-j.webp

Assim que os arquivos forem renomeados, inicie o VirtualDub, clique em "arquivo" e depois em "abrir arquivo de vídeo". Selecione o primeiro-j.webp

Clique em "Vídeo" e depois em "Taxa de quadros", altere para 30 (ou qualquer taxa de quadros que você queira tentar)

Clique em "Vídeo" e depois em "Compressão" - como no photolapse 3, usei "Microsoft video 1"

Para iniciar o processamento das imagens clique em "Arquivo" e depois em "Salvar como AVI". Nomeie o arquivo e clique em "Salvar"

Isso iniciará o processamento e mostrará quanto tempo levará.

Embora haja mais etapas no uso do VirtualDub, ele processará mais arquivos do que o fotolapso 3.

Fiz um lapso de tempo com mais de 88.000 imagens usando o VirtualDub.

Etapa 7: Conclusão

Para ver os vídeos de lapso de tempo, você pode usar um programa como o VLC ou o reprodutor de mídia do próprio Windows.

Existem muitas, muitas maneiras de capturar imagens e fazer um lapso de tempo.

Se você tiver uma câmera canon, existe um CHDK de firmware de terceiros para alguns modelos, que permitirá que você use a câmera no modo intervalômetro e tire uma foto a cada x segundos.

Muitos experimentos! Espero que você tenha achado este Instructable interessante e se você fizer um lapso de tempo, certifique-se de deixar um link para ele nos comentários.

Recomendado: