2012-05-11 5 views
6

Je souhaite obtenir la fréquence d'images pour une vidéo spécifique. J'ai essayé de regarder les API dans les AVFoundation et AssetsLibrary comme AVURLAsset ou AVAssetReader. Aucun d'eux n'est vraiment utile. Est-ce que quelqu'un sait une méthode dans les frameworks/bibliothèque d'Apple pour obtenir le taux de trameiOS obtenir le taux de trame vidéo

+1

Il semble que la bonne réponse est maintenant la réponse @ AddisDev? – Crashalot

+0

J'ai mis à jour la réponse acceptée – vodkhang

Répondre

3

Pour iOS 7+, vous pouvez utiliser la propriété currentVideoFrameRate de AVPlayerItemTrack. C'est la seule propriété cohérente que j'ai vu mesurer FPS. La propriété nominalFrameRate semble être rompue dans les flux HLS.

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

L'option la plus facile est d'obtenir un AVAssetTrack et de lire sa propriété nominaleFrameRate. On dirait que this peut vous aider.

La fréquence d'images nominale est la fréquence d'images de la piste, en images par seconde. (lecture seule) AVAssetTrack classe @property (nonatomic, en lecture seule) nominalFrameRate flotteur

+0

Si @AddisDev est correct, cela ne devrait plus être considéré comme la bonne réponse. Quelqu'un peut-il vérifier? – Crashalot

+0

@Crashalot Ceci est une solution réalisable. –

Questions connexes