Ich nehme Video mit AVCaptureSession
mit der Sitzungsvoreinstellung AVCaptureSessionPreset640x480
auf. Ich benutze eine AVCaptureVideoPreviewLayer
in einer Nicht-Standard-Größe (300 x 300) mit der Schwerkraft auf Aspektfüllung während der Aufnahme eingestellt. Es ist Setup wie folgt:Exportieren von AVCaptureSession-Video in einer Größe, die der Vorschauebene entspricht
self.previewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:_captureSession];
_previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
_previewLayer.frame = _previewView.bounds; // 300 x 300
[_previewView.layer addSublayer:_previewLayer];
Nach der Aufnahme des Videos möchte ich es in eine Datei im Quicktime-Format schreiben. Während der Wiedergabe spiele ich das Video erneut in einer nicht standardmäßigen Größe von 300 x 300. Da diese Videos letztendlich über eine Netzwerkverbindung übertragen werden, erscheint es verschwenderisch, das volle 640x480 Video zu behalten.
Was ist der beste Weg, ein Video zu exportieren, um meine 300 x 300 Vorschauebene zu entsprechen? Ich bin ein AVFoundation-Noob, also wenn ich in die falsche Richtung gehe, lass es mich wissen. Ich möchte nur, dass das aufgezeichnete Video, das während der Aufnahme in der Vorschauebene angezeigt wird, mit dem Video übereinstimmt, das auf Festplatte exportiert wird.
Ich denke, das [Antwort] [1] sollte dir helfen. [1]: http://stackoverflow.com/a/16910263/2315453 – arunit21