繁体   English   中英

将相机流从Google Glass发送到Android设备

[英]Send camera stream from Google Glass to Android device

我正在尝试编写客户端-服务器类型的应用程序。 安装在Google Glass中的客户端应用程序使用相机进行视频捕获。 图像帧将发送到安装在android智能手机中的服务器应用程序。 我目前正在通过蓝牙(似乎很慢)执行此操作。 我当前的图像设置是320x240,4通道。 发送的每个帧约为307200bytes,对于蓝牙来说可能太大了,但我不确定。 每个帧写入OutputStream大约需要2秒钟。 我正在使用OpenCV,并且正在通过public Mat onCameraFrame(CvCameraViewFrame inputFrame)方法中的蓝牙发送帧。

适用于Google Glass的MyGlass应用程序具有ScreenCast功能,可将Glass中显示的UI发送到配对的Android手机。 这是通过蓝牙完成的,比我的实现要快得多。

我不需要高fps的流。 5-10 fps应该可以容忍。 android手机将在此流中执行计算机视觉技术。

谁能建议一个好的方法吗?

您可以尝试在Base64中对图像进行编码,以使用诸如XML,JSON或protobuf之类的协议通过蓝牙发送图像。 可能这不是最有效的方法,但目前可能对您来说是最简单的方法。
但是,如果要访问任何cv::Matdata成员,请frame.isContinuous() ,如果frame.isContinuous()返回true,则可以将其用作字节数组,否则不可以。

另外,最好在服务器端将帧编码为JPEG,然后在客户端解码。 它将大大减少应通过网络流传输的数据大小,并且由于蓝牙的带宽有限而很有用。
OpenCV的imencode()imdecode()将执行压缩的两面。 有关支持的格式和标志说明的列表,请参见imwrite()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM