ios - 如何确定AVAssetWriter中样本缓冲区使用的持续时间

标签 ios buffer avassetwriter cmtime cmsamplebufferref

我有一个示例缓冲区,用于捕获AVAssetWriter的视频。我试图找出一种方法来确定我捕获了多少视频(时间)。目前,我能够通过使用访问当前的缓冲区时间戳

CMTime pts = CMSampleBufferGetPresentationTimeStamp(sampleBuffer);

我正在寻找一种确定缓冲区持续时间的方法,我已经尝试过
CMTime dur = CMSampleBufferGetOutputDuration(sampleBuffer); but it seems to fluctuate 

在.002333和nan之间,由于某种原因

最佳答案

为什么不只为第一个样本保留一个时间戳,然后做一个非常简单的计算(最新的时间戳减去第一个)?

关于ios - 如何确定AVAssetWriter中样本缓冲区使用的持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17180162/

相关文章:

ios - avassetwriter 是否可以输出到内存

ios - 如何使用 Swift 更新 CoreData 数据

ios - 如何设置不同颜色的不同线条?

buffer - st_buffer 不同距离的多点

node.js - console.log 与 process.stdout.write 中的 Node 流缓冲区

multithreading - Rust-在多个线程中写入向量的索引

ios - RxSwift 绑定(bind)到变量的格式化值

ios - 标签在我的可重复使用的表格单元格中挥之不去

ios - AVAssetWriter 如何写入降采样/压缩的 m4a/mp3 文件

ios - iphone 图像到视频的视频速度问题