小编Kyl*_*tov的帖子

AVAssetWriter 输入问题:MPEG4

我正在使用 AVAssetWriter 压缩视频。如果我将视频压缩文件设置为 Quicktime 电影,它工作正常,但是我想将其导出为 MPEG4,但在运行时出现此错误:

为了执行到文件类型 public.mpeg-4 的传递,请在 AVAssetWriterInput 初始值设定项中提供格式提示

这是我声明文件类型的具体代码:

 let videoInputQueue = DispatchQueue(label: "videoQueue")
    let audioInputQueue = DispatchQueue(label: "audioQueue")
    let formatter = DateFormatter()
    formatter.dateFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"
    let date = Date()
    let documentsPath = NSTemporaryDirectory()
    let outputPath = "\(documentsPath)/\(formatter.string(from: date)).mp4"
    let newOutputUrl = URL(fileURLWithPath: outputPath)

    do{
        assetWriter = try AVAssetWriter(outputURL: newOutputUrl, fileType: AVFileTypeMPEG4)
    }catch{
        assetWriter = nil
    }
    guard let writer = assetWriter else{
        fatalError("assetWriter was nil")
    }

    writer.shouldOptimizeForNetworkUse = true
    writer.add(videoInput)
    writer.add(audioInput)
Run Code Online (Sandbox Code Playgroud)

这是我的压缩的完整代码:

func compressFile(urlToCompress: URL, completion:@escaping …
Run Code Online (Sandbox Code Playgroud)

xcode ios avassetwriter swift

5
推荐指数
1
解决办法
1662
查看次数

标签 统计

avassetwriter ×1

ios ×1

swift ×1

xcode ×1