我已经看到了一些examples of CMTime(三个单独的链接),但我仍然使用AVCaptureSession和AVCaptureVideoDataOutput并且我想设置输出的最大和最小帧速率't get it. I'm . 我的问题是我只是不理解CMTime结构 .
显然CMTimeMake(value,timeScale)应该每隔1 / timeScale秒给我一个值帧,总共得到value / timeScale秒,或者我错了吗?
为什么不在任何地方记录这些以解释它的作用?
如果它真的像那样工作,我怎么能让它有无限数量的帧?
如果真的很简单,我很抱歉,但还没有点击过 .
1 回答
CMTime
结构表示存储为有理数的时间长度(请参阅CMTime Reference) .CMTime
有value
和timescale
字段,表示时间value/timescale seconds
.CMTimeMake
是一个返回CMTime
结构的函数,例如:因此,最后两个时间值
t3
和t4
表示相同的时间值如果设置
AVCaptureSession
的videoMinFrameDuration
,则设置为没有区别在这两种情况下,帧之间的最小时间间隔设置为1/20 = 0.05秒 .