- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在 AVCaptureSession 中,我需要知道正在捕获的帧数。
当捕捉开始时,我会将帧数计数器重置为零。因此,第一帧的时间戳将为零。后续帧将具有这样的捕获时间戳,例如:
0
0.033
0.066
0.099
etc
但这不是确切的数字,因为帧可能会丢失并且可能会出现细微差异。我需要知道捕获帧的确切时间。
我有这个方法,每次抓取帧时都会调用...
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection
在此方法中,我可以获得帧的 CMTime 并使用以下命令将其打印到控制台:
CMTime timestamp = CMSampleBufferGetPresentationTimeStamp( sampleBuffer );
NSLog(@"%lld", timestamp.value);
但这会给我像这样的疯狂数字
156317265588132
156317307247388
156317348909678
156317390573453
156317432230603
一个数字与下一个数字之间的差异约为 41,659,256,这似乎并不代表抓取帧时以秒为单位的带小数位的时间。
如果我将这个数字除以时间刻度,使用
NSLog(@"%lld", timestamp.value/timestamp.timescale);
25 帧的数字将相同,并且只会在达到一整秒时改变。
如何在抓取帧时获取精确的时间戳(以秒为单位,带小数位)?谢谢。
最佳答案
If I divide this numbers by the timescale, the numbers will be the same for 25 frames and will only change when a full second is reached.
因为整数除法会截断。怎么样
NSLog(@"%f", (float)timestamp.value / timestamp.timescale);
关于iphone - 抓取帧时的 AVCaptureSession 确切时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13322569/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!