AVAssetExportSession使用AVAssetExportPresetPassthrough打破输出

时间:2013-03-11 12:23:41

标签: avfoundation avassetexportsession

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

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

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

因此,您的实施存在问题,但您应考虑使用其他预设(将视频展平为一个曲目)或使用AVAssetWriter

答案 2 :(得分:0)

我想这是因为您使用AVMutableCompositioninsertTimeRange:ofAsset:atTime:error:插入了2个视频片段。这将在合成上产生2个视频轨道,并且当有2个视频轨道且没有合成层指令时,将仅显示第一个视频轨道。 尝试自己分配视频片段并插入资源'使用insertTimeRange:ofTrack:atTime:kCMTimeZero error:&error对这些视频轨道进行视频跟踪可能会解决这些问题。