Como selecionar o canal de áudio esquerdo com ffmpeg e downmix para mono?

2

Eu tenho um filme "estéreo" antigo como um arquivo mp4.

O som está apenas no canal esquerdo, o canal direito está em silêncio.

Gostaria de usar o ffmpeg para copiar o fluxo de vídeo:

ffmpeg -hide_banner -i video.mp4 -c:v copy ...

e converta o áudio para mono selecionando apenas o canal esquerdo:

-map_channel 0.1.0 -map_channel -1

Mas isso não mudou nada: - (

Qual é a linha de comando correta do ffmpeg para isso?

Também é possível fazer isso sem recodificar?

    
por SebMa 08.04.2016 / 22:33

2 respostas

6

Existem pelo menos dois métodos para selecionar o canal de áudio esquerdo e saída como mono.

Usando -map_channel

Supondo que a entrada contenha apenas áudio:

ffmpeg -i input -map_channel 0.0.0 output
  • O primeiro número é o ID do arquivo de entrada : você só tem uma entrada para que seja 0 . O segundo número é o especificador de fluxo : se o áudio for o segundo fluxo, como costuma ser o caso em um arquivo de vídeo típico, você usaria 1 . O terceiro número é o número do canal : em uma entrada estéreo, o primeiro canal geralmente é o Front Left, e o segundo é geralmente o Front Right.

  • Se você quiser o canal certo, use -map_channel 0.0.1 .

  • Se a entrada contiver vídeo, o áudio provavelmente será (mas nem sempre) listado como o segundo fluxo, portanto, será necessário usar 0.1.0 .

Utilizar o filtro de áudio panorâmico

ffmpeg -i input -af "pan=mono|c0=FL" output
  • Como alternativa, você pode usar pan=mono|c0=c0 .
  • Se você quiser o canal certo, use pan=mono|c0=FR (ou pan=mono|c0=c1 ).

Veja também

por 09.04.2016 / 02:16
0

@LordNeckbeard: Encontrei o motivo pelo qual meu arquivo resultante tinha apenas áudio no canal esquerdo como meu arquivo de origem.

Foi porque usei:

-map_channel 0.1.0 -map_channel -1

que silencia o segundo canal de áudio, em vez de apenas usar:

-map_channel 0.1.0

Obrigado pela sua ajuda:)

    
por 03.05.2016 / 13:44

Tags