Eu tenho 1 imagem (jpg) e 1 arquivo de áudio (MP3) e gostaria de exibir isso como um arquivo de vídeo (por exemplo, AVI).
Alguém sabe como usar o FFMPEG para se juntar aos dois? Eu gostaria de mostrar a imagem pela duração do áudio.
Alguma idéia para alguém?
video
audio
ffmpeg
concatenation
user41559
fonte
fonte
Respostas:
Se você estiver no Windows, você também pode fazê-lo no Windows Movie Maker ... se precisar de instruções, deixe um comentário
Para o FFmpeg, use este
vframes 14490 é o número de quadros que devem ser repetidos para obter uma imagem contínua para todo o arquivo audio.mp3
Ex: por 8 minutos e 3 segundos ((8m x 60s + 3s) x 30fps = 14490 vf)
Recurso daqui
fonte
Há uma maneira muito mais simples do que as sugeridas aqui, que não requer o cálculo do número de quadros ou a inserção do tamanho de arquivos individuais (especialmente melhor para o processamento em lote). Com uma versão recente do ffmpeg, você pode usar a
-shortest
opção, que interrompe a codificação quando o fluxo mais curto termina - nesse caso, input.mp3 (como a imagem será repetida para sempre, possui um comprimento infinito):Isso usa 2 quadros por segundo para a imagem / vídeo, o que deve ser bom, mas você pode configurá-lo para um padrão mais 25, se desejar.
fonte
O subanki quase acertou. A linha de comando de trabalho é a seguinte;
sobrescrever arquivos de saída sem avisar
A opção '-loop_input' está obsoleta, use -loop 1. Consulte a documentação do ffmpeg .
arquivo (s) de entrada
Os quadros por segundo
também podem ser expressos como: -r 30000/1001, com um fps de 29.97nnn
taxa de bits de vídeo; quanto maior o número, melhor a qualidade e maior o tamanho do arquivo.
Como explicado acima; dedique o tempo total do seu arquivo de áudio em segundos (por exemplo, 00:02:41 (2 minutos e 41 segundos) é igual a 161 segundos no total (2 x 60) + 41). Em seguida, multiplique o total de segundos pelos quadros por segundo que você especificou com -r (por exemplo, 161 x 30 = 4830).
Os quadros -v podem ser substituídos por -t 161 (-t registro de duração ou transcodificação "duração" segundos de áudio / vídeo)
Use o codec de áudio correto para o tipo de arquivo que você está criando. Para .mp4, deve ser um formato AAC. O codec libvo_aacenc era o codec de codificação correto para o meu sistema Windows 7.
Taxa de bits do áudio
Este é o nome do arquivo de saída. Pode ser qualquer nome de arquivo legal para o seu sistema. A extensão ajudará o ffmpeg a determinar o codec de vídeo adequado se você não especificar um usando -vcodec.
fonte
O script bash / cygwin simples que codifica automaticamente todos os arquivos da extensão $ AUDIO no diretório para arquivo de vídeo mp4 de 10FPS no diretório com a imagem folder.jpg incorporada,
útil para uploads do youtube;)
fonte
Faça o download do VirtualDub e faça o seguinte:
Abra a imagem como se fosse um arquivo de vídeo normal.
Calcule a duração do áudio em segundos e arredonde-o para o segundo inteiro mais próximo (por exemplo, 78,34 s se torna 79 segundos). Esse valor é chamado x a partir de agora.
Vá para "vídeo> taxa de quadros", selecione "alterar para taxa de quadros (fps)" e digite "1 / x" como valor. Além disso, se você quiser ter uma taxa de quadros normal no arquivo resultante, como 25 qps, selecione "Converter em qps" e insira a taxa de quadros desejada.
Selecione "vídeo> compactação" e escolha seu sabor favorito. Pode ser que você precise ajustar o tamanho da imagem com o filtro de redimensionamento.
Vá para "áudio> áudio de outro arquivo" e selecione seu áudio lá. Se necessário, selecione uma compactação para o áudio.
Salve o arquivo.
Fonte: stephanV
fonte