场景:
我正在编写一个iOS 应用程序来尝试解码videoFile.mp4
. 我正在使用AVAssetReaderTrackOutput和AVAssetReader来解码视频文件中的帧。这很好用。videoFile.mp4
我基本上使用以下核心逻辑来获得每一帧。
代码:
AVAssetReader * videoFileReader;
AVAssetReaderTrackOutput * assetReaderOutput = [videoFileReader.outputs objectAtIndex:0];
CMSampleBufferRef sampleBuffer = [assetReaderOutput copyNextSampleBuffer];
sampleBuffer
是这里每个视频帧的缓冲区。
问题:
- 如何在这里获取每个视频帧的时间戳?
- 换句话说&更详细,我怎样才能得到每个
sampleBuffer
我返回的时间戳copyNextSampleBuffer
?
PS:
请注意,我需要以毫秒为单位的时间戳。