Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用AVFoundation获取在iOS中播放的视频的当前帧?_Ios_Objective C_Cocoa_Avfoundation - Fatal编程技术网

如何使用AVFoundation获取在iOS中播放的视频的当前帧?

如何使用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

我可以看到一些视频曲目的名义帧速率,但在AVFoundation文档中看不到当前帧。在AVPlayer中播放曲目时,如何获取曲目的当前帧数?我知道帧速率会有所不同,并且nominalFrameRate在.m3u8流中始终为0.0,但肯定有办法获得当前播放曲目的帧数,而不必将nominalFrameRate乘以currentTime


谢谢。

对于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;
    }
}