Я использую AVCaptureVideoPreviewLayer
для передачи видео в реальном времени и применяю шейдеры openGL
в реальном времени. При использовании фронтальной камеры зеркало отражается, я хочу отменить зеркало перед применением шейдера.AVCaptureVideoPreviewLayer передняя камера flip (unmirror) pixelbuffer перед переходом к opengl shader
Может ли кто-нибудь помочь?
Добавлено: Код для переключения на фронтальную камеру:
-(void)showFrontCamera{
NSLog(@"inside showFrontCamera");
[captureSession removeInput:videoInput];
// Grab the front-facing camera
AVCaptureDevice *backFacingCamera = nil;
NSArray *devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
for (AVCaptureDevice *device in devices) {
if ([device position] == AVCaptureDevicePositionFront) {
backFacingCamera = device;
}
}
// Add the video input
NSError *error = nil;
videoInput = [[[AVCaptureDeviceInput alloc] initWithDevice:backFacingCamera error:&error] autorelease];
if ([captureSession canAddInput:videoInput]) {
[captureSession addInput:videoInput];
}
}
Можете ли вы предоставить более подробную информацию, как, фрагмент кода, где вы переключаете камеры? И что происходит, когда вы переключаетесь обратно на заднюю камеру? это все еще отражено? –
Привет, Fahri, добавили код для переключения на переднюю камеру. Проблема заключается в том, что видео передней камеры приходит зеркально, что отлично подходит для портретного режима, но когда я поворачиваю камеру, видео перевернулось и перевернулось вверх. например. лицо человека вращается на 180 *. –
В моем предыдущем комментарии, повернув камеру, я имею в виду переход в альбомный режим. –