Avec FFmpeg, cela devrait être assez simple. Assurez-vous de télécharger une version statique à partir de leur page de téléchargement et de ne pas utiliser la version du référentiel Ubuntu, qui est assez ancienne.
Voici la commande :
ffmpeg -i input.mkv -map 0:v:0 -map 0:a:1 -map 0:a:0 -c copy output.mkv
Voici ce que -map
fait :
- La première partie avant les deux-points est l'ID d'entrée. Comme nous n'avons qu'une seule entrée, c'est
0
. - La deuxième partie spécifie le type de flux,
v
idée oua
audio. Ceci est facultatif, mais c'est toujours une bonne idée de spécifier également le type, au cas où les flux vidéo et audio ne seraient pas correctement multiplexés. - La troisième partie est l'ID du flux d'entrée.
0
sera le premier, et1
le second, c'est-à-dire le premier flux vidéo et les deuxième et premier flux audio. - L'ordre du
-map
options détermine l'ordre des flux dans le fichier de sortie.
Cela signifie que nous allons laisser le flux binaire vidéo comme premier flux, puis prendre le deuxième flux audio, puis le premier. En gros, nous échangeons les flux audio.
Utilisation du -c copy
garantit que les flux binaires sont copiés et non réencodés.
Quelques exemples d'utilisation du -map
l'option peut être trouvée sur le wiki FFmpeg.
Utilisez simplement mkvtool pour éviter, reconditionner, ré-encoder... perdre du temps.
mkvpropedit -v movie.mkv -v --edit track:2 --set track-number=3 --edit track:3 --set track-number=2
cela devrait être suffisant pour échanger le flux.