Comment permuter les premier et deuxième flux audio dans un MKV dans un système basé sur Linux?

10

J'utilise plex. Plex semble ignorer le flux audio par défaut (sur Roku) et utiliser à la place le premier flux audio. C'est par mes tests en utilisant mkvpropedit.

Étant donné que Plex ne prend actuellement pas en charge le changement de sources audio sur les clients en dehors du LAN, je voudrais modifier quelques-uns de mes fichiers afin que la deuxième source audio actuelle soit la première?

Quelle est la meilleure façon d'échanger des flux audio dans un MKV sur un système Linux tel qu'Ubuntu?

user191723
la source

Réponses:

13

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 n'utilisez pas 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ça fait:

  • La première partie avant les deux points est l'ID d'entrée. Puisque nous n'avons qu'une seule entrée, c'est 0.
  • La deuxième partie spécifie le type de flux, vidéo ou audio. C'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. 0sera le premier et 1le second, c'est-à-dire le premier flux vidéo et les deuxième et premier flux audio.
  • L'ordre des -mapoptions détermine l'ordre des flux dans le fichier de sortie.

Cela signifie que nous laisserons le flux binaire vidéo en tant que premier flux, puis prendrons le deuxième flux audio, puis le premier - en substance, nous échangeons les flux audio.

L'utilisation de cette -c copyoption garantit que les flux binaires sont copiés et non recodés.

Quelques exemples sur la façon d'utiliser l' -mapoption peuvent être trouvés sur le wiki FFmpeg.

slhck
la source
S'il n'y a qu'une seule entrée , vous pouvez effectivement laisser de l'ID d'entrée: -map v:0 -map a:1 -map a:0.
dessert
7

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 suffire pour permuter le flux.

Whoo
la source