AVAssetExportSession有时会制作黑色视频

时间:2016-11-25 02:31:06

标签: swift3 overlay video-processing avassetexportsession

我是使用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
}

0 个答案:

没有答案