2

今天我看到很多人有兴趣寻找使用移动设备通过蓝牙流式传输视频的解决方案,但我还没有找到任何方便的意见来描述应该做什么来实现这种功能。

一方面,我有相当抽象的信息,对于成功的视频流,两个设备都应该符合视频分发配置文件(VDP),这是蓝牙配置文件数量之一。

另一方面,我知道 iOS 和 Android 都没有提供使用 VDP 的 API。

App Store 中有 WiFi Camera 应用程序,它允许通过蓝牙将视频从一个 ios 设备流式传输到另一个设备,所以我想知道这个功能是如何实现的,有没有办法使用 Android 和 iOS API 来做同样的事情?

4

1 回答 1

7

VPD 位于蓝牙的低层协议 L2CAP 中,它有点像 UDP(在无连接的方面,因此速度更快),并使用 SDP 记录来广播有关设备上服务的信息。L2CAP/SDP 可通过 BlueZ 堆栈在 Android 上访问。所有的 VDP、A2DP 和其他服务都生活在这个级别。我已经通过在 VP8 中编码的 L2CAP 将视频从 Android 手机流式传输到 Windows,因此这是可能的,但是根据制造商的不同,存在限制 - 例如,至少在 2.1 中的 HTC 不允许访问蓝牙守护程序,所有 BlueZ 调用因访问限制错误而失败,而相同的代码在摩托罗拉和索尼爱立信上运行良好。关于 iOS,据我调查,他们不允许与 L2CAP 直接交互,我猜这是因为操作系统可能想要发布它' 在 L2CAP 级别拥有自己的服务,如果 3rd 方软件开始在那里添加太多记录,它们可能会开始冲突。因此,iOS 的最佳选择是 RFCOMM 协议,它在堆栈中更高,类似于 TCP。基本上它在某种程度上是 2 个节点之间的串行连接,没有服务条目或其他任何东西,因此您需要创建自己的协议。如果有任何其他知识可以分享,我可以提供帮助,我还可以从我的论文中提供一些关于这个主题的速度基准。

于 2012-11-01T08:03:22.730 回答