在iOS中显示YUV格式的视频流

发布于 2024-10-27 14:13:43 字数 420 浏览 1 评论 0原文

我正在编写一个 iOS 应用程序,该应用程序从模拟安全摄像头获取实时视频流。我可以从我们的服务器应用程序获取视频流,并根据手机上的专有格式对其进行解码。解码器给我留下原始 YUV(技术上是 Y'CrCb)数据。我不太确定显示此信息的最佳方式(甚至如何)。

我读过,我应该手动转换为 RGB 并以 UIImageView 之类的方式显示,但当视频流上的帧率可能超过 30 fps 时,这似乎相当笨重。

我还阅读过使用 OpenGL 和 YUV 信息来创建 2d 纹理并显示它。不幸的是,我不知道从哪里开始,我什至不确定这是否是我想要追求的方向。

所以我向大家提出的问题是:在 iOS 设备上显示此信息的最佳方式是什么?其次,如果这需要像 OpenGL 这样的东西,任何人都可以推荐一个好的教程、书籍、代码示例或任何其他学习资源,以便我可以了解更多信息。

提前致谢。

I am writing an iOS application that gets live video streams from analog security cameras. I can get the video stream from our server application and decode it from it's proprietary format on the phone. The decoder leaves me with raw YUV (Y'CrCb technically) data. I'm not really sure what the best way (or even how) to display this info.

I've read that I should manually convert to RGB and display in something like a UIImageView, but that seems fairly clunky when there could be upwards of 30 fps on the video stream.

I've also read to use OpenGL with the YUV info to create a 2d texture and display that. Unfortunately I have no idea where to even begin with this and I'm not even sure if this is the direction I want to pursue.

So my question to all of you is: What's the best way to display this information on an iOS device? Secondly if this requires something like OpenGL could anyone suggest a good tutorial, book, code sample or any other learning resource so I can learn more about it.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

静若繁花 2024-11-03 14:13:43

最好的方法确实是让 GPU 来完成这项工作。我确实知道着色器程序可以实现这一点,但坦率地说,我不会说 OpenGL。不过,这个问题可能会有所帮助。

The best way really is to let the GPU do the job. I do know it's possible with a shader program, but frankly I don't speak OpenGL. This question might be of help, though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文