def main():
    current_time = datetime.now()
    current_month_and_yr = datetime.now().strftime("%B %Y")

    new_dir = make_directory(DESKTOP_PATH, current_month_and_yr)

    #capture = cv2.VideoCapture(-1)

    # needed dimensions
    scr_w, scr_h = get_monitor_res()

    # codec
    #fourcc = cv2.VideoWriter_fourcc(*"XVID")

    # path
    combined_save_path = new_dir + "\\combined_" + current_time.strftime(
        DATE_FILE_FORMAT) + FILE_EXT

    cap_class = Capture(-1, combined_save_path, [scr_w, scr_h])

    #writer
    capture = cap_class.capture
    writer = cap_class.get_writer()

    while True:
        img = ImageGrab.grab()
        img_np = np.array(img)
        screen_frame = cv2.cvtColor(img_np, cv2.COLOR_BGR2RGB)

        # Capture frame-by-frame
        ret, cam_frame = capture.read()
        if not ret:
            break

        cv2.imshow("Frame", cam_frame)

        cam_frame_resized = cap_class.resize(cam_frame)

        cam_frame_merged = cap_class.merge_frame(cam_frame_resized)
        screen_frame_merged = cap_class.merge_frame(screen_frame)

        output = cap_class.get_output(cam_frame_merged, screen_frame_merged)

        writer.write(output)

        key = cv2.waitKey(1) & 0xFF
        if key == ord("q"):
            break

    # When everything done, release the capture
    capture.release()
    writer.release()
    cv2.destroyAllWindows()

    # send email on certain date
    if datetime.now().day == SET_DAY:
        host, port, address, password = get_settings(SETTINGS_FILE)
        sender = EmailSender(host, port, address, password)
        message = "Monthly Email of Video Capture"
        sender.send_message(message=message, dt_file_path=new_dir, attach=True)