android - 为什么我的本地视频流在通话期间会旋转?

标签 android webrtc

我们有一个原生的 Android webrtc-based voip 应用程序。只有在我们的 Android 应用程序(与其他平台相反)中,本地摄像头流 在通话一段时间后才会旋转。通常需要大约 10 秒。但有时更多,甚至一分钟。
remote 也会使 stream 旋转,所以这不是 rendering 问题。
stream 总是在 portrait orientation 中顺时针旋转 90 度,但在一个 landscape orientation 中是正确的,在另一个 landscape 中是颠倒的方向
一段时间后,stream 将再次旋转回正确的orientation(并在一段时间后再次回到 bugged)。
从早期的 8xxx 到最新的 (9125),我尝试了几个 修订,都有同样的问题。 Apprtc demo 也有问题。我已经在几款不同的手机上进行了测试(尽管只有三星设备),所有手机都存在这个问题。

最佳答案

我遇到了同样的问题,但我没有找到正确的解决方案,但有一个解决方法。我发现轮换的原因是 cpu 过度使用检测,它导致质量变化,而且在 android 实现中似乎这个功能存在一些错误。所以我刚刚添加了 peerConnectionConstraints.optional.add(new MediaConstraints.KeyValuePair("googCpuOveruseDetection", "false")); 它阻止了这种旋转。

关于android - 为什么我的本地视频流在通话期间会旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32116791/

相关文章:

WebRTC:对多个对等连接使用相同的 SDP?

安卓 :How to design 3D joysticks

android - 使用 Mockito 模拟改造服务导致 ExceptionInInitializerError

android - android :tint and android:fillColor in VectorDrawables?有什么区别

android - 打开 SearchView 时隐藏应用程序图标

html - getUserMedia() 权限被拒绝

java - 电池没电时会调用哪些 Android 方法?

javascript - 参数为 null 的 addIceCandidate 导致错误

javascript - webRTC 检查是否正在使用 stun 服务器

javascript - RTCDataChannel 的 ReadyState 不是 'open'