Limpe o áudio de um vídeo
A imagem está boa e o som não. Esta é a versão prática: o que tiramos do seu vídeo, o que volta, e como sincronizar o áudio novamente com a imagem. Se você ainda está decidindo se o seu arquivo vai abrir, comece por remover ruído de um vídeo.
Apenas o áudio é processado
O seu navegador abre o arquivo onde ele já está e tira o áudio do contêiner. A trilha de vídeo nunca é decodificada, nunca é modificada e nunca é enviada — nem o áudio. Não existe passo de envio em nenhuma etapa, por isso também não há fila nem um e-mail dizendo "o seu arquivo está sendo processado".
Para mp4 e mov lemos o índice do contêiner e pegamos só os bytes do trecho que queremos, então um arquivo de 2 GB não se transforma em 2 GB na memória. O seu original é aberto somente para leitura e fica exatamente como estava.
Formato do áudio gerado
Um WAV mono de 16 bits a 48 kHz — só áudio, cerca de 2,9 MB para os 30 segundos. Dois pontos que você precisa considerar:
- É mono. Tudo é somado em um canal antes de o modelo rodar, porque o modelo é monocanal. Se a sua câmera gravou um par estéreo, ou um microfone shotgun e um de lapela em canais separados, eles voltam como um.
- Não está igualado em volume com o seu original. Não fazemos nenhuma normalização; a faixa limpa mediu cerca de 2 LU abaixo do original na nossa própria amostra. Ajuste níveis depois deste passo, não antes.
Como sincronizar o áudio com a imagem
O cartão de resultado desenha o seu arquivo inteiro como uma barra com os 30 segundos limpos marcados em cima, e escreve ao lado o código de tempo inicial — Prévia de 30s a partir de 1:14. Recorte esse mesmo trecho do vídeo e junte os dois:
ffmpeg -ss 1:14 -t 30 \
-i original.mp4 -i cleaned.wav \
-map 0:v -map 1:a \
-c:v libx264 -crf 18 \
-c:a aac -b:a 192k \
-shortest check.mp4
Aqui o vídeo é recodificado de propósito. Com -ss antes da entrada, uma cópia de fluxo só pode
começar no keyframe mais próximo, o que desloca a imagem em relação ao som por até um segundo —
o suficiente para impedir uma avaliação confiável da sincronia labial.
Em um editor, a ideia é a mesma: importe o WAV, coloque-o em uma nova trilha de áudio naquele código de tempo, silencie o original e ouça o resultado junto com a imagem.
Limpeza do arquivo completo
Você não precisa mais fazer isso à mão. O cartão de resultado limpa o arquivo inteiro e fornece diretamente um MP4, com a imagem copiada byte a byte e só o som substituído. O comando abaixo continua aqui para quando você quiser controlar a combinação entre áudio e vídeo ou quando o navegador não codificar AAC e você só receber áudio. Ele não tem recorte, então o vídeo é copiado em vez de recodificado:
ffmpeg -i original.mp4 -i cleaned.wav \
-map 0:v -map 1:a \
-c:v copy -c:a aac -b:a 192k \
output.mp4
Os dois comandos rodam na sua máquina, sem qualquer participação nossa. Se o original era estéreo, lembre que a faixa de substituição é mono e duplique-a nos dois canais se o formato de entrega esperar um par.