Com o FFmpeg , isso deve ser bastante simples. Certifique-se de baixar uma compilação estática da sua página de download e não use a versão do repositório do Ubuntu, que é bastante antiga.
Aqui está o comando:
ffmpeg -i input.mkv -map 0:v:0 -map 0:a:1 -map 0:a:0 -c copy output.mkv
Veja o que -map
faz:
- A primeira parte antes dos dois pontos é o ID de entrada. Como só temos uma entrada, é
0
. - A segunda parte especifica o tipo de fluxo,
v
ideo oua
udio. Isso é opcional, mas é sempre uma boa idéia especificar o tipo também, caso os fluxos de vídeo e áudio não sejam multiplexados corretamente. - A terceira parte é o ID do fluxo de entrada.
0
será o primeiro e1
o segundo, ou seja, o primeiro fluxo de vídeo e o segundo e primeiro fluxo de áudio. - A ordem das opções
-map
determina a ordem dos fluxos no arquivo de saída.
Isso significa que deixaremos o fluxo de bits do vídeo como o primeiro fluxo, depois o segundo fluxo de áudio e, em seguida, o primeiro - basicamente, estamos trocando os fluxos de áudio.
Usar a opção -c copy
garante que os fluxos de bits sejam copiados e não recodificados.
Alguns exemplos em como usar a opção -map
podem ser encontrados no wiki do FFmpeg.