【发布时间】:2019-08-21 22:42:55
【问题描述】:
我正在开发一个应用程序,该应用程序允许您将从用户的照片库中选择的照片和视频合并到一个电影中。到目前为止,我的应用程序可以轻松处理常规视频、实时照片(作为视频)和静态照片。但是,我在慢动作视频(以及时间流逝,就此而言)遇到了很多麻烦。
我的主要问题是:慢动作视频的慢动作片段中的音频非常失真(例如,它听起来有点嗡嗡声、机械声和断断续续的声音)。视频按原样显示。
根据this question 的答案,我决定首先使用 AVAssetExportSession 和最高质量预设将慢动作视频的 AVComposition 导出到临时目录,然后使用生成的文件创建一个 AVURLAsset 用于我的合成。我可以确认这个最初导出的视频也有音频失真。我所做的只是尝试导出我从 PHAsset 获取的 AVAsset,而不做任何更改。
我的问题是:如何从用户的库中获取慢动作视频并将其作为 .mov 文件导出到临时目录,以便它按预期播放,并且慢动作片段的音频正确地改变了音高而没有极度失真?
难道 AVAssetExportSession 不能正确处理这个问题吗?我应该改用 AVAssetWriter 吗?我不确定发布任何代码是否会有所帮助,因为我所做的只是设置一个临时目录路径和一个 AVAssetExportSession 来导出 AVComposition,这会成功。
我的应用是用 Swift 编写的,但我会用 Objective C 来回答。
【问题讨论】:
标签: ios swift avfoundation