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 di 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 -map
fa:
- La prima parte prima dei due punti è l'ID di input. Poiché abbiamo solo un input, è
0
. - La seconda parte specifica il tipo di stream,
v
ideo oa
audio. Questo è facoltativo, ma è sempre una buona idea specificare anche il tipo, nel caso in cui i flussi video e audio non siano multiplexati correttamente. - La terza parte è l'ID del flusso di input.
0
sarà il primo e1
il secondo, ovvero il primo flusso video e il secondo e primo flusso audio. - L'ordine del
-map
options determina l'ordine dei flussi nel file di output.
Ciò significa che lasceremo il bitstream video come primo flusso, quindi prenderemo il secondo flusso audio e poi il primo:in sostanza, stiamo scambiando i flussi audio.
Usando il -c copy
L'opzione garantisce che i bitstream vengano copiati e non ricodificati.
Alcuni esempi su come usare -map
l'opzione può essere trovata sul wiki di FFmpeg.
Basta usare 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.