VLC 可以支持 Chromecast,但 Chromecast 不支持蓝牙,我想将音频发送到蓝牙扬声器。我该怎么做?我试着画出这个:
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
可以使用蓝牙音箱
问题是它们很难同步。
因此,更快的解决方案是使用(因为同步不同的字幕/语言)
- 服务器 1:
vlc
另一个本地实例飘带。
您可以先将两个客户端(最终是的另外两个实例vlc
)连接到该服务器(连接到其流媒体 IP 和端口),然后就可以开始播放或暂停流媒体。
这是解决方案接上原文,在解决了一些特定于他的操作系统、软件、硬件的问题之后......
较少的路径资源需求解决方案(想法)
只有这些想法才能对更广泛的受众有用,并涵盖不同的硬件组合。
任何流媒体程序都会有很多选项。Vlc
有两个选项列表。您可以使用(
来询问较大的选项,因为这是不够的,当区分大小写时,大小很重要)。 -H
-h
:-)
在这种情况下,有很多有趣的选择,其中包括服务器--无显示(默认启用),--sout 显示默认禁用,--sout 视频... --no-sout-video 用于视频,--sout-audio--无音频(默认启用)...
这是一个很好的做法始终指定重要的选项,以避免程序上次执行时保存的选项最终造成不必要的干扰。您理解如何“恶毒”:一次发生,一次不发生......>>>顺便说一句 vlc
曾经(现在仍然)用于记住上次 GUI 执行时修改的最后首选项并在退出时保存。 <<<
如果您指定一个选项,您将强制使用该选项执行。
这里有一些尝试节省资源的途径:
再次假设你能够使用扬声器与 VLC,也许你可以保存客户端 2实例在流媒体中禁用(服务器 1)将音频重定向到流并从那里使用扬声器(开始尝试--无音频)。
我还没有完全理解将信号传送到电视的部分,但我的印象是你可以尝试保存客户端 1实例也是。它依赖于硬件。
- 在一些盒子电视中,比如带有 Kodi 的电视,可以添加一个应用程序直接将盒子连接到流媒体,只需知道流媒体的 IP(和端口)。你知道它们,因为你给了命令行/GUI。其中一些应用程序能够扫描本地网络或本地 IP 范围(见下文)。甚至可以自动扫描。
- 您的电视可以迪纳在许多方面都符合要求(因此您可以将 vlc 流媒体设置为符合特定的电视功能)。
- Chromecast 硬件设备,我想你只需要流媒体(服务器 1) 位于正确的 IP/端口和 codex 上。
- 通过 Chrome 进行 Chromecast(流媒体(服务器 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 或类似设备,它是一个多播地址。它必须在 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。我不知道如何从 Chromecast 或 Chrome 获取 IP——我从路由器上找到了它。添加--no-audio
没有效果,因为似乎整个音频视频都被全部交给了 Chromecast。将电视静音。
为了创造.bat
出一种这个答案有解决方案:在每个命令前加上start /b
。
一个已知问题是,暂停后 Chromecasting VLC 总是会警告“此视频需要转换”。这是一个重大缺陷。
答案3
问题是通过 Chromecast 将视频投射到电视上,但在蓝牙扬声器上单独播放音频。
解决方案 1:两个应用程序同步
可以使用两个应用播放同一个视频,一个用于播放视频,另一个用于播放音频,但这很不方便。虽然一开始可以轻松同步两个应用,但每次暂停两个应用时,它们都会不同步,因为您一次只能单击一个应用。
VLC 在这里很有用,因为它可以让你跳转到视频中的某个位置,这在同步两个应用程序时至关重要。
这个设置非常简单。有关详细信息,请参阅文章
通过 Chromecast 播放视频并通过 PC 或 Mac 传输音频。
解决方案 2:使用 HDMI 分配器
您可以使用 HDMI 音频提取器,通常只需花费几十美元。该设备充当分配器,将 HDMI 分成单独的视频和音频,以馈送两组不同的设备。
设置如下:
- Chromecast 插入音频提取器的 HDMI 输入端口
- 媒体通过无线方式从 PC 传输到 Chromecast
- 音频提取器通过 RCA 型电缆将音频发送到扬声器,或通过与扬声器共有的任何其他连接方法
- 音频提取器通过 HDMI 输出端口或与电视共用的任何其他方式连接到电视。
这可能不适用于所有设置和所有类型的电视和音频设备,特别是某些旧系统。因此,在选择这些设备之前,请仔细检查您的规格。
由于我对您的材料不太了解,也从未使用过这样的 HDMI 音频提取器,因此我无法推荐任何特定设备。您可以发出 在 amazon.com 上查询 并根据需要进行改进。
答案4
打开 Google Chrome,将屏幕投射到电视上。打开 VLC,播放视频,工具,效果和滤镜,同步,将音频延迟约 0.61 秒。这对我来说很有效。