Swift3 AVAssetExportSession有时会制作黑色视频

Swift3 AVAssetExportSession有时会制作黑色视频,swift3,overlay,video-processing,avassetexportsession,Swift3,Overlay,Video Processing,Avassetexportsession,我是视频处理的新手,使用Swift 3。我尝试将多个视频与AVAssetExportSession合并,并使用AVVideoCompositionCoreAnimationTool为最终视频添加覆盖 问题是,有时最终的视频是完美的,但有时它只是给我一个黑色的视频,只有声音,即使我没有改变任何东西:( 任何遇到这个问题的人,请告诉我一个想法,谢谢 let mixComposition: AVMutableComposition = AVMutableComposition() //Add ass

我是视频处理的新手,使用Swift 3。我尝试将多个视频与
AVAssetExportSession
合并,并使用
AVVideoCompositionCoreAnimationTool
为最终视频添加覆盖

问题是,有时最终的视频是完美的,但有时它只是给我一个黑色的视频,只有声音,即使我没有改变任何东西:(

任何遇到这个问题的人,请告诉我一个想法,谢谢

let mixComposition: AVMutableComposition = AVMutableComposition()

//Add assets here

let mainComposition: AVMutableVideoComposition = AVMutableVideoComposition(propertiesOf: mixComposition)
mainComposition.frameDuration = CMTimeMake(1, 30)
mainComposition.renderSize = renderSize
mainComposition.renderScale = 1.0
mainComposition.animationTool = AVVideoCompositionCoreAnimationTool(postProcessingAsVideoLayer: videoLayer, in: parentLayer)
mainComposition.instructions = instructions

let exportSession: AVAssetExportSession = AVAssetExportSession(asset: mixComposition, presetName: AVAssetExportPresetHighestQuality)!
exportSession.videoComposition = mainComposition
exportSession.audioMix = audioMix
exportSession.outputURL = outputURL
exportSession.outputFileType = AVFileTypeMPEG4
exportSession.shouldOptimizeForNetworkUse = true

exportSession.exportAsynchronously {
    // Ended here
}

我所做的是尝试在导出视频后等待几秒钟,似乎导出的视频尚未准备好播放!我面临相同的问题。您找到解决方案了吗?