AVCaptureSession
セッションプリセットを使用してビデオを録画していAVCaptureSessionPreset640x480
ます。AVCaptureVideoPreviewLayer
非標準サイズ (300 x 300) の を使用しており、録画中に重力をアスペクト フィルに設定しています。次のように設定されています。
self.previewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:_captureSession];
_previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
_previewLayer.frame = _previewView.bounds; // 300 x 300
[_previewView.layer addSublayer:_previewLayer];
ビデオを録画した後、quicktime 形式でファイルに書き込みたいと考えています。再生中に、300 x 300 の非標準サイズのレイヤーでビデオをもう一度再生しています。これらのビデオは最終的にネットワーク接続を介して転送されるため、640x480 の完全なビデオを保持するのは無駄に思えます。
300 x 300 のプレビュー レイヤーに一致するようにビデオをエクスポートする最良の方法は何ですか? 私は AVFoundation 初心者なので、間違った方法で行っている場合はお知らせください。録画中にプレビュー レイヤーに表示される録画済みビデオを、ディスクにエクスポートされたビデオと一致させたいだけです。