Come posso scambiare il primo e il secondo stream audio in un MKV in un sistema basato su Linux?


10

Sto usando Plex. Plex sembra ignorare il flusso audio predefinito (su Roku) e invece usa solo il primo flusso audio. Questo è per il mio test usando mkvpropedit.

Dato che Plex attualmente non supporta il cambio di sorgenti audio su client al di fuori della LAN, mi piacerebbe cambiare alcuni dei miei file in modo che l'attuale seconda sorgente audio sia la prima?

Qual è il modo migliore per scambiare flussi audio in un MKV su un sistema basato su Linux come Ubuntu?

Risposte:


13

Con FFmpeg , questo dovrebbe essere piuttosto semplice. Assicurati di scaricare una build statica dalla loro pagina di download e non utilizzare la versione del repository Ubuntu, che è piuttosto vecchia.

Ecco il comando:

ffmpeg -i input.mkv -map 0:v:0 -map 0:a:1 -map 0:a:0 -c copy output.mkv

Ecco cosa -mapfa:

  • La prima parte prima dei due punti è l'ID di input. Dal momento che abbiamo un solo input, lo è 0.
  • La seconda parte specifica il tipo di stream, video o audio. Questo è facoltativo, ma è sempre una buona idea specificare anche il tipo, nel caso in cui i flussi audio e video non siano correttamente multiplexati.
  • La terza parte è l'ID del flusso di input. 0sarà il primo e 1il secondo, ovvero il primo flusso video e il secondo e primo flusso audio.
  • L'ordine delle -mapopzioni determina l'ordine dei flussi nel file di output.

Ciò significa che lasceremo il flusso di video come primo flusso, poi prenderemo il secondo flusso audio e poi il primo - in sostanza, scambiamo i flussi audio.

L'uso -c copydell'opzione garantisce che i flussi di bit vengano copiati e non ricodificati.

Alcuni esempi su come utilizzare l' -mapopzione sono disponibili sul wiki di FFmpeg.


Se c'è un solo ingresso si può effettivamente lasciare fuori l'ID di ingresso: -map v:0 -map a:1 -map a:0.
dessert

7

Usa mkvtool per evitare, reimballare, ricodificare ... perdere tempo.

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

questo dovrebbe essere sufficiente per scambiare stream.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.