Vamos atribuir o tempo relativo do início do primeiro áudio como t=0
. Então, se a primeira gravação de áudio começou em 16:59:23
e a terceira gravação começou em 17:14:13
, então a hora de início relativa da terceira é 14:50
.
Com isso em mente, a estrutura básica de comando é
ffmpeg -i first.mka -i second.mka -i third.mka -i fourth.mka
-filter_complex
"[1]adelay=184000|184000[b];
[2]adelay=360000|360000[c];
[3]adelay=962000|962000[d];
[0][b][c][d]amix=4"
merged.mka
O que o comando faz é atrasar o início relativo de cada arquivo de áudio, exceto o primeiro a corresponder aos tempos de início relativos reais. Então todos os fluxos de áudio atrasados são misturados. O filtro amix
insere o silêncio onde necessário.
adelay
requer valor em milissegundos, portanto, 3 minutos, 4 segundos é 184 segundos é 184000
ms. Um valor tem que ser fornecido para cada canal de um fluxo de áudio, então se você está lidando com fluxos mono, então [1]adelay=184000[b]
é a sintaxe.