1

一部のビデオ トラックの公称フレームレートは確認できますが、AVFoundation ドキュメントの現在のフレームは確認できません。AVPlayer で再生されているトラックの現在のフレーム番号を取得するにはどうすればよいですか? フレーム レートはさまざまであり、nominalFrameRate は常に .m3u8 ストリームで 0.0 になることはわかっていますが、nominalFrameRate に currentTime を掛けずに、現在再生中のトラックのフレーム番号を取得する方法が必ずあるはずです。

ありがとう。

4

1 に答える 1

0

iOS 7 以降では、AVPlayerItemTrack の currentVideoFrameRate プロパティを使用できます。FPS を測定した唯一の一貫したプロパティです。言及したように、nomalFrameRate プロパティは 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 に答える