Para obter uma boa redução de ruído, não podemos simplesmente confiar em filtros básicos de denoise, pois eles podem não ser muito mais do que filtros de baixa ou alta passagem, o que pode levar a um resultado bastante abafado.
Uma abordagem melhor será usar um processador de áudio dedicado projetado para ter bons algoritmos de redução de ruído somente no conteúdo de áudio de nosso vídeo.
Para fazer isso, o seguinte tutorial usa Audacity paraprocessamentodeáudioe FFmpeg paraextraçãodeáudioereconstruçãodovídeo( avconv também pode ser usado com a mesma sintaxe).
-
Extraia o áudio do nosso arquivo de vídeo
Para manter a codificação de áudio do original, precisamos descobrir qual codec o áudio do nosso arquivo de vídeo usa. Isto irá, por exemplo ser exibido no arquivo de clique com o botão direito do mouse Propriedades > Vídeo / Áudio . Você, por exemplo, encontrará AAC
ou mp3
codificado. Então podemos extrair o áudio de um arquivo mp4 com o seguinte comando:
ffmpeg -i infile.mp4 -acodec copy outfile.aac
A opção -acodec copy
diz que não reamostramos o áudio
-
Use os filtros de redução de ruído do Audacity:
-
Mesclar áudio e vídeo novamente.
Mais uma vez, para evitar a nova amostra, precisamos da opção copy
para usar apenas os dados como estão. A faixa de áudio do vídeo de origem será remapeada para o exemplo denoised com o seguinte comando:
ffmpeg -i infile.mp4 -i denoised-audio.m4a -vcodec copy -acodec copy -map 0:0 -map 1:0 denoised-video.mp4
Talvez tenhamos que sincronizar.
Caso tenhamos áudio para ficar fora de sincronia em vídeos mais longos, também podemos adicionar a opção -async 1
na etapa 10 acima.