Tôi đang quay video bằng cách sử dụng AVCaptureSession
với giá trị đặt trước phiên AVCaptureSessionPreset640x480
. Tôi đang sử dụng một số AVCaptureVideoPreviewLayer
ở kích thước không chuẩn (300 x 300) với lực hấp dẫn được đặt để điền vào khía cạnh khi ghi. Thiết lập như sau:Xuất video AVCaptureSession ở kích thước phù hợp với lớp xem trước
self.previewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:_captureSession];
_previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
_previewLayer.frame = _previewView.bounds; // 300 x 300
[_previewView.layer addSublayer:_previewLayer];
Sau khi quay video, tôi muốn ghi nó vào tệp ở định dạng nhanh. Trong khi phát lại, tôi lại một lần nữa phát video trong lớp kích thước không chuẩn 300 x 300. Vì những video này cuối cùng sẽ được chuyển qua kết nối mạng, có vẻ như lãng phí khi giữ video 640x480 đầy đủ.
Cách tốt nhất để xuất video để phù hợp với lớp xem trước 300 x 300 của tôi là gì? Tôi là một AVFoundation noob, vì vậy nếu tôi đang đi về điều này một cách sai lầm xin vui lòng cho tôi biết. Tôi chỉ muốn video đã ghi được hiển thị trong lớp xem trước trong quá trình ghi để khớp với video được xuất trên đĩa.
Tôi nghĩ điều này [Trả lời] [1] sẽ giúp bạn. [1]: http://stackoverflow.com/a/16910263/2315453 – arunit21