【发布时间】:2015-11-09 19:58:55
【问题描述】:
我正在基于this source 制作 WebRTC-node.js 服务。 我想以高清分辨率(1280x720)在 PC(Chrome)和移动设备(Android Chrome)之间进行视频聊天。
当我将约束设置为 1280x720,带宽设置为 2000 并进行测试时,来自移动设备的视频最初质量很好 (1280x720),但几秒钟后质量下降,而来自 PC 的视频质量保持良好。
我读到了这个问答:Why does video resolution change when streaming from Android via WebRTC
上面写着:
您看到的降级是在 PeerConnection 层,而不是在 getUserMedia 层。当硬件和带宽统计表明性能低下时,webrtc 实现会触发降级,并由双方协商。
对于一些带宽的怀疑,我也在本地网络中测试过,但结果是一样的。 而不是 node.js,我尝试了 XSockets.WebRTC,但结果是一样的。
那么,如何在安卓手机上保持高清分辨率? 这是 Chrome-vp8 的问题吗?
我需要你的帮助。谢谢。
【问题讨论】:
-
你在安卓设备上的 CPU 利用率是多少?
-
糟糕!超过90%,几乎是100%! CPU 为高通骁龙 800 2.3GHz 四核。用 WebRTC 管理高清视频是不是很糟糕?无论如何,非常感谢!
-
我不确定 android 上的 chrome 何时开始利用硬件加速,但我知道在这些设备上,如果您没有 VP8 或 9 的硬件加速,它绝对会影响性能。我知道在本机应用程序中有一个硬件加速选项,但我不确定它是否 100% 可靠(我自己也遇到过性能问题)。
-
那么,也许最好的方法是构建原生安卓应用,不是吗?非常感谢!
标签: android google-chrome webrtc