0

我将 AVAssetExportSession 与 AVAssetExportPresetPassthrough 结合使用将多个视频拼接在一起。一切都很好,除了我的第一个子剪辑应该完成后,它的图片“冻结”在最后一帧,但第二帧不会播放。每个剪辑完成后,我确保将图层不透明度设置为 0.0f,如果我使用另一个 Preset-Type 一切正常...有什么提示吗?

4

3 回答 3

3

我与 Apple 取得联系,他们告诉我这是一个错误,请在此处找到错误报告:https://bugreport.apple.com/cgi-bin/WebObjects/RadarWeb.woa/3/wo/zpx0I9jVzf8090ZICwg1GM/5.83。 28.0.9

于 2013-03-15T13:22:45.140 回答
2

虽然您可以AVAssetExportPresetPassthrough用来连接视频,但生成的视频并不是最兼容的,因为每个片段都以自己的轨道结束。它应该在 iOS/OSX 上播放,但不太可能在 YouTube 或 Facebook 上播放得很好。

所以你的实现有问题,但你可能应该考虑使用不同的预设(这会将你的视频扁平化为一个轨道)或使用AVAssetWriter.

于 2013-03-12T00:16:56.387 回答
0

我想这是因为您正在使用 aAVMutableComposition插入 2 个视频剪辑insertTimeRange:ofAsset:atTime:error:。这将导致合成上有 2 个视频轨道,当有 2 个视频轨道且没有合成层指令时,只会显示第一个视频轨道。尝试自己分配视频轨道并将资产的视频轨道插入这些视频轨道,使用insertTimeRange:ofTrack:atTime:kCMTimeZero error:&error可能会解决这些问题。

于 2014-03-19T05:32:11.587 回答