sobreponha dois mp3 e repita o menor mp3 usando o ffmpeg

1

Pesquisei muito, mas não consigo encontrar a solução exata. E também sou novo no Ubuntu e não conheço detalhes técnicos de arquivos de música. Na verdade eu quero sobrepor 2 arquivos mp3. Suponha que eu tenha dois Arquivos de entrada

A.mp3 ==> duration 03:00
B.mp3 ==> Duration 07:00

Agora eu quero o C.mp3 (arquivo de saída) que é a combinação de A.mp3 e B.mp3. Mas aqui o que eu quero "arquivo AMP3 deve jogar até o final em C.mp3. Significa que se a música do arquivo AMP3 parar após 03:00 minutos, então ele deve começar imediatamente até às 07:00 minutos (duração de B.mp3 ) "

Eu tentei seguir o comando, mas não é exatamente o que eu quero exatamente

ffmpeg -y -i A.mp3 -i B.mp3 -filter_complex "[0:0][1:0] amix=inputs=2:duration=longest" -c:a libmp3lame C.mp3

acima o comando irá sobrepor dois arquivos. mas o A.mp3 não será repetido assim que terminar.

Obrigado antecipadamente.

    
por user1673762 12.09.2016 / 12:07

2 respostas

2

Você pode fazer isso usando o filtro de origem do filme

ffmpeg -i long.mp3 -filter_complex "amovie=short.mp3:loop=999[s];[0][s]amix=duration=shortest" c.mp3
    
por 12.09.2016 / 14:57
0

A maneira mais transparente de conseguir isso é fazer o loop manualmente: o loop automático funciona apenas em versões muito novas do ffmpeg, que podem não estar disponíveis em muitas distribuições.

Primeiro, crie um arquivo de concat de A.ffconcat , que repita A 3 vezes:

file 'A.mp3'
file 'A.mp3'
file 'A.mp3'

Agora adapte sua linha de comando:

ffmpeg -y -f concat -i A.ffconcat -i B.mp3 -filter_complex "[0:0][1:0] amix=inputs=2:duration=shortest" -c:a libmp3lame C.mp3
    
por 12.09.2016 / 12:14

Tags