如何使用AVFoundation获取在iOS中播放的视频的当前帧?
我可以看到一些视频曲目的名义帧速率,但在AVFoundation文档中看不到当前帧。在AVPlayer中播放曲目时,如何获取曲目的当前帧数?我知道帧速率会有所不同,并且nominalFrameRate在.m3u8流中始终为0.0,但肯定有办法获得当前播放曲目的帧数,而不必将nominalFrameRate乘以currentTime如何使用AVFoundation获取在iOS中播放的视频的当前帧?,ios,objective-c,cocoa,avfoundation,Ios,Objective C,Cocoa,Avfoundation,我可以看到一些视频曲目的名义帧速率,但在AVFoundation文档中看不到当前帧。在AVPlayer中播放曲目时,如何获取曲目的当前帧数?我知道帧速率会有所不同,并且nominalFrameRate在.m3u8流中始终为0.0,但肯定有办法获得当前播放曲目的帧数,而不必将nominalFrameRate乘以currentTime 谢谢。对于iOS 7+您可以使用AVPlayerItemTrack的currentVideoFrameRate属性。这是我见过的唯一一个一致的属性,可以测量FPS。n
谢谢。对于iOS 7+您可以使用AVPlayerItemTrack的currentVideoFrameRate属性。这是我见过的唯一一个一致的属性,可以测量FPS。nominalFrameRate属性似乎在HLS流中被破坏,并且始终返回0.0,如您所述
AVPlayerItem *item = AVPlayer.currentItem; // Your current item
float fps = 0.00;
for (AVPlayerItemTrack *track in item.tracks) {
if ([track.assetTrack.mediaType isEqualToString:AVMediaTypeVideo]) {
fps = track.currentVideoFrameRate;
}
}