現在、正方形の動画を撮影するアプリをつくっており、GPUImageのcropFilterをかけて正方形に切り取ろうとしています。
正方形の動画を保存することはできるのですが、動画の縦横比がくるっており、横に引き伸ばしたような動画になってしまいます。
下記がコードの一部です。
videoView.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.width) videoView.fillMode = kGPUImageFillModePreserveAspectRatioAndFill self.view.addSubview(videoView) videoCamera.outputImageOrientation = .Portrait videoCamera.addTarget(videoView) let documentDirectory = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] let fileName = "video.mp4" pathToMovie = (documentDirectory as NSString).stringByAppendingPathComponent(fileName) let movieURL = NSURL(fileURLWithPath: pathToMovie) unlink((pathToMovie as NSString).UTF8String) movieWriter = GPUImageMovieWriter(movieURL: movieURL, size: CGSize(width: 480, height: 480)) movieWriter.encodingLiveVideo = true movieWriter.shouldPassthroughAudio = true movieWriter.assetWriter.movieFragmentInterval = kCMTimeInvalid videoCamera.addTarget(movieWriter) videoCamera.audioEncodingTarget = movieWriter let cropFilter = GPUImageCropFilter(cropRegion: CGRect(x: 0, y: 0.125, width: 1.0, height: 0.75)) videoCamera.addTarget(cropFilter) cropFilter.addTarget(movieWriter) videoCamera.startCameraCapture() movieWriter.startRecording()
原因がわかる方、是非力をかしてください。
よろしくお願いいたします。
あなたの回答
tips
プレビュー