在我在这里发布大量代码之前,场景如下:
当我使用相机应用程序播放生成的视频时,它旋转了 90 度,不再是“纵向”(现在是横向)并被压扁。 (长宽比好像换了,宽度->高度&高度->宽度。
花了很多时间在这上面,我不知所措。
所需的结果是与捕获的原件相同的电影。 (最终带有动画叠加层)。
要查看实际效果,只需从 Apple 下载并运行 AVEditDemo,将 Title 设为“ON”并导出电影。
最佳答案
我想简短的回答是这样的:
处理原始视频时,您要检索“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];
关于iphone - 导出捕获的电影仅在横向模式下播放,并且是旋转的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5065597/