【发布时间】:2013-09-29 21:26:02
【问题描述】:
我正在通过 iOS7 SDK 中的AVMutableVideoCompositionLayerInstruction 修改一些视频。
以下代码用于在 iOS 6.1.3 上运行,但在 iOS7 中,视频在第一帧被冻结(尽管我仍然可以听到音频正常)。我摆脱了所有实际应用的转换,以验证单独添加视频合成会导致问题。
AVURLAsset* videoAsset = [[AVURLAsset alloc] initWithURL:inputFileURL options:NULL];
AVAssetTrack *videoAssetTrack = [[videoAsset tracksWithMediaType:AVMediaTypeVideo] objectAtIndex:0];
AVMutableVideoCompositionLayerInstruction *layerInstruction =
[AVMutableVideoCompositionLayerInstruction videoCompositionLayerInstructionWithAssetTrack:videoAssetTrack];
AVMutableVideoComposition *mainComposition = [AVMutableVideoComposition videoComposition];
AVMutableVideoCompositionInstruction *mainInstruction = [AVMutableVideoCompositionInstruction videoCompositionInstruction];
mainInstruction.layerInstructions = [NSArray arrayWithObject:layerInstruction];
mainInstruction.timeRange = CMTimeRangeMake(kCMTimeZero, videoAsset.duration);
mainComposition.instructions = [NSArray arrayWithObject:mainInstruction];
mainComposition.frameDuration = videoAsset.duration;
mainComposition.renderSize = CGSizeMake(320, 320);
...
exportSession.videoComposition = mainComposition;
如果我没有设置exportSession 的videoComposition 属性,那么视频录制正常,但我无法应用任何转换。有谁知道是什么原因造成的?
谢谢。
【问题讨论】:
-
这里一样,网上没有帮助
标签: ios objective-c ios6 ios7