10

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

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

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

2 ответа2

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 .
  • Вторая часть specfies типа потока, v IDEO или udio. Это необязательно, но всегда полезно указывать тип и в том случае, если потоки видео и аудио неправильно мультиплексированы.
  • Третья часть - это идентификатор входного потока. a будет первым, а 0 вторым, то есть первым видеопотоком, а также вторым и первым аудиопотоком.
  • Порядок параметров 1 определяет порядок потоков в выходном файле.

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

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

Несколько примеров использования опции -map можно найти на вики FFmpeg.

7

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .