Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从iPhone库加载视频,修改帧并实时播放 我正在寻找一个开发iPi/iPad应用程序的技巧,它能够处理视频(让我们只考虑本地存储在设备上的文件),并实时播放。例如,您可以选择任何电影,选择“旧电影”过滤器,并希望它像在旧电视上一样_Ios_Xcode_Opencv_Avfoundation_Core Video - Fatal编程技术网

Ios 从iPhone库加载视频,修改帧并实时播放 我正在寻找一个开发iPi/iPad应用程序的技巧,它能够处理视频(让我们只考虑本地存储在设备上的文件),并实时播放。例如,您可以选择任何电影,选择“旧电影”过滤器,并希望它像在旧电视上一样

Ios 从iPhone库加载视频,修改帧并实时播放 我正在寻找一个开发iPi/iPad应用程序的技巧,它能够处理视频(让我们只考虑本地存储在设备上的文件),并实时播放。例如,您可以选择任何电影,选择“旧电影”过滤器,并希望它像在旧电视上一样,ios,xcode,opencv,avfoundation,core-video,Ios,Xcode,Opencv,Avfoundation,Core Video,为了实现这个想法,我需要实现两个关键特性: 1) 从电影文件中抓取帧和音频流,并访问单独的帧(我对BGRA中的原始像素缓冲区或至少YUV颜色空间感兴趣) 2) 以某种方式显示处理过的帧。我知道可以将处理过的帧渲染到OpenGL纹理,但我希望有更强大的组件和播放控件。是否有支持播放自定义图像和音频缓冲区的媒体播放器 处理功能已经完成,而且速度很快(一帧的持续时间小于一帧) 我不是要现成的解决方案,但欢迎任何提示 回答 抓取帧。 抓取视频和音频帧的唯一方法似乎是使用Avassetrader类。虽然不

为了实现这个想法,我需要实现两个关键特性:

1) 从电影文件中抓取帧和音频流,并访问单独的帧(我对BGRA中的原始像素缓冲区或至少YUV颜色空间感兴趣)

2) 以某种方式显示处理过的帧。我知道可以将处理过的帧渲染到OpenGL纹理,但我希望有更强大的组件和播放控件。是否有支持播放自定义图像和音频缓冲区的媒体播放器

处理功能已经完成,而且速度很快(一帧的持续时间小于一帧)

我不是要现成的解决方案,但欢迎任何提示

回答

抓取帧。 抓取视频和音频帧的唯一方法似乎是使用Avassetrader类。虽然不建议将其用于实时抓取,但它可以完成这项工作。在我对iPad2的测试中,抓取单帧需要7-8毫秒。在整个视频中寻找是一个棘手的问题。也许有人能指出更有效的解决方案

视频播放。我已经使用自定义视图和GLES来渲染矩形纹理,其中包含一个视频帧。据我所知,这是绘制位图的最快方法

问题

  • 需要手动播放声音样本
  • Avassetrader抓取应与电影帧速率同步。否则,电影将走得太快或太慢
  • Avassetrader仅允许连续帧访问。你不能向前和向后寻找。唯一建议的解决方案是删除旧的读卡器,并创建一个时间范围经过修剪的新读卡器


您可以使用AVPlayer+AVPlayerItem,它为您提供了一个在显示图像上应用过滤器的机会。

感谢这些提示。我已经看到了它们,并且作为iOS版OpenCV教程的作者,我对它们很熟悉。但是你让我确信,除了Avassetrader,我的问题没有其他选择。啊,我希望我能得到更多的帮助:(如果我将来遇到任何事情,我会记住你。@BloodAxe我遇到了这个,请告诉我它是否有用。感谢你的尝试,似乎很有用,但我正在寻找从视频文件读取帧,而不是从相机设备。很容易访问相机。目前,我使用AVAssetRea实现了从视频文件捕获帧der类。但是它不是用于实时使用的。它不能为1280x720中的视频提供平滑的fps。所以我正在寻找更快的方式来访问视频文件。