Objective-C如何修复镜像视频的后摄像头(面向您的摄像头)?

Objective-C如何修复镜像视频的后摄像头(面向您的摄像头)?,objective-c,video,avfoundation,Objective C,Video,Avfoundation,当我使用avfoundation使用后置摄像头(摄像头面向您)录制视频时,它会水平镜像视频,我不知道为什么。我怎样才能解决这个问题?真的需要帮助 必须是前置摄像头,而不是后置摄像头。您可以在玩游戏时在AVPlayer中使用playerLayer的CALayer属性将其镜像回来。只需使用CATTransferM3dMakeScale水平翻转播放器层即可 CATransform3DMakeScale(-1, 1, 1) 更新: CATransform3D tranform = CATransfor

当我使用avfoundation使用后置摄像头(摄像头面向您)录制视频时,它会水平镜像视频,我不知道为什么。我怎样才能解决这个问题?真的需要帮助

必须是前置摄像头,而不是后置摄像头。您可以在玩游戏时在AVPlayer中使用
playerLayer
的CALayer属性将其镜像回来。只需使用
CATTransferM3dMakeScale
水平翻转播放器层即可

CATransform3DMakeScale(-1, 1, 1)
更新

CATransform3D tranform = CATransform3DIdentity;
tranform = CATransform3DScale(tranform, -1, 1, 1);
playerLayer.transform = tranform;
如果要旋转原始视频本身,则必须使用
AVMutableComposition
并根据需要使用
avmutablevideocompositionlayerlinstruction
应用说明。您需要逐帧旋转视频并使用
AVMutableComposition
进行合成


这有点复杂,但您可以查看代码并使用它。代码是关于将视频旋转到任何角度。在您的情况下,使用它旋转-180度。

您确定不是指前摄像头吗?它是面向用户的,因为它在设备的前面。是的,我是说前面的摄像头坏了。我做了playerLayer.transform=CATTransferorM3DMakeScale(-1,1,1)。。。但事实并非如此anything@Adp然后确保你的playerLayer已正确初始化,并使用我编辑的答案中的代码进行转换。我如何知道它是否已正确初始化,因为我非常确定,我的转换代码在编辑的答案中提到了什么?它总是适用于我只使用转换。因此,如果它仍然不起作用,那么你必须发布你的AVPlayer代码以获得进一步的帮助。问题是,我不想只翻转AVPlayer,我想翻转实际的视频…因为用户也有能力保存视频。。。