Swift2 AVAssetWriterInput:如何获得电影中图像的正确纵横比?

Swift2 AVAssetWriterInput:如何获得电影中图像的正确纵横比?,swift2,avfoundation,video-processing,avassetwriter,Swift2,Avfoundation,Video Processing,Avassetwriter,我尝试创建一个基于图像集合的视频。 图像的大小保留在inputSize中。 视频的大小在outputSize中保持不变 我想在视频中的图像方面适合全高 但由于某些原因,我无法解释,最后的视频显示了全高图像(良好),但在水平轴上拉伸了一个 如何获得正确的宽度(具有正确的纵横比) 我的代码片段如下所示: static let videoW: CGFloat = 720 static let videoH: CGFloat = 1280 let videoRatio = videoW / video

我尝试创建一个基于图像集合的视频。 图像的大小保留在inputSize中。 视频的大小在outputSize中保持不变

我想在视频中的图像方面适合全高

但由于某些原因,我无法解释,最后的视频显示了全高图像(良好),但在水平轴上拉伸了一个

如何获得正确的宽度(具有正确的纵横比)

我的代码片段如下所示:

static let videoW: CGFloat =  720
static let videoH: CGFloat = 1280
let videoRatio = videoW / videoH

var inputSize = CGSize(width: 480, height:700)
static let outputSize = CGSize(width: videoW, height: videoH)



    if let videoWriter = videoWriter {
        let videoSettings: [String : AnyObject] = [
            AVVideoCodecKey  : AVVideoCodecH264,
            AVVideoWidthKey  : MovieBuilder.outputSize.width,
            AVVideoHeightKey : MovieBuilder.outputSize.height,
        ]

        let videoWriterInput = AVAssetWriterInput(mediaType: AVMediaTypeVideo, outputSettings: videoSettings)

        let sourceBufferAttributes = [String : AnyObject](dictionaryLiteral:
            (kCVPixelBufferPixelFormatTypeKey as String, Int(kCVPixelFormatType_32ARGB)),
            (kCVPixelBufferWidthKey as String, Float(inputSize.width)),
            (kCVPixelBufferHeightKey as String, Float(inputSize.height))
        )

您好,在您的视频设置中,请尝试将此添加到词典的一部分

AVVideoScalingModeKey:AVVideoScalingModeResizeAspectFill

源缓冲区属性还应反映与视频设置相同的大小