Android 相机预览尺寸且不变形

想定义一个方形的相机预览区域,包括可能要录制视频。
那么问题来了,如何保证预览的画面没有形变?
我想到了一种方案就是做一层不透明的覆盖,拍了图后,再切出来。这种方案仅对拍照片有效,如果是拍摄视频就无效了。
我想做的就是微信里的微视频的录制节目。
求大神支招。