Índice:
- Etapa 1: imagens de uma câmera IP
- Etapa 2: Captura de imagens - Método 1
- Etapa 3: Captura de imagens - Método 2
- Etapa 4: Copie as imagens para um PC com Windows
- Etapa 5: Criação do vídeo - Photolapse 3
- Etapa 6: Criando o Vídeo - VirtualDub
- Etapa 7: Conclusão
Vídeo: Como fazer um vídeo com lapso de tempo: 7 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-31 10:23
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
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
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
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
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
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:
Câmera de lapso de tempo usando a placa ESP32-CAM: 6 etapas
Câmera de lapso de tempo usando a placa ESP32-CAM: Este projeto se baseia no projeto anterior de câmera de imagem digital e construímos uma câmera de lapso de tempo usando a placa ESP32-CAM. Todas as imagens são salvas no cartão microSD em sequência e a placa vai dormir depois de tirar uma imagem para ajudar a salvar po
Raspberry Pi in the Wild! Lapso de tempo estendido com energia da bateria: 10 etapas (com fotos)
Raspberry Pi in the Wild! Timelapse estendido com energia da bateria: Motivação: Eu queria usar a câmera Raspberry Pi movida a bateria para tirar fotos uma vez por dia ao ar livre para criar vídeos com lapso de tempo de longo prazo. Minha aplicação particular é registrar o crescimento das plantas de cobertura do solo na próxima primavera e verão. Desafio: D
Câmera à prova d'água Raspberry Pi com DSLR Wifi para lapso de tempo: 3 etapas (com fotos)
À prova d'água Raspberry Pi Powered Wifi DSLR Webcam para lapsos de tempo: Eu sou um otário para assistir o pôr do sol de casa. Tanto que fico com um pouco de FOMO quando há um bom pôr do sol e não estou em casa para vê-lo. As webcams IP produziram uma qualidade de imagem decepcionante. Comecei a procurar maneiras de redirecionar minha primeira DSLR: uma Cano 2007
Equipamento de câmera de lapso de tempo: 6 etapas
Equipamento de câmera com lapso de tempo: meu equipamento com lapso de tempo usa um Pi de primeira geração + uma webcam USB muito barata + um suporte gratuito (bipé). Parte dos meus critérios de construção é reutilizar / aumentar o ciclo de coisas que já tenho, caso contrário, eu teria apenas comprado um módulo de câmera Pi e usado este projeto
Vídeo de lapso de tempo: 4 etapas
Vídeo de lapso de tempo: para ter um vídeo, tipo timelapse de forma rápida e rápida, vamos usar o novo telefone celular junto com as 3 aplicaciones que aparecen na imagem