7
我使用AVCaptureVideoPreviewLayer
來傳遞實時視頻並實時應用openGL
着色器。 使用前置攝像頭時,視頻是鏡像的,我想在應用着色器之前取消鏡像。AVCaptureVideoPreviewLayer前置攝像頭在傳遞給opengl着色器之前翻轉(unmirror)pixelbuffer
任何人都可以幫助嗎?
補充:切換到前置攝像頭代碼:
-(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 *。 –
在我之前的評論中,通過旋轉相機,我的意思是改變爲風景模式。 –