试图了解CMTime
我已经看到CMTime的一些例子 (三个单独的链接),但我仍然不明白。 我使用AVCaptureVideoDataOutput AVCaptureSession和我想设置输出的最大和最小帧速率。 我的问题是我只是不明白的CMTime结构。
显然CMTimeMake(价值,timeScale)应该给我价值帧每1 / timeScale秒为总价值/ timeScale秒,或者我得到那个错误?
为什么不把这个logging下来以解释这是什么?
如果真的这样工作,我怎么会得到它有无限的帧数?
如果真的很简单,我很抱歉,但没有任何点击。
CMTime
结构体表示以有理数存储的时间长度(请参阅CMTime Reference )。 CMTime
具有value
和timescale
字段,并且表示时间value/timescale seconds
。
CMTimeMake
是一个返回CMTime
结构的函数,例如:
CMTime t1 = CMTimeMake(1, 10); // 1/10 second = 0.1 second CMTime t2 = CMTimeMake(2, 1); // 2 seconds CMTime t3 = CMTimeMake(3, 4); // 3/4 second = 0.75 second CMTime t4 = CMTimeMake(6, 8); // 6/8 second = 0.75 second
因此,最后两个时间值t3
和t4
代表相同的时间值
CMTimeCompare(t3, t4) == 0
如果你设置AVCaptureSession
的videoMinFrameDuration
是不会有所作为,如果你设置
connection.videoMinFrameDuration = CMTimeMake(1, 20); // or connection.videoMinFrameDuration = CMTimeMake(2, 40);
在这两种情况下,帧之间的最小时间间隔设置为1/20 = 0.05秒。
- 处理AVCaptureVideoDataOutput有关方向的图像数据的build议方法是什么?
- Swift AVCaptureSessionclosures打开button错误:当前不支持多个audio/videoAVCaptureInputs
- iOS自定义键盘 – 相机不工作
- 录制video/audio时播放系统声音
- 如何使用metadataOutputRectOfInterestForRect方法和rectOfInterest属性来扫描特定区域? (二维码)
- 在iOS 7中,AVCapture捕获帧速率为60fps
- 获取相机预览AVCaptureVideoPreviewLayer
- 我可以使用AVCaptureSession将AACstream编码到内存吗?
- AVCaptureDevice相机变焦