gpt4 book ai didi

iOS7 AVMutableVideoCompositionLayerInstruction 导致视频帧卡住

转载 作者:可可西里 更新时间:2023-11-01 04:52:39 24 4
gpt4 key购买 nike

我正在通过 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;

如果我没有设置 exportSessionvideoComposition 属性,那么视频记录可以,但我不能应用任何转换。有人知道是什么原因造成的吗?

谢谢。

最佳答案

调试视频合成问题的一个好方法是使用 [AVMutableVideoComposition videoCompositionWithPropertiesOfAsset:asset]。返回的 AVMutableVideoComposition 应该可以正常工作。然后,您可以将 instructions 数组的内容与您的指令进行比较。

为了增加混淆程度,asset 也可以有一个 AVComposition。我认为 AVFoundation 团队在命名这些东西时没有做得最好......

关于iOS7 AVMutableVideoCompositionLayerInstruction 导致视频帧卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19083466/

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