Questão Como transformar imagens em uma apresentação de slides de vídeo com som


Eu tenho um arquivo MP3 de 65 minutos e 14 imagens diferentes (uma apresentação de slides).

Como combiná-los em um arquivo de vídeo com menos de 500 MB?

Existe algum software gratuito / opensource / trial para o Windows 7 que pode tirar 14 imagens e 65 min de MP3 a 320kbs, e transformá-lo em um arquivo AVI com 500 MB no máximo (para uma conta básica do Vimeo)?


4


origem


Isso significa 3900 segundos para 14 imagens, o que equivale a cada imagem mostrada por 278 segundos. Ou você quer fazer um loop e mostrá-los a cada 2 segundos, por exemplo? - slhck
Obrigado por editar. E desculpe, eu deveria explicar melhor: arquivo MP3 é na verdade uma mistura de 14 músicas. Vários tamanhos, de modo que as imagens acompanhem as músicas (a imagem muda quando a música termina). - enloz
No lado da compactação, lembre-se de como a compactação funciona ao tentar manter a "animação" do vídeo reduzida (e a compactação inferior). qualquer coisa que mude TODOS os pixels (dissolve, move, desliza, efeitos de zoom) leva muitos dados (não comprime) efeitos que mudam menos pixels (cortes, toalhetes sem movimento, toalhetes de padrão) A compressão só tem que mudar os pixels que mudam entre quadros. - Psycogeek


Respostas:


Isso é para o FFmpeg (Veja aqui para as versões do Windows).

Primeiro, prepare suas imagens para que elas sejam nomeadas image-001.jpg, image-002.jpget cetera. Coloque-os em uma pasta.

Agora, use o seguinte comando:

ffmpeg -y -loop 1 -f image2 -r 0.5 -i image-%03d.jpg -s:v 1280x720 -b:v 1M \
       -i soundtrack.mp3 -t 01:05:00 -map 0:0 -map 1:0 out.avi

Você pode, claro, alterar os parâmetros. Aqui está uma explicação do que eles fazem:

  • -loop_input - faz um loop nas imagens. Desabilite isso se você quiser interromper a codificação quando todas as imagens forem usadas ou a trilha sonora estiver terminada.

  • -r 0.5 - define a taxa de quadros para 0,5, o que significa que cada imagem será mostrada por 2 segundos. Basta ter o inverso, por exemplo, se você quiser que cada imagem dure por 3 segundos, defina-a como 0,33.

  • -i image-%03d.jpg - use esses arquivos de entrada. %03d significa que haverá três dígitos para as imagens.

  • -s 1280x720 - define o tamanho do quadro de saída.

  • -b 1M - define a taxa de bits. Você quer 500MB por uma hora, o que equivale a 4000MBit em 3600 segundos, portanto, um bitrate de aproximadamente 1MBit / s deve ser suficiente.

  • -i soundtrack.mp3 - use este arquivo de trilha sonora. Pode ser qualquer formato.

  • -t 01:05:00 - definir o comprimento de saída hh:mm:ss formato.

  • out.avi - crie este arquivo de saída. Altere como quiser, por exemplo, usando outro contêiner como o MP4.


9



+1 .. e eu tenho apenas uma pergunta. Posso definir por exemplo: "show Image1 por 2min, show Image2 por 3min ..."? Obrigado! - enloz
Desde que você não especificou isso antes, eu não poderia ter adivinhado. Eu não acho que isso seja possível com o FFmpeg. Pode haver ferramentas melhores para isso, como o Windows Movie Maker. - slhck
Sim, você precisará de algo com um storyboard, como o Movie Maker. - surfasb


Criador de DVD do Windows é um componente do Windows 7 Home Premium e superior. É muito fácil pegar uma seqüência de imagens e aplicar uma trilha sonora a elas. Ele não apenas grava em DVD - você também pode salvar em arquivo.


2





Eu estava tentando criar vídeo usando várias imagens e trilha sonora, Siga estes passos, funciona para mim de alguma forma:

  1. Criar arquivo que lista o caminho da imagem e a duração de cada imagem image-list.txt

    file 'imgs/114_1.png'
    duration 9
    file 'imgs/114_2.png'
    duration 7
    file 'imgs/114_2.png'
    

    Nota: Repita a última imagem duas vezes e não insira a duração da última entrada.

  2. Crie outro arquivo que contenha o caminho dos arquivos de áudio audio-list.txt

    file 1.mp3
    duration 9
    file 2.mp3
    duration 6
    
  3. magia ffmpeg!

    ffmpeg -f concat -safe 0 -i img-list.txt -f concat -safe 0 -i audio-list.txt -c:a aac -pix_fmt yuv420p -crf 23 -r 24 -shortest -y -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.mp4
    

1





Siga os seguintes passos:

  1. Crie o filme usando o Windows Movie Maker (você pode especificar a duração da exibição de cada foto)
  2. Codificar para MP4 pelo Windows Movie Maker
  3. Transcodifique o vídeo em VidCoder, File Factory ou similar - especificando (por exemplo) 2FPS (não precisa de 24FPS para fotos) e mantenha a qualidade de áudio alta

0