小编Ris*_*tia的帖子

AVMutableVideoComposition输出视频缩小

我是斯威夫特的新手.我正在尝试添加一个参考SO代码的水印.我的原始视频分辨率是1280 X 720,但输出视频是缩小版.

这是前后图片

之前

后

这是我创建水印的功能.

private func watermark(video videoAsset:AVAsset, watermarkText text : String!, image : CGImage!, saveToLibrary flag : Bool, completion : ((_ status : AVAssetExportSessionStatus?, _ session: AVAssetExportSession?, _ outputURL : URL?) -> ())?) {
    DispatchQueue.global(qos: DispatchQoS.QoSClass.default).async {

        let mixComposition = AVMutableComposition()

        let compositionVideoTrack = mixComposition.addMutableTrack(withMediaType: AVMediaTypeVideo, preferredTrackID: Int32(kCMPersistentTrackID_Invalid))
        let clipVideoTrack = videoAsset.tracks(withMediaType: AVMediaTypeVideo)[0]
        do {
            try compositionVideoTrack.insertTimeRange(CMTimeRangeMake(kCMTimeZero, videoAsset.duration), of: clipVideoTrack, at: kCMTimeZero)
        }
        catch {
            print(error.localizedDescription)
        }

        let videoSize = clipVideoTrack.naturalSize

        print("Video size", videoSize.height) //720
        print("Video size", videoSize.width) …
Run Code Online (Sandbox Code Playgroud)

avfoundation ios swift

12
推荐指数
1
解决办法
507
查看次数

标签 统计

avfoundation ×1

ios ×1

swift ×1