【问题标题】:iOS - AVAssetReader copyNextSampleBuffer can be very slowiOS - AVAssetReader copyNextSampleBuffer 可能非常慢
【发布时间】:2016-09-13 17:42:55
【问题描述】:

我正在尝试实时解码视频 (30 fps) 并使用 OpenGL 显示/修改它。在 iPod touch 上,如果我对用相机拍摄的视频进行解码,解码一帧可能需要 1 秒以上,而 30 fps 最长应该是 0.03 秒。因此结果不是很好..

是否可以使用 AVAssetReader 来实现?例如,Instagram 在视频上实时应用过滤器(我认为是 GLSL 着色器),它们甚至可以在视频中导航。 Instagram 在 ipod touch 上运行良好。

可以在此处的答案中找到要解码的代码: Best way to access all movie frames in iOS

更具体地说:Hardware accelerated h.264 decoding to texture, overlay or similar in iOS

提前谢谢你

【问题讨论】:

    标签: ios objective-c video opengl-es decoding


    【解决方案1】:

    由于您提供的信息非常有限,我不得不假设您的视频序列以 YUV 格式压缩,并且您将 AVAssetReader 的设置设置为其他格式,例如kCVPixelFormatType_32BGRA,这会强制 iOS 使用硬件加速来转换色彩空间对你来说,那你慢慢感受吧。我建议不要设置任何设置,直接使用它原来的像素格式。

    【讨论】:

      【解决方案2】:

      实际上,我的应用在 CPU 上做了太多的工作,我有另一个进程分析图像。当我删除它时,解码速度非常快。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-05-24
        • 1970-01-01
        • 2014-10-19
        • 1970-01-01
        • 1970-01-01
        • 2014-06-05
        • 1970-01-01
        相关资源
        最近更新 更多