AVCaptureVideoData使用RosyWriter中的前置摄像头输出错误的方向

时间:2013-04-29 15:16:44

标签: iphone objective-c camera avcapturesession

我下载了IOS示例代码RosyWriter,然后使用前置摄像头进行修改。 问题是视频是一面镜子。也就是说,当我的头转向右边时 在视频中,它向左转。然而,头部向上和向下是正确的。 看来问题是什么,任何人都可以帮我一把,抱歉我的英语不好。 这是我的代码的一部分,我设置了这样的方向

videoConnection = [videoOut connectionWithMediaType:AVMediaTypeVideo];
self.videoOrientation = [videoConnection videoOrientation];
[videoOut release];

但有人说 AVCaptureVideoDataOutput 无法处理方向, 我该怎么办?

这是我发现的一些相关问题 1. 2. 3. 4.

1 个答案:

答案 0 :(得分:1)

这是Apple自第一款桌面iSights以来所做的硬件级别的事情。这个想法是前置摄像头通常用于视频会议,他们现在称之为“FaceTime”,对吧?好吧,想一想这个人是否亲自面对你。他们会看到你的“镜像”形象,对吗?因此,预览会向您显示与您正在交谈的人的外观。如果它射击你没镜像,那么另一个人会看到你逆转。

所以这不是一个“方向”问题。方向就是旋转角度。这是“镜像”或“翻转”。您需要通过将此变换应用于原始帧来反转它,

mirror_transform = CGAffineTransformMake(1,0,0,-1,0,0);

或适用于您工作的任何图像空间中的等效物;然后将这些镜像帧输出到预览/电影/照片/其他。