Adicionar som a um vídeo é simples
ffmpeg -framerate 60 -i input.png -i input.mp3 -vcodec libx264 -crf 20 -preset medium -acodec aac -vf scale=1280:-2,format=yuv420p output.mp4
-
-i
input.mp3 O nome do arquivo de áudio -
-acodec copy
Copia o áudio do fluxo de entrada para o fluxo de saída -
-s
é a resolução de saída do vídeo
Basicamente, basta alterar o input.png
para o nome do arquivo da sua imagem e o input.mp3
para o arquivo de áudio. Por fim, altere output.mp4
para o nome do arquivo de destino desejado.
Este é um método muito simples para fazer o que você quer, mas é possível fazer o script da seguinte maneira:
#! /bin/bash
###################################################################
picture="input.jpg" # Change this to the file name of your picture
###################################################################
for i in *.mp3; do
ffmpeg -framerate 60 -f image2 -i $picture -i input.mp3 -vcodec libx264 -crf 20 -preset medium -acodec aac -vf scale=1280:-2,format=yuv420p "${i%.*}.".mp4
done
Coloque o nome do arquivo da sua foto no topo, cole-o em um arquivo, salve-o como convert.sh
. Altere as permissões chmod 777 convert.sh
e, em seguida, execute ./convert.sh
Ele deve ler todos os arquivos mp3, adicionar uma imagem e produzir um arquivo mp4 com o mesmo nome do mp3.
Se você quiser fazer o mesmo com arquivos wav ou amr, basta alterar for i in *.mp3; do
para for i in *.wav; do
ou for i in *.amr; do
.
Espero que ajude!
Boa sorte:)