2011-08-02 3 views
2

Quicktimeファイル(およびフレームレート、うまくいけば)の合計フレーム数にアクセスする必要があります。私はその情報を得るのが難しいと思っていました。あるいは、私がフレームカウントにすることができる情報さえも得ました。フレームレートが異なるフレームでのQuicktimesの継続時間を取得する必要があります

私はこれをいくつかの方法で試してみましたが、本当の成功はありませんでした。

Quicktime Playerがこの素晴らしいメタデータとファイル情報にアクセスできることは奇妙に思えます。

それで、繰り返しますが、Quicktime Playerと同じように、現在の再生位置で、合計フレーム期間とおそらくフレームカウントにアクセスする方法を知っている人はいますか?

答えて

2

私はそれを理解しました!

私はこれについての情報を見つけるのに苦労していたので、私の発見を共有したかっただけです。

これは、Quicktimeムービーで読み込み、使用可能なトラック(ビデオ、オーディオ、tc)に分割して、ビデオトラックを探します。それから、NSLogのTotal framesとフレームレートが返されます。

QTMovie *movieFile = [QTMovie movieWithFile:moviePath error:NULL]; 
NSArray *allTracks = [movieFile tracks]; 

for(QTTrack *track in allTracks) 
{ 
    QTMedia *media = [track media]; 

    // Checks to make sure the quicktime media being inputted has a video track. 
    if([[media attributeForKey:QTMediaTypeAttribute] isEqualToString:QTMediaTypeVideo]) 
    { 
     NSNumber *samples = [media attributeForKey:QTMediaSampleCountAttribute]; 
     NSLog(@"Total Frames: %ld", (NSInteger)[samples integerValue]); 
     NSLog(@"Frame Rate: %@", [track attributeForKey:QTTrackTimeScaleAttribute]); 
    } 
} 
関連する問題