You can use AVAssetWriter and set the size of the output video.
However, remember that you are going to reduce quality. If the orientation of the camera is portrait, then what you get is a video that (for arguments) is 720H x 360W.
So, you want to make this landscape, if you keep the proportions, you will end up with a video (by cropping the input) that is 180H x 360W.
Remember that there is a difference between what the camera sees, what you send to the preview level and what you write to the file — all of them can be independent of each other (you talked about changing the preview frame, remember that has nothing to do with the video you are recording).
source share