gpt4 book ai didi

ios - 以正常 FPS 保存慢动作视频

转载 作者:行者123 更新时间:2023-11-28 13:05:21 24 4
gpt4 key购买 nike

我有一个由慢动作视频制作的 AVMutableComposition。在 AVPlayer 中,它以正确的速度播放,因为我已使用 PHVideoRequestOptions.Original 从照片中请求它,其中不包括视频的 Slo-Mo 部分。但是,导出可变合成将以完整 FPS 导出它,如果 FPS 太高,这会导致 Slo-Mo 返回。

如何导出帧率为 30 的视频?是否有特定文件类型不包含慢动作或其他一些方式来执行此操作?

我发现了两个(不好的)解决方案:

  1. AVAssetExportSession 设置为 AVAssetExportPresetMediumQuality 或更低会导致帧速率下降,但质量也会变差。不好。
  2. AVAssetExportSession.videoComposition 设置为 frameDuration 为 CMTimeMake(1, 30) 的视频合成,但用它导出视频需要很长时间,这不是也好。我不知道是什么原因导致它花了这么长时间。

最佳答案

根据 Apple DTS,目前最好的解决方案是我提到的第 2 种解决方案。这里有更多详细信息:

        let videoComposition = AVMutableVideoComposition(propertiesOfAsset: mutableComposition)
videoComposition.frameDuration = CMTimeMake(1, 30) // Changes FPS to 30

let exportSession = AVAssetExportSession(asset: mutableComposition, presetName: AVAssetExportPresetHighestQuality)

exportSession?.videoComposition = videoComposition

exportSession?.outputURL = temporaryURL
exportSession?.outputFileType = AVFileTypeMPEG4

exportSession?.exportAsynchronouslyWithCompletionHandler({
// Handling the export
})

使用视频合成导出似乎比没有它时花费更多的时间,但我已经按照 Apple DTS 的建议提交了关于改善这种情况的附魔请求。

关于ios - 以正常 FPS 保存慢动作视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32986803/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com