1

我正在做一个增强现实 (AR) 演示,其中将从 PC 生成高质量的 openGL 渲染(在 C++ 中),然后流式传输到 Android 显示设备(运行最低 Android 2.2)。实时实现这一目标的最简单方法是什么(Android 设备上为 30 FPS)?

我查看了现有的 Anrdroid 应用程序,到目前为止还没有发现任何适合的应用程序。最好的可用是远程桌面应用程序(例如 TeamViewer),但帧速率太低且不可靠。

可能的解决方案 A:1)将 openGL 窗口编码为 H.264 视频(Android 原生支持)2)使用服务器通过 RTSP 流式传输 H.264 视频 3)从 Android 浏览器查看内容(通过 WiFi 连接的 Android 和 pc)

可能的解决方案B:1)在c ++中将openGL窗口编码为IP Camera(这可能吗?)2)在Android设备上使用IPCamViewer查看(再次通过WiFi连接)

我不完全确定这两种方法中的一种或两种是否可行,并且在继续前进之前希望得到一些保证。

4

1 回答 1

0

图像的分辨率是多少(是否等于当前屏幕分辨率,更大或更小)?传输 H.264 流是可行且高效的,但它也取决于用于进行编码的机器。硬件编码器或 GPU 加速编码器是您最好的选择。

请记住-如果您选择使用编码,由于缓冲(在编码和解码端),您将有延迟。这将是一个恒定的时间偏移,所以如果这不是问题,你应该没问题。

本文提出的总系统延迟由 压缩、传输和显示延迟

请注意,这些延迟都不能直接在帧时间内完全测量。其中一些取决于所执行的帧数据和/或编码器/处理。但作为快速 GPU 编码和硬件解码的粗略估计,我会说大约 5-20 帧的延迟。您必须测量每个场景的最终延迟。我通过发送包含文本(记号)的帧来做到这一点,一旦帧稳定,将它们并排比较。事实上,我什至允许用户随时进入“测试模式”以补偿网络流量高峰时间或让他更改“质量”设置以调整此延迟。

于 2012-06-22T21:27:27.707 回答