Quero criar um lapso de tempo a partir de uma coleção de imagens no Ubuntu. Gostaria de fazer vídeos em HD e, idealmente, adicionar uma trilha sonora.

Comentários

  • Não tenho ' não vi isso. Posso excluir esta pergunta e postar minha resposta lá. Tudo bem?
  • Não tenho certeza se este é o melhor site de troca de pilha para isso. Só quero compartilhar o que fez.
  • Há uma pergunta semelhante em askubuntu.com . As respostas estão principalmente cobertas aqui no momento da escrita, mas isso pode mudança no futuro, é claro.

Resposta

Ffmpeg fará isso. Se você tiver imagens img001.jpg, img002.jpg, img003.jpg, ... então na linha de comando faça:

ffmpeg -i img*.jpg output.mpeg

Existem mais opções fornecidas em ffmpeg --help ou páginas de manual, ou a web. Elas permitem controle sobre a taxa de quadros e o formato de saída.

Comentários

  • Usar isso gera um erro para mim, pois considera o último .jpg arquivos como arquivo de saída. Recebo File 'DSCF6134.JPG' already exists. Overwrite ? [y/N] – não muito bem. Minha solução foi gerar uma lista de arquivos com \ls *.JPG | sed "s/^/file '/;s/$/'/" > files.txt e carregá-la com ffmpeg -f concat -i files.txt output.mpeg.
  • Com outras versões do ffmpeg a versão a seguir funciona sem tentar substituir imagens: ffmpeg -pattern_type glob -i "picture*.jpg" output.mpeg

Resposta

Primeiro, renomeamos todos os arquivos * .JPG com base na data de criação. Às vezes, as câmeras mudam o nome do arquivo ou simplesmente ordená-los não é o que queremos. No entanto, renomeá-los pela data de criação sempre funciona:

jhead -n%Y%m%d-%H%M%S *.JPG 

Depois disso, colocamos esta lista em um arquivo:

ls -1tr | grep -v files.txt > files.txt 

E então use mencoder para criar um AVI vídeo usando 20 fps. Observe que isso irá gerar um arquivo de vídeo enorme, geralmente com o mesmo tamanho de todas as fotos somadas.

mencoder -nosound -noskip -oac copy -ovc copy -o output.avi -mf fps=20 "mf://@files.txt" 

Normalmente tiro fotos para lapso de tempo com a resolução mais baixa da minha câmera (5 MP), que tem uma proporção aspec de 4: 3. Para gerar um vídeo 1080p adequado, a imagem é primeiro recortada para 1920 pixels de largura e, em seguida, recorte-a para 1080 de altura. Dessa forma, não vou alterar o conteúdo das fotos, apenas recortar:

ffmpeg -i output.avi -y -sameq -vf scale=1920:1440,crop=1920:1080 output-final.avi 

A razão de usar o mencoder para colocar as fotos juntas é porque tenho um segmentation fault com ffmpeg.

Comentários

  • Para o segfault, seria útil saber sua versão do ffmpeg.
  • Se, como eu, você filmou em 3: 2 (minhas fotos D750 são 6016×4016) e precisa em 16: 9 (para vídeo 4k) 3840×2160, você pode usar FFMPEG para Pillerbox no vídeo e preencher linhas de bonde pretas em os lados com este comando – ffmpeg -i output.avi -qscale 0 -vf " scale = 3840: 2160: force_original_aspect_ratio = diminuir, pad = 3840: 2160: (ow-iw) / 2: (oh-ih) / 2 " output-final.avi – O vídeo será maior, mas sem perda de qualidade, pois está diminuindo
  • em seu ffmpeg comando, -sameq opção agora foi substituída por -qscale 0

Resposta

Blender é uma boa solução se você estiver lidando com lapso de tempo de movimento (hiperlapse) ou filmagem instável. Ele possui recursos de rastreamento de movimento para que você possa escolher um ponto fixo para rastrear durante o lapso de tempo. Você também pode corrigir problemas de rotação.

Resposta

Você também pode estar interessado no projeto timelapse-darktable . Facilita o pós-processamento de imagens com darktable e faz um lapso de tempo da série. As instruções de como usá-lo podem ser encontradas aqui: https://code.google.com/p/timelapse-darktable/wiki/generateTimelapse

Resposta

Você pode usar o mencoder. As opções são bastante explícitas:

  • liste todos os seus arquivos de imagens.

Se todos eles estiverem no diretório atual com nomes ordenados e você quiser a lista no arquivo /tmp/files.txt:

ls -1 *jpg > /tmp/files.txt

  • Use o mencoder com a opção apropriada.

Se você deseja que o arquivo de saída seja /tmp/test.avi com 30fps :

mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4 -o /tmp/test.avi -mf type=jpeg:fps=30 mf://@/tmp/files.txt

Resposta

Kdenlive também pode gerar intervalos de tempo usando o menu Add Slideshow Clip, conforme explicado em este tutorial .

De acordo com o mesmo site , Openshot tem uma funcionalidade semelhante, mas não a recomenda porque é “muito problemática”. Ainda assim, se for o seu editor de vídeo preferido, você ficará feliz em saber que pode simplesmente arrastar e soltar uma sequência de nome apropriado (001.jpg para NNN.jpg) arquivos em uma janela Openshot para importá-los como um lapso de tempo também.

Comentários

  • Esse guia é de 2014. OpenShot provou muito nos últimos anos, agora é muito mais confiável.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *