Как воспроизвести фильм, слушая две звуковые дорожки одновременно?

У меня есть файлы фильмов с несколькими звуковыми дорожками (в контейнере MKV). Я хочу смотреть фильм, отправляя один язык на динамики (для детей), а другой язык на наушники (для себя), сохраняя дорожки в синхронизации, если фильм приостановлен и т. д.

предположим, что в моей системе уже настроено два аудиовыхода.

есть ли способ сделать это с медиа-плеер в Linux? Я проверил MPlayer и VLC до сих пор, и они поддерживают только выбор одной из доступных звуковых дорожек.

20
задан Excellll
10.02.2023 22:03 Количество просмотров материала 3017
Распечатать страницу

2 ответа

Идея

aka как сломать (масло)летать на колесо [Fly].

вы можете передавать локально весь фильм со всеми дорожками аудио и субтитров, например, с vlc.

Тогда это будет "достаточно" для подключения двух клиентов к этому потоку выберите язык (и / или субтитры) и другой аудиовыход (который мы предполагаем уже сконфигурированный.)

кроме того, с новым телевизором, планшетом или мобильными телефонами не требуется запускать клиентов на компьютере... и когда вы ставите в паузу стример вы ставите в паузу все... и он должен работать с windows, тоже (всегда предполагается, что аудио выход уже настроен, может быть, с программами третьей части, в случае, если вы хотите запустить два клиента на компьютере).

еще несколько слов

типичная командная строка потоковой передачи может быть похожие на

vlc "movie.mkv" --sout-all --sout="#rtp{dst=239.255.100.100,port=5004,mux=ts}"

необходима опция --sout-all [так]

 --sout-all, --no-sout-all  Enable streaming of all ES (default disabled)
 Stream all elementary streams (video, audio and subtitles) (default disabled)

читать vlc -H есть некоторые намеки на другие (тонн) варианты.

до "play" поток

vlc rtp://239.255.100.100:5004  --audio-track=x

где x-номер аудиопотока, который вы хотите прослушать на этом клиенте.

Все должно быть легко выполнена с сервера/клиента с GUI слишком...

ссылки и дополнительная литература

Вы можете прочитать больше со страницы блога Луука "использовать VLC для воспроизведения нескольких видеоклипов на нескольких компьютерах в синхронизации" [1], вы можете в конечном итоге попытаться добавить внешнюю звуковую дорожку, начиная с этой страницы wiki videolan [2], или вы можете играть с Gstreamer и другим выходом, как это предлагает Антонио в этом ответе [3].

GStreamer:

# Количество и порядок треков должны быть известны...

gst-launch-1.0 \
filesrc location=example.mkv ! decodebin name=decoded \
decoded.src_0 ! queue ! autovideosink \
decoded.src_1 ! queue ! audioconvert ! alsasink device=”hw:1,0″ \
decoded.src_2 ! queue ! audioconvert ! alsasink device=”hw:2,0″

эта команда GStreamer может быть минимальный рабочий ответ или путь для сохранения (масло)летать...

... но редко возникает соблазн защитить собственное прозвище.

2
отвечен Hastur 2023-02-12 05:51

потоковое решение имеет недостаток-клиенты используют кэша и они могут выйти из синхронизации. Это случилось со мной.

другой подход для запуска двух разных треков одновременно, который я нашел полезным для себя, - это запустить два экземпляра VLC и синхронизировать их воспроизведение. Но я не могу быть сделано должным образом без автоматизации (ручные действия, сделанные один за другим, что вызывает задержки).

решение состоит в том, чтобы управлять обоими экземплярами VLC синхронно с помощью веб-интерфейса. Его можно включить с помощью GUI или консоль:

vlc --extraintf=http --http-host 127.0.0.1 --http-port 8081 --http-password any_password

для каждого экземпляра VLC используйте разные порты. Для управления воспроизведением достаточно одной команды -- pause toggle: http://:any_password@127.0.0.1:8081/requests/status.xml?command=pl_pause"

Подробнее на команды.

в этом случае все, что вам нужно сделать, это сделать программу/скрипт, который отправляет HTTP-запрос на оба URI одновременно. Я написал для него очень простую программу golang (вот исходный код). JS-это еще один хороший кандидат для этой цели. Отъезд кроме того, можно сделать больше команд, назначить глобальные привязки клавиш для этой программы/сценария.

главное, что подход работает хорошо.

0
отвечен Valera Leontyev 2023-02-12 08:08

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх