使用 AVAssetReader 按时间值获取特定帧
Get a particular frame by time value using AVAssetReader
我已经检查了这个 http://www.7twenty7.com/blog/2010/11/video-processing-with-av-foundation 以逐帧获取视频。但我真正的要求是在特定时间获得一帧。我知道 AVAssetReader
应该可以,我想知道 AVAssetReader
中是否有任何直接的方法。请提供有关如何在特定时间获取帧的任何指导。
我检查了 AVAssetImageGenerator
但这不是我真正想要的东西。
终于找到答案了,你得用timeRange属性。这是唯一的方法。
终于找到答案了。我在这里发布我的解决方案,希望它对某些人有所帮助。
使用 AVAssetReader timeRange 属性 随时选择帧 range.If 您正在寻找特定的帧,只需提供相同的开始和结束时间。
您需要牢记两点:
1.once 你调用了 AVAssetReader 的 startReading 方法你不能重置 timeRange。
2.You 必须为此重新创建 AVAssetReader,使用 stopReading 方法也确实无济于事。
这个link可能也很有用,我发现所有这些都非常有帮助:)
How to seek within an audio track using avassetreader?
我已经检查了这个 http://www.7twenty7.com/blog/2010/11/video-processing-with-av-foundation 以逐帧获取视频。但我真正的要求是在特定时间获得一帧。我知道 AVAssetReader
应该可以,我想知道 AVAssetReader
中是否有任何直接的方法。请提供有关如何在特定时间获取帧的任何指导。
我检查了 AVAssetImageGenerator
但这不是我真正想要的东西。
终于找到答案了,你得用timeRange属性。这是唯一的方法。
终于找到答案了。我在这里发布我的解决方案,希望它对某些人有所帮助。
使用 AVAssetReader timeRange 属性 随时选择帧 range.If 您正在寻找特定的帧,只需提供相同的开始和结束时间。
您需要牢记两点:
1.once 你调用了 AVAssetReader 的 startReading 方法你不能重置 timeRange。
2.You 必须为此重新创建 AVAssetReader,使用 stopReading 方法也确实无济于事。
这个link可能也很有用,我发现所有这些都非常有帮助:) How to seek within an audio track using avassetreader?