AVCaptureSession
을 사용하여 비디오를 녹화 중입니다. AVCaptureSessionPreset640x480
입니다. 나는 비 표준 크기 (300 x 300)에서 AVCaptureVideoPreviewLayer
을 사용하고 있는데 중력은 레코딩하는 동안 애스펙트 채우기로 설정되어 있습니다. 다음과 같이 설정했습니다.미리보기 레이어와 일치하는 크기로 AVCaptureSession 비디오 내보내기
self.previewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:_captureSession];
_previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
_previewLayer.frame = _previewView.bounds; // 300 x 300
[_previewView.layer addSublayer:_previewLayer];
동영상을 녹화 한 후 퀵타임 형식으로 파일에 기록하고 싶습니다. 재생하는 동안 300 x 300 비표준 크기 레이어에서 다시 한 번 동영상을 재생합니다. 이 비디오는 궁극적으로 네트워크 연결을 통해 전송되기 때문에 전체 640x480 비디오를 유지하는 것은 낭비입니다.
내 300x300 미리보기 레이어와 일치하도록 비디오를 내보내려면 가장 좋은 방법은 무엇입니까? 나는 AVFoundation의 멍청한 놈입니다. 그래서 내가 잘못 알고 있다면, 알려주세요. 디스크에 내 보낸 비디오와 일치하도록 녹화하는 동안 미리보기 레이어에 표시된 녹화 된 비디오를 원할뿐입니다.
나는이 [답변] [1]이 (가) 도움을 주어야한다고 생각합니다. [1] : http://stackoverflow.com/a/16910263/2315453 – arunit21