【问题标题】:Video streaming over Bluetooth in android app在 Android 应用程序中通过蓝牙传输视频
【发布时间】:2016-02-19 04:31:14
【问题描述】:

我正在开发一个 Android 应用程序,它基本上通过蓝牙连接 2 部智能手机。连接的目的是控制一个设备相机(从)并与另一设备(主)拍照/录像。

我已经在设备之间建立了蓝牙连接,一个充当客户端,另一个充当服务器。服务器正在打开相机并监听客户端是否正在执行任何操作(拍摄、缩放等)。

现在,问题是服务器(从属)如何向客户端(主)显示他的摄像头馈送?

我可以在设备之间传输字节,在阅读了一些关于这个问题的文章之后,我认为应该将字节压缩成帧(由从站),然后作为图像打开并显示在屏幕上(在主站上)。

谁知道最好的方法是什么?有什么推荐的协议或 API?不同方法的优缺点是什么?

我们将不胜感激。

【问题讨论】:

  • 这里相同,如果您找到任何解决方法,请告诉我。谢谢
  • 您能否发布示例代码您实际上是如何发出命令将相机应用程序打开到从属设备?这会节省我的时间。提前致谢。

标签: android bluetooth camera video-streaming feed


【解决方案1】:

通常蓝牙发送图像帧很慢,但您不需要发送每一帧。您将面临的一个问题是框架碰撞。蓝牙套接字将您的数据(帧)作为字节数组发送。因此,在大多数情况下从另一端接收数据时,前一帧和当前帧的字节会发生冲突。因此,您需要确保远程移动设备接收到第一帧并成功处理。远程移动设备正在处理时创建的帧不应存储在缓冲区中以供稍后发送,而应忽略它们(不应发送)。有些帧可能会丢失,但您将作为实时提要工作。现在安卓手机会根据相机分辨率创建大帧预览。所以您只需要发送小尺寸的帧,在显示器的剩余空间上您可以显示相机控件。

我在我的 Github 存储库中发布了一个示例项目。 Bluetooth Camera

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-07
    • 2011-11-14
    • 2013-03-11
    相关资源
    最近更新 更多