Я пытаюсь создать новое приложение для редактирования видео на iPhone и использовать фреймворк AVFoundation. При использовании AVMutableComposition и AVMutableVideoComposition для создания видео приложение зависало из-за памяти, есть ли лучший способ редактирования видео? или как это оптимизировать?
следующий код, я думаю, это в основном потому, что созданный мной animatedTitleLayer , я добавляю около 5 фотографий для анимации ядра.
// Set up Core Animation layers to contribute a title animation overlay if we have a title set.
if (self.titleText) {
animatedTitleLayer = [self buildAnimatedTitleLayerForSize:videoSize];
if (! forPlayback) {
// For export: build a Core Animation tree that contains both the animated title and the video.
CALayer *parentLayer = [CALayer layer];
CALayer *videoLayer = [CALayer layer];
parentLayer.frame = CGRectMake(0, 0, videoSize.width, videoSize.height);
videoLayer.frame = CGRectMake(0, 0, videoSize.width, videoSize.height);
[parentLayer addSublayer:videoLayer];
[parentLayer addSublayer:animatedTitleLayer];
if (! videoComposition) {
// No transition set -- make a "pass through video track" video composition so we can include the Core Animation tree as a post-processing stage.
videoComposition = [AVMutableVideoComposition videoComposition];
[self buildPassThroughVideoComposition:videoComposition forComposition:composition];
}
videoComposition.animationTool = [AVVideoCompositionCoreAnimationTool videoCompositionCoreAnimationToolWithPostProcessingAsVideoLayer:videoLayer inLayer:parentLayer];
}
}
if (videoComposition) {
// Every videoComposition needs these properties to be set:
videoComposition.frameDuration = CMTimeMake(1, 30); // 30 fps
videoComposition.renderSize = videoSize;
}
Есть ли еще что-нибудь для конвертации основной анимации в видео? в приведенном выше коде я должен добавить все фотографии одновременно.
Есть приложение, Splice Video Editor , сделанное очень хорошо, быстро и стабильно. Я собираюсь сделать то же самое, конвертировать базовую анимацию в видео, но медленно и нестабильно.