VLC аудио для Bluetooh, видео для Chromecast?
VLC может Chromecast, но Chromecast не поддерживает Bluetooth, и я хотел бы отправить аудио на динамики Bluetooth. Как я мог это сделать? Я пытался нарисовать это:
Wifi +----------+
+---------->+Chromecast|
|Video +----------+
|
++----+
| VLC |
++----+
|
|
|Bluetooth +--------+
+---------->+Speakers|
Audio +--------+
Я думал, что /questions/217674/vosproizvedenie-dvuh-video-v-sinhronizatsii-a-takzhe-poisk-v-sinhronizatsii/217677#217677 было бы полезно, но не представляется возможным установить отдельный рендерер для второго файла. Я могу извлечь аудиофайл заранее, если это поможет. (ffmpeg -i foo.mkv -vn -acodec copy out.eac3
)
Я нахожусь на Windows 10, я знаком с командной строкой и имею WSL и работает, если некоторые Linux требуют сервера, чтобы быть решением.
4 ответа
Быстро и Грязно (Идея)
Вы заявляете, что
- Клиент 1: с
vlc
(или другое) вы можете отправить сигнал на телевизор через Chromecast - Клиент 2: с
vlc
Вы можете использовать динамики Bluetooth
проблема в том, что они вряд ли будут синхронизированы.
Таким образом, более быстрое решение заключается в использовании (как сделано для синхронизации различных субтитров / языков)
- Сервер 1: еще один экземпляр
vlc
как местный стример.
Сначала вы можете подключить два клиента (в конечном итоге два другихvlc
) на этот сервер (на его потоковый IP и PORT) и после того, как вы сможете начать воспроизведение или приостановить потоковую передачу.
Это решение последовало от OP, после решения некоторых проблем, свойственных его ОС, программному обеспечению, оборудованию...
Путь к меньшему ресурсу, требующему решения (Идеи)
Только идеи стараются быть полезными для более широкой аудитории и охватывают разные аппаратные наборы.
Любая стримерная программа будет иметь много вариантов. Vlc
имеет два списка вариантов.
Вы можете спросить огромный с -H
(-h
недостаточно, размер имеет значение, когда он чувствителен к регистру :-)
).
В этом случае есть много интересных опций, среди них для сервера --no-sout-display (по умолчанию включено), --sout-display по умолчанию отключено, --sout-video... --no-sout-video для видео, --sout-audio --no-sout-audio (по умолчанию включено)...
Рекомендуется всегда указывать важные параметры, чтобы избежать возможных нежелательных вмешательств из параметров, сохраненных предыдущим выполнением программы. Вы понимаете, как это может быть "порочно": один раз бывает, один раз нет... >>> Кстати vlc
был (и остается) используется для запоминания последних настроек, измененных в последнем выполнении графического интерфейса и сохраненных при выходе. <<<
Если вы укажете опцию, вы будете принудительно выполнять ее.
Вот несколько путей, чтобы попытаться сэкономить ресурсы:
Опять же, предполагая, что вы можете использовать динамики с vlc, возможно, вы сможете сохранить экземпляр Client 2, отключив в стримере (Сервер 1) перенаправление звука в поток и используя динамики оттуда (начните с --no -соут-аудио).
Я не совсем понял ту часть, которая передает сигнал на ваш телевизор, но у меня сложилось впечатление, что вы также можете попытаться сохранить экземпляр Client 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
Это не моя идея, а ответ Хастура. Однако я попал в несколько ловушек, поэтому подумал, что поделюсь своими проблемами и решениями, которые смог найти. У других могут быть лучшие идеи, но это работает.
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 или что-то подобное, это адрес многоадресной рассылки. Он должен быть в диапазоне от 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 всегда предупреждает "это видео требует преобразования". Это главный недостаток.
Проблема заключается в том, чтобы транслировать видео на телевизор через Chromecast, но воспроизводить звук отдельно на динамиках Bluetooth.
Решение 1. Синхронизация двух приложений
Можно воспроизвести одно и то же видео, используя два приложения, одно для видео, а другое для аудио, но это довольно неудобно. Хотя эти две функции могут быть легко синхронизированы с самого начала, они будут синхронизироваться каждый раз, когда вы приостанавливаете обе операции, поскольку вы можете щелкать только по одной за раз.
VLC здесь полезен, поскольку позволяет перейти к позиции на видео, что будет необходимо при синхронизации двух приложений.
Эта настройка довольно проста. Для подробностей вы можете увидеть статью
Воспроизведение видео через Chromecast и маршрутизация аудио через ваш компьютер или Mac.
Решение 2. Используйте разветвитель HDMI
Вы можете использовать аудио экстрактор HDMI, который обычно стоит всего несколько десятков долларов. Устройство действует как сплиттер, разделяя HDMI на отдельные видео и аудио для подачи двух разных комплектов оборудования.
Установка выглядит следующим образом:
- Chromecast подключен к HDMI-порту аудио-экстрактора
- Медиа передается по беспроводной сети с ПК на Chromecast
- Извлечение звука отправляет аудио через кабели типа RCA к динамикам или любым другим способом подключения, который он имеет с динамиками.
- Устройство извлечения звука подключается к телевизору через порт HDMI-выхода или любым другим способом, который он имеет с телевизором.
Это может не работать со всеми настройками и со всеми типами телевизоров и аудиооборудования, особенно с некоторыми устаревшими системами. Так что внимательно проверьте свои характеристики, прежде чем поднять одно из этих устройств.
Не зная больше о ваших материалах и никогда не использовав такой аудио-экстрактор HDMI, я не могу рекомендовать какое-либо конкретное устройство. Вы можете отправить запрос на amazon.com и уточнить его по мере необходимости.
Откройте Google Chrome, транслируйте экран на телевизор. Откройте VLC, воспроизведите видео, инструменты, эффекты и фильтры, синхронизацию, задержку звука примерно на 0,61 с. Это работает для меня.