synchronization - 通过 WiFi 将同步媒体流式传输到多个设备

标签 synchronization streaming media vlc rtp

我想将同步媒体流式传输到多个设备(也称为多房间音频),类似于 Sonos 或 AirPlay。我认为使用 RTP 多播很容易做到这一点,因为您只需要使用 VLC(或 GStreamer/ffmpeg/etc. 服务器)设置一个所有客户端都可以连接的多播流。这似乎在以太网上运行良好,但在 WiFi 上会导致问题(显然是由于大多数路由器上多播数据包的带宽分配较低)。

描述了同步 VLC 流设置 here是一个很好的解决方案,但仅适用于早期版本的 VLC (0.8.6b)。

通过 WiFi 同步媒体流还有其他选择吗?

最佳答案

几个月后,我终于有了自己问题的答案。

最好的解决方案似乎是使用 Logitech Media Server(又名 SqueezeCenter)作为流媒体服务器和 Logitech Squeezeboxes (硬件解决方案)和/或 SqueezePlay(Mac/Win/Linux 的软件解决方案)用于媒体播放。 SqueezePlay 和媒体服务器是免费的,一个 Squeezebox 大约是 140 欧元/180 美元。您还可以将 Android/iOS 上的 Squeezebox 应用程序用作 Controller 。

我测试过synchronization在两个 Squeezebox 和一个连接到媒体服务器 (Linux) 的 SqueezePlay 实例 (Mac) 之间,它可以正常工作。流式传输协议(protocol)以及如何执行同步解释 here .

如果您想以编程方式控制设备,可以使用 Logitech SqueezeCenter Telnet CLI(参见帮助 > 技术信息 > Logitech Media Server 上的命令行界面),以及 Python wrapper对于 CLI。

关于synchronization - 通过 WiFi 将同步媒体流式传输到多个设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5474519/

相关文章:

Gradle 同步失败 : registry. bin(访问被拒绝)

c# - ASP.NET MVC 执行结果与操作结果

c# - 如何在 C#/WPF 中以编程方式访问 Windows Media Player 库?

postgresql - 从 postgresql 中的表流式传输数据的有效方法?

c# - 试图以访问权限禁止的方式访问套接字。为什么?

java - 如何在java上从BAM文件格式获得一致序列(通过Picard)

css - 如何修复响应式网站不让用户水平滚动

c# - 是否有与 Java 的 CountDownLatch 等效的 C#?

multithreading - 获取单例类实例多线程

Java:根据参数值选择性同步方法