обрезка видео с использованием AVMutableComposition - PullRequest
2 голосов
/ 24 февраля 2012

Для обрезки видео я использовал метод removeTimeRange AVMutableCompositionTrack.

[mCachedCompositionTrack removeTimeRange:CMTimeRangeMake(CMTimeMake(3, NSEC_PER_SEC), CMTimeMake(4, NSEC_PER_SEC))];

Здесь продолжительность видео составляет 10 сек. и после вызова вышеупомянутого метода длина видео должна быть 9 секунд (кадры с timeRange 3 - 4 должны быть удалены с дорожки). Но этого не происходит, вместо этого он всегда возвращает фактическую длину видео с пустыми кадрами.

Любая помощь будет оценена.

1 Ответ

2 голосов
/ 04 марта 2012

Я полагаю, что вы используете функцию CMTimeMake неправильно, но это трудно сказать с таким небольшим количеством кода.CMTimeMake создает долю времени.Это должно соответствовать количеству кадров в секунду.Так что если вы хотите, в этом случае, отрезать одну секунду.Но может быть важно рассмотреть и частоту кадров.

Если бы частота кадров была 30 кадров в секунду, я бы создал временной интервал следующим образом: CMTimeRangeMake(CMTimeMake(3*30, 30), CMTimeMake(4*30, 30))

Вы пробовали это?

...