Как поменять местами первый и второй аудиопотоки в MKV в системе на базе Linux?


10

Я использую плекс. Plex, кажется, игнорирует аудиопоток по умолчанию (на Roku) и вместо этого просто использует первый аудиопоток. Это моё тестирование с использованием mkvpropedit.

Поскольку в настоящее время Plex не поддерживает смену источников звука на клиентах за пределами локальной сети, я хотел бы изменить несколько файлов, чтобы текущий второй источник звука был первым?

Какой лучший способ обмена аудиопотоками в MKV в системе на основе Linux, такой как Ubuntu?

Ответы:


13

С FFmpeg это должно быть довольно просто. Убедитесь, что вы загружаете статическую сборку со страницы загрузки и не используете версию репозитория Ubuntu, которая довольно старая.

Вот команда:

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

Вот что -mapделает:

  • Первая часть перед двоеточием - это идентификатор ввода. Поскольку у нас есть только один вход, это так 0.
  • Вторая часть определяет тип потока, video или udio a. Это необязательно, но всегда полезно указывать тип и в том случае, если видео- и аудиопотоки неправильно мультиплексированы.
  • Третья часть - это идентификатор входного потока. 0будет первый и 1второй, то есть первый видеопоток и второй и первый аудиопоток.
  • Порядок -mapпараметров определяет порядок потоков в выходном файле.

Это означает, что мы оставим видеопоток в качестве первого потока, затем возьмем второй аудиопоток, а затем первый - по сути, мы меняем аудиопотоки.

Использование этой -c copyопции гарантирует, что битовые потоки копируются и не перекодируются.

Несколько примеров того, как использовать эту -mapопцию, можно найти на вики FFmpeg.


Если есть только один вход вы можете оставить из входного ID: -map v:0 -map a:1 -map a:0.
десерт

7

Просто используйте mkvtool, чтобы избежать, перепаковать, перекодировать ... тратить время.

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

этого должно быть достаточно для обмена потоком.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.