【发布时间】:2020-01-19 14:01:00
【问题描述】:
我正在尝试压缩来自 AVCaptureSession 的输入并将其保存到 .mp4 文件中。我已成功转换并保存视频,但音频有问题。
我已经到了使用https://github.com/nevyn/LBMediaToolkit 转换音频的地步。我可以将转换后的 CMSampleBuffer 保存为 .mp4,但是当我在 iPhone 上播放它时,音频听起来会失真。
奇怪的是,音频在 QuickTime 中播放时也听起来失真,但在通过网络浏览器播放时听起来不错。点击here下载示例文件。
我认为我将正确的格式传递给转换器:
let asbd = AudioStreamBasicDescription(
mSampleRate: 44_100,
mFormatID: kAudioFormatMPEG4AAC,
mFormatFlags: UInt32(MPEG4ObjectID.AAC_LC.rawValue),
mBytesPerPacket: 0,
mFramesPerPacket: 1024,
mBytesPerFrame: 0,
mChannelsPerFrame: 2,
mBitsPerChannel: 0,
mReserved: 0)
return LBAudioConverter(convertingTo: asbd)
我不确定这是否是音频转换或写入文件的问题。这是一个仅包含音频的示例项目的链接:https://github.com/gaperlinski/AudioConversion(按照 README.MD 中的说明重现问题)
是否有什么明显的错误导致音频听起来失真?
【问题讨论】:
标签: ios audio avcapturesession avassetwriter audiotoolbox