Я занимаюсь разработкой приложения потокового видео, в котором мне нужно, чтобы захватить переднюю камеру видеокадра и кодировать затем передать в другой конец, типичный поток, как этоAVCaptureSession вращается | ориентация в то время как видео передачи
AVCaptureSession -> AVCaptureDeviceInput -> AVCaptureVideoDataOutput -> захват кадр -> закодировать кадр -> отправить кадр на другой конец,
он работает отлично, я настроил kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange в качестве формата кадра.
также предварительный слой используется для предварительного просмотра,
проблема возникает, когда ориентация устройства получает изменения, если устройство перемещается с вертикальной на горизонтальную, а затем на других конечных кадров получает вращение 90, я ожидал, так ориентация поддерживается в слое предварительного просмотра, поэтому я автоматически получаю повернутый буфер в обратном вызове Capture, но, похоже, слой предварительного просмотра просто показывает мне предварительный просмотр захваченного буфера и пользовательский интерфейс создает буфер, а на другом конце я получаю rared buffer,
Так что я хочу знать, есть ли какая-либо конфигурация, чтобы изменить ее или мне нужно вращать/преобразовывать буфер в буфере Capture c все обратно.
Как вы захватить кадр? – gabbler
Я имею в виду функцию обратного вызова - (void) captureOutput: (AVCaptureOutput *) captureOutput didOutputSampleBuffer: (CMSampleBufferRef) sampleBuffer fromConnection: (AVCaptureConnection *) connection – Amitg2k12