Zusammenführen von zwei m4v-Filmdateien mit AVMutableComposition - Videos werden nicht zusammengeführt

Ich verwende den folgenden Code, um zu versuchen, zwei im Dokumentenordner gespeicherte m4v-Dateien zusammenzuführen:

<code>CMTime insertionPoint = kCMTimeZero;
NSError * error = nil;

AVMutableComposition *composition = [AVMutableComposition composition];

AVURLAsset* asset = [AVURLAsset URLAssetWithURL: [assetURLArray objectForKey:kIntroVideo] options:nil];

if (![composition insertTimeRange:CMTimeRangeMake(kCMTimeZero, asset.duration) 
                          ofAsset:asset 
                           atTime:insertionPoint 
                            error:&error]) 
{
    NSLog(@"error: %@",error);
}

insertionPoint = CMTimeAdd(insertionPoint, asset.duration);

AVURLAsset* asset2 = [AVURLAsset URLAssetWithURL: [assetURLArray objectForKey:kMainVideo] options:nil];

if (![composition insertTimeRange:CMTimeRangeMake(kCMTimeZero, asset2.duration) 
                          ofAsset:asset2 
                           atTime:insertionPoint 
                            error:&error]) 
{
    NSLog(@"error: %@",error);
}

AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:composition presetName:AVAssetExportPresetHighestQuality];

NSString *exportVideoPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/FinishedVideo.m4v"];

NSURL *exportURL = [NSURL fileURLWithPath:exportVideoPath];
exportSession.outputURL = exportURL;
exportSession.outputFileType = AVFileTypeQuickTimeMovie;
[exportSession exportAsynchronouslyWithCompletionHandler:^{
    switch (exportSession.status) {
        case AVAssetExportSessionStatusFailed:{
            NSLog (@"FAIL");
            break;
        }
        case AVAssetExportSessionStatusCompleted: {
            NSLog (@"SUCCESS");
}
};
 }]; 
}
</code>

Das Problem ist, dass die beiden Videos nicht richtig zusammengeführt werden. Die Gesamtdauer des zusammengeführten Films ist korrekt, das Video wechselt jedoch nie zum zweiten Film und zeigt das letzte Bild des ersten Films für die Dauer an. Seltsamerweise kann ich das Audio für das zweite Video im Hintergrund hören.

Hat jemand eine Idee was falsch ist?

BEARBEITEN - Das Seltsame ist, dass es funktioniert, wenn ich zwei Clips mit genau der gleichen Länge zusammenführe.

BEARBEITEN - Habe versucht, die Dateierweiterung mit demselben Problem auf .mov zu ändern.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage