ムービーがドロップ フレームかノンドロップ フレームかを調べる必要があります。
xcode ビデオ フレームワーク (QTMovie または AVFoundation の何か) のビデオ ファイルの属性でそれを見つけようとしています。あまり運がない。
FCP-X XML ファイルに必要な情報を入力するためにこれを行っています。
誰もこれについて経験がありますか?
重要な注意事項、私は 64 ビット環境で作業しており、そこにとどまらなければなりません。
ムービーがドロップ フレームかノンドロップ フレームかを調べる必要があります。
xcode ビデオ フレームワーク (QTMovie または AVFoundation の何か) のビデオ ファイルの属性でそれを見つけようとしています。あまり運がない。
FCP-X XML ファイルに必要な情報を入力するためにこれを行っています。
誰もこれについて経験がありますか?
重要な注意事項、私は 64 ビット環境で作業しており、そこにとどまらなければなりません。
を使用CMTimeCodeFormatDescriptionGetTimeCodeFlags()
して、特定のタイムコード形式の説明 ref のタイム コード フラグを取得できます。AVAssetTrack
にそのformatDescriptions
.
次のようになると思います。
BOOL isDropFrame (AVAssetTrack* track)
{
BOOL result = NO;
NSArray* descriptions = [track formatDescriptions];
NSEnumerator* descriptionEnum = [descriptions objectEnumerator];
CMFormatDescriptionRef nextDescription;
while ((!result) && ((nextDescription = (CMFormatDescriptionRef)[descriptionEnum nextObject]) != nil))
{
if (CMFormatDescriptionGetMediaType(nextDescription) == kCMMediaType_TimeCode)
{
uint32_t timeCodeFlags = CMTimeCodeFormatDescriptionGetTimeCodeFlags ((CMTimeCodeFormatDescriptionRef)nextDescription);
result = ((timeCodeFlags & kCMTimeCodeFlag_DropFrame) != 0);
}
}
return result;
}