def METHOD_NAME(url, aviname, streetview_server_ipaddr): # data must be dictionary type
    cmd_url = url + '/Apply/' # You have to implement @app.route('/Apply/') in server.py part
    cap = cv2.VideoCapture(aviname)
    frame_cnt = 0
    while(cap.isOpened()):
        ret, frame = cap.read()
        if not ret :
            continue
        frame_cnt += 1
        if (frame_cnt % 30) != 0:
            continue
        K = 3 
        frame = frame.astype(int)
        frame = frame[:, :, [2, 1, 0]] # bgr to rgb
        image_size, image_data = serialize_image(frame)
        gps_lat = 36.381438 + 0.00001
        gps_lon = 127.378867 + 0.00001
        gps_accuracy = 1 
        data_dict = { 'K' : K, 'image_size' : image_size, 'image_data' : image_data,
            'gps_lat' : gps_lat, 'gps_lon' : gps_lon, 'gps_accuracy' : gps_accuracy,
            'streetview_server_ipaddr' : streetview_server_ipaddr }
        data_json = json.dumps(data_dict)
        rcv_json = requests.post(cmd_url, json=data_json) # input : json data, it takes some second to return
        rcv_dict = rcv_json.json() # .json method changes json to dictionary
        vps_image_data = rcv_dict['vps_IDandConf']
        print(frame_cnt, vps_image_data)
        ## display for debugging
        img_recon = deserialize_image(image_data, image_size)
        imshow('Client : query image', img_recon, '111')
        sleep(0.1)