如何使用AVAssetExportSession与AVVideoCodecH264编解码器进行编码?

rus*_*ell 5 video-encoding avasset swift

我目前有以下代码,可以在选择后压缩视频

func compressVideo(inputURL: NSURL, outputURL: NSURL, handler:(session: AVAssetExportSession)-> Void)
{
    var urlAsset = AVURLAsset(URL: inputURL, options: nil)

    var exportSession = AVAssetExportSession(asset: urlAsset, presetName: AVAssetExportPresetMediumQuality) // AVAssetExportPresetHighestQuality)

    exportSession!.outputURL = outputURL
    exportSession!.outputFileType = AVFileTypeMPEG4 //AVFileTypeQuickTimeMovie
    exportSession!.shouldOptimizeForNetworkUse = true
    exportSession!.exportAsynchronouslyWithCompletionHandler { () -> Void in

        handler(session: exportSession!)
    }

}
Run Code Online (Sandbox Code Playgroud)

有什么方法可以将所选视频重新编码为AVVideoCodecH264或其他方法?由于在HTML5播放器(非野生动物园)或Android手机上播放音频时,音频已关闭。

视频文件本身是从Snapchat导出的.mov格式,并且视频中包含照片片段时,会显示音频同步。