Идея
aka Как сломать (масло) летать на колесе [ Fly ].
Вы можете транслировать локально весь фильм со всеми звуковыми дорожками и дорожками субтитров, например, с помощью vlc
.
Тогда этого будет "достаточно" для подключения двух клиентов к этому потоку, выбора языка (и / или субтитров) и другого аудиовыхода (который мы предполагаем, уже настроен).
Более того, с новым телевизором, планшетом или мобильным телефоном нет необходимости запускать клиенты на компьютере ... а когда вы ставите паузу, стример вы ставите на паузу все ... и он должен работать и с окнами (всегда предполагается аудиовыход уже сконфигурирован, может быть, с программами третьей стороны, на случай, если вы хотите запустить двух клиентов на компьютере).
Еще несколько слов
Типичная потоковая командная строка может быть похожа на
vlc "movie.mkv" --sout-all --sout="#rtp{dst=239.255.100.100,port=5004,mux=ts}"
Нужна опция --sout-all
[ SO ]
--sout-all, --no-sout-all Enable streaming of all ES (default disabled)
Stream all elementary streams (video, audio and subtitles) (default disabled)
Прочитайте vlc -H
чтобы получить подсказки для других (тонн) доступных опций.
"Играть" в стрим
vlc rtp://239.255.100.100:5004 --audio-track=x
где x - номер аудиопотока, который вы хотите прослушать на этом клиенте.
Все должно быть легко сделано из графического интерфейса сервера / клиента тоже ...
Ссылки и дальнейшие чтения
Возможно, вы захотите прочитать больше на странице блога Luuk "Используйте VLC для синхронного воспроизведения нескольких видеоклипов на нескольких компьютерах" [ 1 ], в конечном итоге вы можете попытаться добавить внешнюю звуковую дорожку, начиная с этой вики-страницы 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 может быть минимальным рабочим ответом сама по себе или путем для сохранения (сливочного) муха ...
... но редко я испытываю желание защитить свой псевдоним.