在iOS上使用CoreMedia.framework解码视频

Ser*_*nko 4 video mp4 h.264 core-media ios

我需要解码mp4文件并在ios应用程序中使用OpenGL绘制它.我需要从mp4文件中提取和解码h264帧,我听说使用CoreMedia可以做什么.有人知道怎么做吗?CoreMedia使用的任何例子?

Bra*_*son 8

它不是你想要的核心媒体,它是AVFoundation.特别是,您将使用AVAssetReader从电影加载并迭代帧.然后,您可以使用glTexImage2D()或(在iOS 5.0上)使用更快的纹理缓存将这些帧作为OpenGL ES纹理上载.

如果你不想推出自己的实现,我在我的GPUImage框架中通过OpenGL ES进行基于AVFoundation的电影加载和处理.GPUImageMovie类封装了电影阅读和上传到纹理的过程.如果要提取该纹理以在自己的场景中使用,可以将GPUImageTextureOutput链接到它.可以在框架分发中的SimpleVideoFileFilter和CubeExample示例应用程序中找到这两个类的示例.

您可以直接使用它,或者只是查看我编写的代码以在GPUImageMovie类中执行这些相同的操作.

  • 看看AVComposition.它是AVAsset的子类,支持多个排序文件. (3认同)