2012-05-11 45 views
6

Tôi muốn nhận tỷ lệ khung hình cho một video cụ thể. Tôi đã cố gắng xem xét các API trong AVFoundationAssetsLibrary như AVURLAsset hoặc AVAssetReader. Không ai trong số họ thực sự hữu ích. Có ai biết một phương pháp trong khung/thư viện của Apple để có được tốc độ khung hìnhiOS nhận tỷ lệ khung hình video

+1

Có vẻ như câu trả lời chính xác giờ là câu trả lời của @ AddisDev? – Crashalot

+0

Tôi đã cập nhật câu trả lời được chấp nhận – vodkhang

Trả lời

3

Đối với iOS 7 trở lên bạn có thể sử dụng thuộc tính currentVideoFrameRate của AVPlayerItemTrack. Thuộc tính duy nhất của nó mà tôi đã thấy là đo lường FPS. Thuộc tính nominalFrameRate dường như bị hỏng trong các luồng 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

Tùy chọn dễ dàng hơn là lấy một AVAssetTrack và đọc thuộc tính nominalFrameRate của nó. Có vẻ như this có thể giúp bạn.

Tốc độ khung danh nghĩa là tốc độ khung hình của tuyến đường, tính bằng khung hình trên giây. (chỉ đọc) AVAssetTrack Lớp @property (nonatomic, chỉ đọc) float nominalFrameRate

+0

Nếu @AddisDev là chính xác, điều này không còn nên được coi là câu trả lời đúng. Ai đó có thể xác minh? – Crashalot

+0

@Crashalot Đây là giải pháp khả thi. –

Các vấn đề liên quan