gpt4 book ai didi

ios - Swift:裁剪和导出视频

转载 作者:IT王子 更新时间:2023-10-29 05:44:14 28 4
gpt4 key购买 nike

我想将视频裁剪成正方形,但我做不到。

我转换了 this code快速但我只在导出视频后黑屏

        var videoComposition: AVMutableVideoComposition = AVMutableVideoComposition()
videoComposition.frameDuration = CMTimeMake(1, 60)
videoComposition.renderSize = CGSizeMake(clipVideoTrack.naturalSize.height, clipVideoTrack.naturalSize.height)

var instruction: AVMutableVideoCompositionInstruction = AVMutableVideoCompositionInstruction()
instruction.timeRange = CMTimeRangeMake(kCMTimeZero, CMTimeMakeWithSeconds(60, 30))

var transformer: AVMutableVideoCompositionLayerInstruction =
AVMutableVideoCompositionLayerInstruction(assetTrack: clipVideoTrack)

var t1: CGAffineTransform = CGAffineTransformMakeTranslation(clipVideoTrack.naturalSize.height, 0)
var t2: CGAffineTransform = CGAffineTransformRotate(t1, CGFloat(M_PI_2))

var finalTransform: CGAffineTransform = t2

transformer.setTransform(finalTransform, atTime: kCMTimeZero)

instruction.layerInstructions = NSArray(object: transformer)
videoComposition.instructions = NSArray(object: instruction)

var documentsPath: NSString = NSSearchPathForDirectoriesInDomains(.DocumentDirectory,.UserDomainMask,true)[0] as NSString

var exportPath: NSString = documentsPath.stringByAppendingFormat("/xvideo.mov")
var exportUrl: NSURL = NSURL.fileURLWithPath(exportPath)!


var exporter = AVAssetExportSession(asset: asset!, presetName: AVAssetExportPresetHighestQuality)
exporter.videoComposition = videoComposition
exporter.outputFileType = AVFileTypeQuickTimeMovie
exporter.outputURL = exportUrl

我错过了什么?

最佳答案

您在最后缺少导出程序 block ,无法使用您创建的 AVAssetExportSession 执行导出操作:

exporter.exportAsynchronouslyWithCompletionHandler({

//display video after export is complete, for example...
let outputURL:NSURL = exporter.outputURL;
let asset:AVURLAsset = AVURLAsset(URL: outputURL, options: nil)
let newPlayerItem:AVPlayerItem = AVPlayerItem(asset: asset)

self.mPlayer = AVPlayer.playerWithPlayerItem(newPlayerItem) as AVPlayer

})

关于ios - Swift:裁剪和导出视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27660975/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com