我正在尝试为谷歌眼镜创建一个使用GDK流媒体视频的应用程序。我发现libstreaming (https://github.com/fyhertz/libstreaming)有一个很好的例子:谷歌眼镜向服务器传输视频
解决方案是在手机上创建流服务器。VLC可以用来连接它。如果接收缓冲区= 0,那么我可以牺牲质量达到0.1秒的延迟。
我能够在我的Note2上运行示例,最大分辨率为320x240 30fps 500kbps。当我试图在谷歌眼镜上运行它时,我有176x144的最大值和"无法连接到相机服务"错误。
我很好奇,我能得到超过176x144的h.264或其他协议吗?我完全卡住了"Fail to connect to camera service"的错误。
我的代码和下面的差不多:谷歌眼镜向服务器传输视频
除了:在MainActivity:SessionBuilder.getInstance()
.setSurfaceView((SurfaceView) findViewById(R.id.surface))
.setCallback(this)
.setPreviewOrientation(90)
.setContext(getApplicationContext())
.setAudioEncoder(SessionBuilder.AUDIO_NONE)
.setVideoEncoder(SessionBuilder.VIDEO_H264)
.setVideoQuality(new VideoQuality(176, 144, 12, 24000));
在清单:
<uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
任何帮助或新想法都是非常感激的。我听说,镜像API可以用来流视频,不幸的是,还没有调查。
下面的信息可能会帮助你决定走这条路(使用Glass流媒体):
我稍微调整了一下参数,得到了:
.setVideoEncoder(SessionBuilder.VIDEO_H263))
.setVideoQuality(new VideoQuality(1280, 720, 30, 500000)
不幸的是,图像有时会冻结,眼镜变得非常热。质量不能接受。H264编解码器的问题较少,但我甚至无法获得640x480的流。
我也有同样的问题,直到我在启动应用程序之前将眼镜连接到互联网。不确定这是否是你的情况,但如果是的话,请尝试一下。