Белое видео при открытии AVMutableComposition в Instagram

После того, как я экспортируюAVMutableComposition я используюPHPhotoLibrary чтобы сохранить видео в камеру ролл. вcreationRequestForAssetFromVideoAtFileURL: обработчик завершения, затем я открываю сохраненное видео в Instagram, вот так:

__block PHObjectPlaceholder *videoAssetPlaceholder;

[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^{
    PHAssetChangeRequest *req = [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:localVideoURL];
    videoAssetPlaceholder = req.placeholderForCreatedAsset;
} completionHandler:^(BOOL success, NSError *error) {
    if (success) {
        completion(YES);
        NSString *localID = videoAssetPlaceholder.localIdentifier;
        NSRange rangeOfSlash = [localID rangeOfString:@"/"];
        if (rangeOfSlash.location != NSNotFound) {
            NSString *assetID = [localID substringToIndex:rangeOfSlash.location];
            NSURL *instagramURL = [NSURL URLWithString:[NSString stringWithFormat:@"instagram://library?AssetPath=%@", assetID]];
            if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
                [[UIApplication sharedApplication] openURL:instagramURL];
            }
        }
    }
}];

Примерно в 50% случаев открывается Instagram, и видео воспроизводится, как и ожидалось. Другие 50% времени, однако, и видео, и предварительный просмотр - белые, и все, что я получаю, это звук. Обычно это можно исправить, выбрав другое видео, а затем вернувшись к моему видео. Видео отлично воспроизводится в кадре камеры, только Instagram вызывает проблемы. Является ли это проблемой из-за того, что Instagram или я неправильно экспортирую свои видео?

Это моиAVAssetExportSession настройки:

AVAssetExportSession *exporter = [[AVAssetExportSession alloc] initWithAsset:mixComposition
                                                                  presetName:AVAssetExportPresetHighestQuality];
exporter.outputURL = url;
exporter.outputFileType = AVFileTypeMPEG4;
exporter.shouldOptimizeForNetworkUse = YES;
exporter.videoComposition = mainCompositionInst;
[exporter exportAsynchronouslyWithCompletionHandler:^{
    dispatch_async(dispatch_get_main_queue(), ^{
        handler(exporter.outputURL);
    });
}];

Ответы на вопрос(1)

Ваш ответ на вопрос