VideoConverter 0.1.5

VideoConverter 0.1.5

‘pikachu987’ maintaining.



  • 作者:
  • pikachu987

VideoConverter

Version License Platform Swift 5.0

介绍

视频可以通过 x, y, width 和 height 来裁剪,可以旋转 0, 90, 180, 270 度。您还可以通过 startTime 和 endTime 或 durationTime 调整视频播放时长,也可以选择静音模式。


VideoConverter

- - -
裁剪 裁剪 旋转

需求

安装

VideoConverter 通过 CocoaPods 提供。为了安装它,只需将以下行添加到您的 Podfile 中即可

pod 'VideoConverter'

使用

import VideoConverter
let videoConverter = VideoConverter(asset: asset)
videoConverter.convert { (url, error) in
    
}

转换

videoConverter.convert(<#T##option: ConverterOption?##ConverterOption?#>, progress: <#T##((Double?) -> Void)?##((Double?) -> Void)?##(Double?) -> Void#>, completion: <#T##((URL?, Error?) -> Void)##((URL?, Error?) -> Void)##(URL?, Error?) -> Void#>)
var videoConverterCrop: ConverterCrop?
if let dimFrame = self.videoView.dimFrame {
    videoConverterCrop = ConverterCrop(frame: dimFrame, contrastSize: self.videoView.videoRect.size)
}

videoConverter.convert(ConverterOption(
    trimRange: CMTimeRange(start: self.videoTrim.startTime, duration: self.videoTrim.durationTime),
    convertCrop: videoConverterCrop,
    rotate: CGFloat(.pi/2 * self.rotate),
    quality: self.preset,
    isMute: self.isMute), progress: { [weak self] (progress) in
        self?.progressView.setProgress(Float(progress ?? 0), animated: false)
}, completion: { [weak self] (url, error) in
    if let error = error {
        let alertController = UIAlertController(title: nil, message: error.localizedDescription, preferredStyle: .alert)
        alertController.addAction(UIAlertAction(title: "Confirm", style: .default, handler: nil))
        self?.present(alertController, animated: true)
    } else {
        self?.convertVideoView.url = url
        self?.progressView.setProgress(0, animated: false)
    }
})

转换选项

var trimRange: CMTimeRange // Start time and end time or start time and duration time
var convertCrop: ConverterCrop // Crop position, size
var rotate: CGFloat // radian rotation
var quality: String // Video quality
var isMute: Bool // Mute mode

转换裁剪

var frame: CGRect // Crop position, size
var contrastSize: CGSize // Crop reference size

作者

pikachu987, [email protected]

许可协议

VideoConverter遵循MIT许可协议。更多信息请参阅LICENSE文件。