2

I'm working on making an app using the iPhone. I want to get numerical RGB values from each frame of real time video. Can it be done? If so, please tell me. More appreciate some sample codes. Thank you very much in advance.

4

1 回答 1

1

我只能假设您的意思是解码 h.264 视频,然后从中获取 RGB(A) 像素值。在这种情况下,您需要使用 AVAssetReaderOutput 类打开并解码来自附加到 Xcode 项目的 h.264 资产的帧。如果您不熟悉软件中的视频处理,请小心并确保在开始之前真正了解您在做什么,因为视频处理中的内存使用令人震惊,如果您不完全了解多少内存,您可能会崩溃您的 iOS 应用程序您一次分配。请查看我在video_and_memory_usage_on_ios_devices上关于此主题的博客文章. 您可以在各处找到大量零碎的示例代码,但您基本上只需要创建资产,从中解码帧,然后从解码的 CoreVideo 像素缓冲区中读取 RGBA 像素。请注意奇数大小导致 CoreVideo 像素缓冲区中的行填充的情况,这样像素总数与 sizeof(uint32_t) * width * height 不匹配。

于 2013-08-08T21:10:23.790 回答