Необходимо получить продолжительность QuickTime в кадрах с различной частотой кадров - PullRequest
2 голосов
/ 02 августа 2011

Мне нужен доступ к общему количеству кадров в файле Quicktime (и, надеюсь, частоте кадров). Мне было трудно получить эту информацию или даже информацию, которую я могу сформировать в счетчик кадров.

Я пытался сделать это несколькими разными способами, но без реального успеха.

Кажется странным, что Quicktime Player имеет доступ ко всем этим потрясающим метаданным и информации о файлах, и я ничего не понимаю!

Итак, повторюсь, кто-нибудь знает, как получить доступ к общей продолжительности кадра и, возможно, к количеству кадров в текущем месте воспроизведения, как это делает Quicktime Player?

1 Ответ

2 голосов
/ 04 августа 2011

Я понял это!

Просто хотел поделиться своим открытием, так как мне было очень трудно найти какую-либо информацию по этому вопросу.

Это будет читать фильм Quicktime, разбивать его на доступные дорожки (видео, аудио и т. Д.), А затем искать дорожку видео. Затем он возвращает общее количество кадров и частоту кадров в NSLog.

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]);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...