Mesclar dois canais de áudio (estéreo) em um (mono) no GSM6.10 usando o FFMPEG

18

Gostaria de saber se é possível mesclar áudio estéreo em mono em um arquivo de áudio GSM6.10 usando o FFMPEG. Se for, por favor, forneça o comando para conseguir isso.
Caso contrário, é possível converter GSM6.10 para WAV PCM com FFMPEG? Eu poderia mesclar os canais no WAV PCM.

Se houver outra ferramenta gratuita que possa fazer isso, posso tentar também.

    
por Ron Harlev 02.12.2010 / 00:37

3 respostas

28

O caminho para "mixagem" de estéreo para mono em qualquer arquivo suportado no ffmpeg é o seguinte:

ffmpeg -i file.ext -ac 1 file_mono.ext

O bit "-ac 1" instrui o ffmpeg a produzir apenas 1 canal de áudio, isto é, mono. Por padrão, esta operação preservará seu formato de arquivo, mas irá reverter sua taxa de bits para o padrão ffmpeg de 64kbs. Se você quer uma taxa de bits maior, você pode fazer:

ffmpeg -i file.ext -ac 1 -ab 192k file_mono.ext

... substituindo 192k pela sua taxa de bits preferida.

Observe que sua instalação do ffmpeg deve suportar seu codec GSM específico para que isso funcione corretamente. Eu sei que algum áudio codificado GSM é suportado no ffmpeg através da libgsm, mas eu nunca lidei com arquivos GSM. Eu converti com sucesso outros tipos de arquivos (MP3) para mono sem problemas.

    
por 17.02.2011 / 01:53
4

A resposta acima funciona no caso de você ainda desejar converter entre os formatos, mas para arquivos longos que podem levar muito tempo. Ou talvez você não queira converter mais uma vez, degradando a qualidade e, portanto, talvez queira apenas transmitir a cópia. Usar -codec: a e -ac 1 ao mesmo tempo não funciona, mas de acordo com a documentação do ffmpeg pan filter, se determinadas condições forem atendidas (como se você não estivesse ajustando os níveis de canais ou misturando dois canais em um) , ele reconhecerá esse caso e relatará: "Mapeamento de canal puro detectado" e fará uma cópia de fluxo, que é muito mais rápida.

Por exemplo: Para criar um arquivo estéreo mono usando apenas o canal esquerdo e apenas copiando o fluxo de vídeo, faça o seguinte:

ffmpeg -i infile.ext -codec:v copy -af pan="mono: c0=FL" outfile.ext
    
por 18.09.2014 / 19:08
0

Eu sei que é possível com o sox .... eu uso sox para manipulação de canais, kdenlive e audacity para edição moderada e ffmpeg para remuxing. apenas deixando você saber o que funcionou bem para mim no passado.

    
por 02.12.2010 / 02:41

Tags