各位大神,谁能提供给定一个视频URL如何用ffmpeg压缩视频的代码?
1条回答 默认 最新
你知我知皆知 2024-08-04 16:26关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在iOS中,我们可以使用
AVFoundation框架来处理音频和视频。以下是一个基本的例子,它将从指定的URL读取视频文件,并将其保存为MP4格式。import AVFoundation func compressVideo(url: URL) { let video = try! AVAsset(url: url) // 创建一个新的AVAudioSession对象 let audioSession = AVAudioSession.sharedInstance() // 设置这个对象为全局的(默认是私有的) audioSession.setCategory(.playAndRecord, mode: .default) audioSession.setActive(true, options: .notifyOthersOnDeactivation) // 将视频转换为MP4格式 let output = AVAssetExportSession(asset: video, presetName: .highQuality) do { try output.export(toFile: url.replacingOccurrences(of: "file://", with: ""), at: nil) print("Video compressed successfully") } catch { print("Error compressing video: \(error.localizedDescription)") } }请注意,你需要先安装了
AVFoundation框架才能运行这段代码。你可以通过Xcode的“General”选项卡找到它并进行安装。此外,这段代码可能不会正确地处理所有类型的视频文件,因为FFmpeg对不同的编码器有不同的要求。你可能需要根据你的具体需求调整这段代码。
最后,这段代码会创建一个新的AVAudioSession对象。如果你不需要这个功能,可以移除或修改它。
解决 无用评论 打赏 举报