VLC может Chromecast, но Chromecast не поддерживает Bluetooth, а я хотел бы отправить звук на динамики Bluetooth. Как это сделать? Я попытался нарисовать это:
Wifi +----------+
+---------->+Chromecast|
|Video +----------+
|
++----+
| VLC |
++----+
|
|
|Bluetooth +--------+
+---------->+Speakers|
Audio +--------+
я думалhttps://superuser.com/a/1029986/41259Было бы полезно, но, похоже, невозможно установить отдельный рендерер для второго файла. Я могу легко извлечь аудиофайл заранее, если это поможет. ( ffmpeg -i foo.mkv -vn -acodec copy out.eac3
)
Я использую Windows 10, знаком с командной строкой и у меня установлен и работает WSL, если решением станет какой-либо сервер, требующий Linux.
решение1
Быстро и грязно (Идея)
Вы утверждаете, что
- Клиент 1:с
vlc
(или другим) вы можете отправить сигнал на ваш телевизор через Chromecast - Клиент 2:с помощью которых
vlc
вы можете использовать динамики Bluetooth
проблема в том, что они вряд ли будут синхронизированы.
Поэтому более быстрым решением будет использование (как это сделано всинхронизировать разные субтитры/языки)
- Сервер 1:еще один пример
vlc
как локальныйстример.
Сначала вы можете подключить двух клиентов (в конечном итоге два других экземпляраvlc
) к этому серверу (к его потоковому IP и ПОРТУ), а затем начать воспроизведение или приостановить потоковую передачу.
Это решениепоследовало из OP, после решения некоторых проблем, характерных для его ОС, программного обеспечения, оборудования...
Путь к меньшемуресурс, требующийрешение (Идеи)
Только идеи, которые пытаются быть полезными более широкой аудитории и охватывают различные наборы оборудования.
Любая программа для стримеров будет иметь много опций. Vlc
имеет два списка опций.
Вы можете задать огромный с помощью -H
( -h
недостаточно, размер имеет значение, когда он чувствителен к регистру :-)
).
В этом случае есть много интересных вариантов, в том числе и для сервера.--no-sout-display(по умолчанию включено),--sout-дисплейпо умолчанию отключено,--sout-видео... --no-sout-video для видео, --sout-audio--без-выход-аудио(по умолчанию включено)...
Это хорошая практика.всегда указывать важные параметры, чтобы избежать возможных непреднамеренных помех от опций, сохраненных предыдущим выполнением программы. Вы понимаете, как это может быть"беспощадный": один раз бывает, один раз нет...>>> Кстати vlc
использовался (и до сих пор используется) для запоминания последних настроек, измененных при последнем выполнении GUI, и сохраняемых при выходе. <<<
Если вы укажете опцию, вы принудительно запустите выполнение с этой опцией.
Вот несколько способов сэкономить ресурсы:
Опять же, если вы смогли использовать динамики с VLC, возможно, вы сможетеспастиКлиент 2примеротключение в стримере (Сервер 1) перенаправление звука в поток и использование динамиков оттуда (начните пробовать с--без-выход-аудио).
Я не совсем понял ту часть, которая передает сигнал на ваш телевизор, но у меня сложилось впечатление, что вы можете попробоватьспастиКлиент 1примертоже. Это зависит от оборудования.
- В некоторых ТВ-приставках, например, с Kodi, можно добавитьприложениечтобы напрямую подключить коробку к потоку, просто зная IP (и порт) потока. Вы знаете их, потому что вы даете откомандная строка/GUI. Некоторые из нихприложениемогут сканировать локальную сеть или диапазон локальных IP-адресов (см. ниже). Даже автоматически.
- Ваш телевизор может бытьDLNA-технологиясовместимы во многих отношениях (так что вы можете настроить стример VLC на совместимость с конкретными возможностями телевизора).
- Устройства Chromecast, я полагаю, вам нужен только стример (Сервер 1) на правильном IP/порте и кодеке.
- Chromecast через Chrome (ну стример (Сервер 1) и Chrome, действующий какКлиент 1и стример для телевизора, возможно, не нужен).
Примечание по IP (IPv4), зарезервированному для многоадресной рассылки:
IP-адресзарезервировано IANAдля многоадресной рассылкилокальнонаходятся в этом диапазоне
239.0.0.0-239.255.255.255 Организация - Локальная область действия [David_Meyer][RFC2365] 1997-01-01
решение2
Это не моя идея, а Хастура.отвечать. Однако я попал в несколько ловушек, поэтому я подумал, что поделюсь своими проблемами и решениями, которые мне удалось найти. У других могут быть идеи получше, но это работает.
VLC, похоже, сохраняет настройки vlc-qt-interface.ini
в AppData\Roaming\vlc
. Если вы переключите рендерер, он переключит оба экземпляра. Таким образом, вам нужно два пользователя Windows, я добавил пользователя chromecast
.
"C:\Program Files\VideoLAN\VLC\vlc.exe" movie.mkv --sout-all --sout="#rtp{dst=239.255.100.100,port=5004,mux=ts}"
. IP-адреснетваш wifi или что-то в этом роде, это адрес multicast. Он должен быть в диапазоне от 224.0.0.0 до 239.255.255.255, иначе вы не сможете подключить к нему больше одного клиента. Кажется, вы вольны выбирать любой адрес, который вы выбрали."C:\Program Files\VideoLAN\VLC\vlc.exe" rtp://239.255.100.100:5004 --no-video
. Это позволит воспроизвести звук локально.runas /user:chromecast "C:\Program Files\VideoLAN\VLC\vlc.exe rtp://239.255.100.100:5004 --sout "#chromecast" --sout-chromecast-ip=192.168.1.152 --demux-filter=demux_chromecast"
. Я считаю, что все это необходимо, даже если у вас только один Chromecast. Я понятия не имею, как получить IP от Chromecast или Chrome, если на то пошло, — я нашел его на своем маршрутизаторе. Добавление--no-audio
не дает никакого эффекта, так как, похоже, все аудио-видео передается целиком на Chromecast. Отключите звук на телевизоре.
Чтобы создать .bat
из этого,этот ответесть решение: добавлять к каждой команде префикс start /b
.
Одна известная проблема заключается в том, что после паузы Chromecasting VLC всегда предупреждает: «Это видео требует конвертации». Это серьезный недостаток.
решение3
Проблема в том, что видео транслируется на телевизор через Chromecast, а звук воспроизводится отдельно на Bluetooth-колонках.
Решение 1: Синхронизация двух приложений
Можно воспроизводить одно и то же видео с помощью двух приложений, одного для видео, а другого для аудио, но это довольно неудобно. Хотя эти два приложения можно легко синхронизировать в начале, они будут рассинхронизироваться каждый раз, когда вы ставите оба на паузу, поскольку вы можете нажать только одно за раз.
VLC здесь полезен, поскольку он позволяет перейти к нужному месту в видео, что будет важно при синхронизации двух приложений.
Эта настройка довольно проста. Подробности можно посмотреть в статье
Воспроизводите видео через Chromecast и перенаправляйте аудио через ПК или Mac.
Решение 2: используйте разветвитель HDMI
Вы можете использовать HDMI аудио экстрактор, который обычно стоит всего несколько десятков долларов. Устройство действует как сплиттер, разделяя HDMI на отдельные видео и аудио для подачи на два разных комплекта оборудования.
Настройка следующая:
- Chromecast подключается к порту HDMI аудиоэкстрактора.
- Медиа передается по беспроводной сети с ПК на Chromecast.
- Аудиоэкстрактор отправляет звук через кабели типа RCA на динамики или любым другим способом подключения, который у него есть общего с динамиками.
- Аудиоэкстрактор подключается к телевизору через порт HDMI-выхода или любым другим способом, который у него общий с телевизором.
Это может не работать со всеми настройками и со всеми типами телевизоров и аудиооборудования, особенно с некоторыми устаревшими системами. Поэтому внимательно проверьте свои характеристики, прежде чем брать одно из этих устройств.
Не зная больше о ваших материалах и никогда не используя такой HDMI аудио экстрактор, я не могу рекомендовать какое-либо конкретное устройство. Вы можете выдать запрос на amazon.com и дорабатывать его по мере необходимости.
решение4
Откройте Google Chrome, транслируйте экран на телевизор. Откройте VLC, воспроизведите видео, Инструменты, Эффекты и фильтры, Синхронизация, задержите звук примерно на 0,61 с. У меня это работает.