1

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

谢谢。

4

1 回答 1

0

对于 iOS 7+,您可以使用 AVPlayerItemTrack 的 currentVideoFrameRate 属性。它是我见过的唯一一致的属性来衡量 FPS。名义帧率属性似乎在 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;
    }
}
于 2015-04-06T19:09:38.397 回答