Swift mov转Mp4

先倒入第三方的库

  import AVKit
  import MobileCoreServices

Mov 转 Mp4

   //MARK:视频 转 换
  extension StatisticalPanelWebViewController:UIImagePickerControllerDelegate,UINavigationControllerDelegate{

func openVideo() {
    
    let photoPicker =  UIImagePickerController()
    photoPicker.delegate = self
    photoPicker.allowsEditing = true
    photoPicker.sourceType = .photoLibrary
    //只显示视频类型的文件
    photoPicker.mediaTypes = [kUTTypeMovie as String]

    //在需要的地方present出来
    self.present(photoPicker, animated: true, completion: nil)
}


func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
    let videoURL = info[UIImagePickerController.InfoKey.mediaURL] as! URL
    let pathString = videoURL.relativePath
    print("视频地址:\(pathString)")
    picker.dismiss(animated: true, completion: {})
    
    movToMp4Url(videoURL)
}

//视频 格式 转换
func movToMp4Url(_ outputFileURL:URL) {
    
    let avAsset = AVURLAsset.init(url: outputFileURL, options: nil)
    let _:NSArray = avAsset.tracks(withMediaType: AVMediaType.video) as NSArray
    let destinationPath = NSTemporaryDirectory() + "fileName.mp4"
    let newVideoPath: NSURL = NSURL(fileURLWithPath: destinationPath as String)
    let exporter = AVAssetExportSession(asset: avAsset,
                                                   presetName:AVAssetExportPresetHighestQuality)!
    exporter.outputURL = newVideoPath as URL
    exporter.outputFileType = AVFileType.mp4
    exporter.shouldOptimizeForNetworkUse = true
    exporter.exportAsynchronously(completionHandler: {
        print("NewPath:\(String(describing: newVideoPath))")
    })
}

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容