Ios 自定义AVVideoComposition的AVAsset首选变换

Ios 自定义AVVideoComposition的AVAsset首选变换,ios,orientation,avfoundation,avasset,avvideocomposition,Ios,Orientation,Avfoundation,Avasset,Avvideocomposition,我创建了一个自定义的AVVideoComposition类,并按如下方式使用它: AVAsset *asset = ... AVMutableVideoComposition *videoComposition = [AVMutableVideoComposition videoCompositionWithPropertiesOfAsset:asset]; videoComposition.customVideoCompositorClass = [MyCustomCompositor cla

我创建了一个自定义的AVVideoComposition类,并按如下方式使用它:

AVAsset *asset = ...
AVMutableVideoComposition *videoComposition = [AVMutableVideoComposition videoCompositionWithPropertiesOfAsset:asset];
videoComposition.customVideoCompositorClass = [MyCustomCompositor class];
MyCustomInstruction *instruction = // custom instruction holding CIFilter that is applied to every video frame
videoComposition.instructions = @[instruction];
AVAssetExportSession *session = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetHighestQuality];
session.outputURL = ...
session.outputFileType = AVFileTypeQuickTimeMovie;
session.videoComposition = videoComposition;

[session exportAsynchronouslyWithCompletionHandler:^{
    ...
}];
导出会话后,使用如下方式:

AVAsset *asset = ...
AVMutableVideoComposition *videoComposition = [AVMutableVideoComposition videoCompositionWithPropertiesOfAsset:asset];
videoComposition.customVideoCompositorClass = [MyCustomCompositor class];
MyCustomInstruction *instruction = // custom instruction holding CIFilter that is applied to every video frame
videoComposition.instructions = @[instruction];
AVAssetExportSession *session = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPresetHighestQuality];
session.outputURL = ...
session.outputFileType = AVFileTypeQuickTimeMovie;
session.videoComposition = videoComposition;

[session exportAsynchronouslyWithCompletionHandler:^{
    ...
}];
如果我使用的是
AVVideoComposition
,则曲目的
preferredTransform
将不起作用。此外,对于自定义
avvideocomposition
指令,我无法使用setTransform:atTime:设置
AVMutableVideoCompositionLayerInstruction


如何获得方向正确的视频?

请阅读我问题的编辑部分。我见过这个问题,但没用。你解决这个问题了吗,汤姆?我们被困在这些问题上,这是很久以前的事了,所以我不是100%确定。我想我最后是手工修改了转换矩阵。你有没有用过的代码?