在我发布大量代码之前,这个场景是:
当我使用相机应用程序播放结果视频时,它会旋转90度并且不再是“肖像”(它现在处于横向状态)并被压扁。 (纵横比似乎已被交换,宽度 - >高度和高度 - >宽度。
花了很多时间,我不知所措。
所需的结果是与拍摄的原稿相同的电影。 (最终使用动画叠加)。
要查看此操作,只需从Apple下载并运行AVEditDemo,将标题设置为“ON”并导出电影。
答案 0 :(得分:0)
我想简短的回答是:
处理原始视频时,您需要检索'preferredTransform':
AVAssetTrack *sourceVideo = [[sourceAsset tracksWithMediaType:AVMediaTypeVideo]lastObject];
CGAffineTransform *preferredTransform = [sourceVideo preferredTransform];
然后在编写最终视频时,你会做类似的事情:
AVMutableComposition *composition = [AVMutableComposition composition];
AVMutableCompositionTrack *compositionVideoTrack = [composition addMutableTrackWithMediaType:AVMediaTypeVideo
preferredTrackID:kCMPersistentTrackID_Invalid];
AVMutableCompositionTrack *compositionAudioTrack = [composition addMutableTrackWithMediaType:AVMediaTypeAudio
preferredTrackID:kCMPersistentTrackID_Invalid];
[compositionVideoTrack setPreferredTransform:preferredTransform];