telegram - 广播扩展将 PixelBuffer 发送到 OpenTok 服务器
问题描述
我正在开发一个使用 OpenTok API 具有实时屏幕流功能的应用程序。我必须在将缓冲区发送到 OpenTok 服务器时进行内存管理,因为它们不接受来自 SampleHandler 的原始缓冲区。因此,我需要找到一种方法来压缩从 processSampleBuffer 收到的 CVPixelBufferRefs,但是即使我使用了他们的官方git repo ,我也一直收到 MEMORY (limit = 50 MB, used = 0x0) 错误,它崩溃是因为内存限制。我一直在搜索调整像素缓冲区的大小和缩放,但它在 CPU 上的成本很高 - CIContext 的 GPU 使用率和最终广播扩展最终导致内存限制再次崩溃。最后,我看到了Telegram有一个屏幕共享功能(它在 iPad 和 iPhone 上工作得非常好,分辨率很高),我查了一下,但它超出了我的领域,因为我不熟悉使用 CoreMedia 对 pixelBuffer 进行内核级别调整。
- 我的问题是你们是否有一个强大的解决方案,可以在不超过内存限制的情况下从 Sample Handler 向服务器发送像素缓冲区?
解决方案
推荐阅读
- python - 如何在python中计算多边形的IOU?
- javascript - 如何在 webrtc 中的冰候选人上使用 .toJSON() 是 javascript?
- android - 观察者获取数据后返回空数组
- android - com.google.firebase.FirebaseException:发生内部错误。[API 密钥无效。请传递有效的 API 密钥。] Android、Firebase、Google Auth
- java - 为什么 Spring Boot 应用程序在 Azure Web 应用程序上部署后不起作用
- spring - Spring Security 与微服务的问题
- docker - 从 Docker Toolbox 访问本地机器上运行的 kafka。?
- android - Android react-native 显示MyUserLocation 没有出现
- c++ - 获取图像上特定位置的对象点云
- java - Java 图形 AWT