Extraindo e re-combinando áudio de um vídeo

3

Estou farto de Vegas, Premiere, Pinnacle, SoundForge e todos os outros editores que experimentei.

Estou tentando modificar o áudio de um arquivo AVI, mas todos os editores que tentei insistem em recodificar o vídeo quando eu salvar as alterações e reduzir a qualidade ou levar horas.

Existe uma maneira de extrair o fluxo de áudio de um vídeo com ffmpeg , editá-lo em um editor de áudio e depois recombinar as alterações salvas com o vídeo?

    
por waitinforatrain 22.11.2011 / 14:12

1 resposta

6

Antes de mais nada, certifique-se de instalar a versão mais recente do FFmpeg na página de download . Para Windows, Linux e OS X, existem compilações estáticas disponíveis. No OS X, você também pode usar o Homebrew (com brew install ffmpeg ).

Extrair áudio de um vídeo

Para extrair o fluxo de áudio de um arquivo, exportamos para o áudio estéreo PCM em um contêiner WAV, já que ele é sem perdas e não será recodificado:

ffmpeg -i input-file.avi audio.wav

Naturalmente, você pode usar vários outros codecs, como FLAC ou ALAC. O conteúdo PCM em WAV (ou AIFF na Apple) provavelmente seria melhor para edição.

Agora, aplique todos os efeitos ao seu fluxo de áudio, conforme necessário.

Recombinar áudio e vídeo

Para recombinar um fluxo de áudio e um arquivo de vídeo, execute:

ffmpeg -i input-file.avi -i audio.wav -c copy -map 0:0 -map 1:0 output.avi

Observações

É importante que os arquivos de vídeo e áudio estejam na ordem correta ( -i video , -i audio ) para o mapeamento de fluxo. Pode não funcionar de outra forma.

A opção -map 0:0 -map 1:0 mapeará o áudio do segundo arquivo de entrada (o 1 in 1:0 ) para o AVI em vez de usar o áudio original. Este é o parâmetro mais importante aqui.

Você poderia, teoricamente, alterar o -c copy para apenas copiar o fluxo de bits de vídeo ( -c:v copy ) e usar qualquer outro codec de áudio compactado, porque copy tentará usar o áudio estéreo PCM não compactado. Da mesma forma, você pode salvar o arquivo de áudio editado em MP3 e usá-lo em vez disso, mas mantenha copy .

Para codificar o arquivo WAV estéreo PCM para MP3, faça algo assim:

ffmpeg -i input-file.avi -i audio.wav -c:v copy -c:a libmp3lame -map 0:0 -map 1:0 output.avi

Se o seu arquivo de áudio for menor do que o arquivo de vídeo, talvez você queira fazer um loop. Forneça a opção -loop 1 para fazer isso.

    
por 22.11.2011 / 14:31