Como faço para trocar o primeiro e o segundo fluxo de áudio em um MKV em um sistema baseado em Linux?

10

Estou usando o plex. O Plex parece ignorar o fluxo de áudio padrão (no Roku) e, em vez disso, apenas usa o primeiro fluxo de áudio. Isso é por meu teste usando mkvpropedit.

Como o Plex atualmente não suporta a alteração de fontes de áudio em clientes fora da LAN, gostaria de alterar alguns dos meus arquivos para que a segunda fonte de áudio atual seja a primeira?

Qual é a melhor maneira de trocar fluxos de áudio em um MKV em um sistema baseado em Linux, como o Ubuntu?

    
por user191723 21.01.2013 / 22:37

2 respostas

13

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 ou a 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 e 1 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.

    
por 21.01.2013 / 22:53
7

Basta usar o mkvtool para evitar, reembalar, recodificar ... perdendo tempo.

mkvpropedit -v movie.mkv -v --edit track:2 --set track-number=3 --edit track:3 --set track-number=2

isso deve ser suficiente para trocar o stream.

    
por 19.01.2014 / 14:41