Eri*_*ner 5 objective-c ios ios6 ios7
我正在通过AVMutableVideoCompositionLayerInstructioniOS7 SDK 修改一些视频.
以下代码用于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;
Run Code Online (Sandbox Code Playgroud)
如果我没有设置videoComposition属性exportSession然后视频记录确定,但我不能应用任何转换.有人知道是什么原因引起的吗?
谢谢.
调试视频合成问题的一个好方法是使用[AVMutableVideoComposition videoCompositionWithPropertiesOfAsset:asset]. 返回的AVMutableVideoComposition应该可以正常工作。然后您可以将数组的内容instructions与您的指令进行比较。
为了增加混乱程度,asset还可以有一个AVComposition. 我认为AVFoundation团队在命名这些东西时并没有做得最好......
| 归档时间: |
|
| 查看次数: |
931 次 |
| 最近记录: |