Como posso combinar 30.000 imagens em um filme em timelapse?


69

Tirei 30.000 fotos que quero combinar em um filme em timelapse. Eu tentei o QuickTime Pro, TimeLapse 3 e Windows Movie Maker, mas com uma quantidade tão grande de imagens, cada um dos programas falha (tentei o SUPER ©, mas não consegui fazê-lo funcionar ...?). Parece que todos esses programas falham após alguns milhares de fotos.

As imagens que tenho estão todas no formato .JPG, com uma resolução de 1280x800, e estou procurando um programa que possa colocar essas imagens em um filme de timelapse em algum tipo de formato sem perdas (o AVI bruto / descompactado seria bom) para edição adicional. Alguém tem alguma idéia ou alguém tentou algo assim com um número semelhante de fotos?


você já tentou algo como o Adobe Premiere ou o Final Cut Pro?
Mahmoud Hossam

Você já tentou usar um codec de vídeo sem perdas como o HuffYUV?
Hydaral 23/02

jpeg está com perdas, então você já perdeu a qualidade, não pode recuperá-la.
CTRL-ALT-DELOR #

Respostas:


54

O Avidemux pode criar filmes a partir de várias imagens. http://fixounet.free.fr/avidemux/

Você também pode usar o mencoder, mas é um pouco mais difícil de usar, com todas as opções de linha de comando e tudo. Eu tenho usado isso:

mencoder mf://*.jpg -mf fps=xxx:type=jpg -ovc x264 -x264encopts bitrate=yyyy:threads=2 -o outputfile.mkv

eu uso

xxx = 25 and 
yyy = 1200

que produz vídeos que estão bem. Adicione músicas ao filme inserindo:

-oac copy -audiofile audiofile.mp3

2
ROCHAS de Avidemux! Inserção rápida de 33.000 imagens. Salvar rapidamente em AVI descompactado - e é dividido automaticamente em pedaços de 4 GB AVI. Mas todos eles são jogáveis!
Swift

2
+1 no Avidemux, eu fiz toneladas de edição de vídeo usando o MeGUI e nem sabia que existia uma alternativa tão boa!
Revelação

2
mencoder gera avi, independentemente do nome do arquivo de saída. Existem opções para gerar outros formatos, mas o código não funciona bem. A maneira recomendada é produzir h.264-in-avi e depois remux. Basta usar o ffmpeg. (ver resposta de Shenal Silva)
Peter Cordes

O mencoder é menos mantido / disponível do que em 2011. O equivalente em MPV:mpv mf://*.jpg --mf-fps=25 --ovc libx264 --ovcopts=bitrate=1200:threads=2 -o outputfile.mkv
Sam Brightman

O Avidemux retorna apenas no VLC reclamando "O VLC não suporta o formato de áudio ou vídeo" PNG ". Infelizmente, não há como corrigir isso."
Vallentin

39

Use FFmpeg .

Isso criará uma apresentação de slides de vídeo (usando o codec de vídeo libx264) a partir de uma série de imagens png, denominadas img001.png, img002.png, img003.png,…

Cada imagem terá a duração de 5 segundos, altere a variável de acordo com sua escolha.

ffmpeg -f image2 -r 1/5 -i img%03d.png -c:v libx264 -pix_fmt yuv420p out.mp4

Se suas imagens tiverem quatro dígitos, use %04detc. Se suas imagens não tiverem esse padrão, você poderá usar shell globs, pelo menos no Linux e OS X:

ffmpeg -f image2 -pattern_type glob -i 'time-lapse-files/*.JPG' …

Você também pode alterar a taxa de quadros da saída especificando outra -rapós a entrada.


8
Apenas uma nota de aviso: não pense que você pode ignorar a sintaxe printf do ffmpeg e apenas use * .jpg ou algo para padrões mais complexos. Ele realmente substituirá todos e cada um dos seus arquivos de imagem pelo primeiro! Eu mesmo tentei.
Christian

Eu estava lutando com isso também. Acontece que você pode fazer isso, mas precisa definir a bandeira do estilo glob. ffmpeg -pattern_type glob -i 'arquivos de lapso de tempo / *. JPG' time-lapse.mp4
arno_v 31/12/13

2
Você pode usar -frameratepara o formato de entrada image2. Eu recomendaria não definir fps de saída diferentes dos fps de entrada, a menos que você realmente queira que o ffmpeg solte ou duplique quadros. (a menos que esteja enviando para um contêiner como mkv, onde o ffmpeg suporta taxa de quadros variável.) Sim, apenas testado e você obtém quadros dup extras alimentados com x264, então defina o FPS da entrada, mas colocando -rou -framerateANTES-i .../stuff
Peter Cordes

2
Eu também recomendaria ffmpeg. Eu escrevi sobre isso aqui (mais detalhes sobre a preparação e argumentos): dsebastien.net/2015/01/25/simple-time-lapse-using-ffmpeg
dSebastien

cat *.jpg | ffmpeg -framerate 60 -f image2pipe -i - ~/output.mp4aqui é alternativa se você não tem -pattern_type globdisponível
vearutop 16/12/16

12

Se você fizer alguns cálculos básicos, verá que provavelmente está ficando sem memória se estiver tentando manter o filme descompactado.

Cada quadro tem 1.024.000 pixels. A 32 bits por pixel, são 32.768.000 bits (4.096.000 bytes ou 3,9 MB ).

Se multiplicarmos isso por 30.000 quadros, você precisará de 117187,5 MB ( 114,45 GB ) de memória para armazenar todo o filme na memória de uma só vez - não é de admirar que o QuickTime Pro esteja falhando.

Você pode tentar reduzir a resolução, mas isso ainda pode falhar.

Você precisará criar o filme em pedaços menores e depois juntar tudo. Eu esperaria que existem aplicativos que fazem isso sem carregar o filme inteiro na memória. O filme final também terá que ser compactado - novamente, pois ocuparia 114 GB no disco rígido. Afinal, um filme ocupa apenas um único DVD enquanto o filme dura 20 minutos (a 25 quadros por segundo).


3
AFAIK, não há nenhum programa de edição de vídeo no mundo que armazene qualquer clipe não compactado inteiramente na memória antes de analisar / salvar.
Break

@ Breakthrough ~ Mas como você o compõe em um clipe compactado?
jcolebrand

@ Breakthrough - isso provavelmente é verdade, mas o OP está querendo um filme não compactado.
22411 ChrisF

2
@ddrachenstern e @ChrisF - há uma diferença entre armazenamento imediato e armazenamento a longo prazo. Não existe um programa de edição de vídeo que armazene na memória toda a extensão dos dados de vídeo não compactados. Mesmo quando você percorre a visualização, ele recriará os dados do que foi armazenado no disco rígido a partir de várias fontes de mídia (e talvez um pouco mais para armazenamento em cache). Além disso, quando você finalmente "renderiza" um projeto, obtém a saída de vídeo completa (geralmente como um fluxo). A saída de vídeo completa pode ser salva como está (por exemplo, não compactada / RAW) ou transmitida para um codificador.
Break

11
Desculpe, quando fiz meu primeiro comentário, só queria salientar que o problema não é falta de memória. Eu também quis dizer que, embora um programa possa armazenar alguns dados de vídeo não compactados na memória (por exemplo, para visualização), ele nunca armazena todo o fluxo de vídeo (novamente, devido aos problemas que você trouxe à tona em sua resposta). É assim que esses programas são criados, portanto isso não deve ser um problema. Desculpe por qualquer má interpretação!
Break

11

Sim, eu sei que esse segmento tem mais de um ano. Eu tenho usado isso por mais de 2 anos e funciona muito bem com mais de 10.000 imagens:

1080p a 24fps, sem som

ls -1v | grep JPG > files.txt
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=21600000 -o windowsill_flowers_7.avi -mf type=jpeg:fps=24 mf://@files.txt -vf scale=1920:1080

4k a 90fps, sem som

ls -1v | grep JPG > files.txt
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=21600000 -o windowsill_flowers_7.avi -mf type=jpeg:fps=90 mf://@files.txt -vf scale=3840:2160

Eu tive que mexer muito com o codec antes de conseguir algo que o youtube reconheceria. Uma amostra usando o segundo bloco pode ser encontrada aqui: http://www.youtube.com/watch?v=4G_aaPG2QWk


11

Experimente o PhotoLapse ; uma revisão é dada em Lifehacker.com aqui .

insira a descrição da imagem aqui


11
Aqui está um vídeo mostrando esta ferramenta em ação: vimeo.com/1226517
Darokthar

Eu tive um erro de digitação. Eu já tentei o Photolapse, mas ele falha no processo de renderização. Se eu baixar para 10.000 imagens, ele conclui o arquivo AVI - mas o arquivo é inútil e não pode ser reproduzido.
Swift

@ Swift Entendo que você precisa que os arquivos estejam no tamanho original. Eu sempre agrupei imagens com pouca amostra usando o Irfanview antes de criar o timelapse avi. Espero que você encontre a solução que precisa!
21411 JYelton

O link para o Photolapse mostra sinais definidos de rigor mortis.
Timothy Lee Russell

@Timothy Link atualizado.
JYelton

8

Eu uso o Picasa do Google. É também um organizador de fotos muito bom na minha opinião. Aqui está como.

1) Arquivo> Adicionar pasta ao Picasa ...> adicione a pasta com suas fotos.

2) Clique com o botão direito do mouse na pasta adicionada no menu esquerdo 'Pastas' e> Selecionar todas as imagens

3) No menu superior> Criar> Vídeo> Da seleção ...

4) Agora você está no criador de vídeo> Guia Vídeo> Estilo de transição> Lapso de tempo

5) Você pode carregar uma faixa de áudio, alterar as dimensões (normalmente uso 1024x768), adicionar slides com texto na guia Slide ...

6) Video Maker> Guia Vídeo> Criar vídeo. Você pode entrar com sua conta do Google e enviá-lo para o YouTube aqui também.

De volta à biblioteca, você pode clicar com o botão direito do mouse> localizar no disco para ver onde o vídeo foi salvo. Outra coisa boa sobre o uso do Picasa é que você pode selecionar todas as fotos e ir para o menu superior Imagem> Edição em lote> Estou com sorte. Ele corrigirá o contraste e a cor de todas as fotos ao mesmo tempo.

Antes de criar o vídeo, você pode adicionar algum movimento ao seu lapso de tempo com http://motiontimelapser.co.nr/ Disclamer: Eu sou o autor.


Isso funcionou muito bem para mim com cerca de 2500 imagens tiradas com uma GoPro no modo burst. Se você já usa o Picasa, confira esta solução.
Lonstar

O Picasa foi criado para pastar.
Timothy Lee Russell

5

Há algum tempo, enfrentei um problema semelhante ao tentar criar um intervalo de tempo para criar um thon em um espaço de hackers local. Eu executo o OS X, então não tenho certeza de como é viável usá-lo no Windows, mas usei o MEncoder.

Este é o comando que eu usei no terminal:

mencoder mf://*.jpg -mf w=800:h=600:fps=5:type=jpg -ovc copy -oac copy -o buildmadison.avi

Há dois problemas com isso:

  1. É AVI.
  2. Tudo o que faz é reunir as imagens em um único arquivo sem compactação. Claro, é rápido como o diabo, e realmente funciona!

Depois, eu o executei em outro utilitário para convertê-lo em um formato decente.

MEncoder é parte do projeto MPlayer, localizado aqui: http://www.mplayerhq.hu/


4

Vejo que esta discussão é meio antiga, mas descobri que o MakeAVI é o melhor programa para mim!

Você pode baixá-lo aqui: http://sourceforge.net/projects/makeavi/?source=dlp

  • Tudo o que você precisa fazer é fazer o download e executar o executável dentro da pasta baixada (sem instalador).
  • Em seguida, para adicionar as imagens, basta pressionar o botão "Adicionar arquivos" no canto superior direito e selecionar as imagens que deseja compilar.
  • Depois de importadas, você pode usar os botões "Para cima" e "Para baixo", no lado esquerdo médio, para ajustar a ordem das fotos, caso elas não fiquem em ordem.
  • Em seguida, para ajustar a taxa de quadros das fotos compiladas, você pode alterar a caixa de texto dentro do quadro "Taxa de quadros de reprodução", no canto inferior direito, para a taxa de quadros desejada.
  • Como o programa ainda está na versão beta (0.1.1), algumas coisas não funcionam. Pressione o botão "Iniciar" e especifique o nome do arquivo desejado. Quando perguntar qual o tipo de compactação que você deseja, selecione o que você deseja, exceto os "Quadros completos (não compactados)" que não funcionaram para mim.
  • Depois que terminar de compilar o vídeo, assista ao vídeo e veja como ele está. Se o vídeo estiver em branco (sem duração), tente alterar as opções de compactação. (Foi o que aconteceu quando tentei "Quadros completos (não compactados)")

Não consegui usar nenhum dos outros métodos listados aqui para funcionar, e este funcionou para mim! Espero que funcione para você! :)


3

Você já experimentou o VirtualDub ?

Quando você abre uma imagem no virtualdub, ele solicita o carregamento de toda a sequência. A partir daí - ajuste a taxa de quadros, adicione alguns filtros (corte, nitidez), escolha um codificador e salve o vídeo.

Sugiro que você experimente primeiro um número menor de imagens e, se estiver satisfeito com o resultado, faça o lote inteiro.

Edit: Aqui está um tutorial simples sobre isso. Tudo o que você precisa fazer é encontrar um codec sem perdas adequado, como este: MSU Lossless Video Codec .


2

Testamos nosso software Time-Lapse Tool para gerar vídeo a partir de 100 mil imagens e funciona como um encanto. Todas essas imagens podem ser adicionadas de várias pastas, o que é útil para fotos da DSLR agrupadas por 10 mil imagens na pasta.


2

Se você estiver usando o Premiere Pro, basta colocar as imagens em uma pasta dedicada, verifique se estão numeradas em sequência e consecutivamente; em seguida, no Premiere Pro, clique com o botão direito do mouse na janela Projeto e escolha "Importar", selecione a primeira imagem e marque a caixa de seleção "Sequência de imagens". Ele puxará automaticamente todas as imagens como uma sequência chamada thefirstimageName.jpg, mas com um ícone de "pilha" de imagens. É isso, mais ou menos. Arraste-o para uma Sequência, em seguida, renderize-o (Exportar -> Mídia) como 1080p e importe a exportação como um novo videoclipe. Eu recomendo exportá-lo e reimportá-lo como um clipe, porque é conhecido que o Premiere Pro e o Media Encoder ficam travados com imagens de alta resolução se você mexer com cortes e alterações de velocidade, portanto, exportando as imagens de alta resolução para 1080p, comprometendo a qualidade, restaura a estabilidade.


1

Apenas por diversão, aqui está outra maneira (não, claramente NÃO estou tentando refinar meu próprio processo.) Acontece que nada no Windows deseja editar a saída que o mencoder produz a partir da minha outra resposta. Esta é uma versão mais amigável para edição usando ffmpeg:

1080p@90fps, no sound, IMG_00000.JPG - IMG_99999.JPG
    ffmpeg -r 90 -i IMG_%05d.JPG -vcodec libx264 -vpre medium -crf 22 -threads 0 -vf scale=1920:-1 -r 15 -metadata title="foo"

0

Eu tinha que fazer algo assim antes. Consegui fazê-lo no quicktime pro, com 500 quadros por vez. Eu os salvava como um filme individual e depois passava para o próximo. Depois, combinaria todos os 500 segmentos de quadros na coisa final.


Uma espécie de imitação para um software "profissional"!
Swift

0

Eu também votaria no Virtualdub (já fiz essa operação, não me lembro se eram tantos). Também é fácil posteriormente remover os quadros que você não deseja etc. Talvez você possa tentar usar um formato de vídeo sem perdas para renderizar e armazenar, como o codec camstudio . Por um intervalo de tempo ... talvez também seja ok codec techsmith (TSCC), mas isso funciona apenas se você tiver adquirido (ou obtido uma versão antiga de uma revista) o Camtasia, pois instala a versão de codificação do codec. Faz vídeos realmente pequenos. E provavelmente é apropriado por um lapso de tempo.


0

Outro programa que você pode usar é o Time Lapse MovieMonkey

Ele fez o trabalho de criar meu último filme de lapso de tempo realmente muito, muito rápido. E não precisei ler as instruções. É simples e intuitivo, mas tem configurações avançadas suficientes. E é grátis.

O autor diz que foi testado com 50.000 fotos.


O link faleceu.
Timothy Lee Russell

0

Recebo bons resultados usando o Picasa ou o GoPro-studio .

Estou ocupado com um vídeo para me escrever uma prancha de surf usando essas ferramentas. Um trabalho em andamento foi postado no meu perfil no YouTube (pesquise "Surfbordbou" - ainda não tenho permissão para mais de 2 links por postagem)

O criador de filmes do Picasa é realmente fácil de usar, são 2 cliques e você tem o tempo decorrido de um conjunto de fotos selecionadas.


Bem vindo ao site. Quando você diz que está obtendo bons resultados, está executando o mesmo tipo de tarefa e trabalhando com uma quantidade de imagens na ordem de magnitude que a da pergunta? Esse é um ponto-chave e você deve discuti-lo em sua resposta. Se a resposta for sim, descreva-a e você terá uma resposta vencedora. Caso contrário, é uma informação útil, mas não é uma ótima resposta para esta pergunta. Nesse caso, exclua esta resposta, faça uma nova pergunta sobre como executar sua tarefa e, em seguida, responda sua própria pergunta com sua solução. Essa seria outra combinação vencedora.
fixer1234
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.