Sto usando AVCaptureVideoPreviewLayer
per passare il video dal vivo e applicare gli ombreggiatori openGL
in tempo reale. Se si utilizza la fotocamera frontale, il video viene specchiato, voglio annullarlo a specchio prima di applicare lo shader.AVCaptureVideoPreviewLayer fotocamera frontale capovolge il mirrorbuffer prima di passare a opengl shader
Qualcuno può aiutarci?
Aggiunto: codice per il passaggio a fotocamera anteriore:
-(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];
}
}
Potete fornire ulteriori dettagli, come, snippet di codice in cui si stanno commutando le telecamere? E cosa succede quando torni alla telecamera posteriore? è ancora speculare? –
Ciao Fahri, ho aggiunto il codice per passare alla fotocamera frontale. Il problema è che il video della fotocamera frontale viene specchiato, che va bene per la modalità verticale, ma quando ruoto la fotocamera, il video viene capovolto e capovolto. per esempio. la faccia di una persona ruota di 180 *. –
Nel mio precedente commento, ruotando la fotocamera, intendo il passaggio alla modalità orizzontale. –