def run(speed,video): 
    global image, repeat, gestures, frameNumber
    '''MAIN Method to load the image sequence and handle user inputs'''   
    #--------------------------------video
    setupWindowSliders()
    capture = cv2.VideoCapture(video)
    tempSpeed = 1
    while repeat:
        image, isSequenceOK, frameNumber = tools.getImageSequence(capture,speed, frameNumber)
        image = cv2.resize(image, size1)
        #print isSequenceOK
        #H,W,_ = image.shape
        #record = False
        if(isSequenceOK):
            gestures = processImage(image, gestures)
            tools.printUsage()
        #writer = cv2.VideoWriter('CubeProjections.avi', cv.CV_FOURCC('D','I','V','3'), 5.0, (W,H), True)
        while(isSequenceOK):
            #OriginalImage = image.copy()
            image = cv2.resize(image, size1)
            inputKey = cv2.waitKey(1)
            if inputKey == 32:#  stop by SPACE key
                sliderVals = getSliderVals()
                cv2.setTrackbarPos('Stop/Start','Threshold',not sliderVals['Running'])
                #update(OriginalImage)
                if speed==0:     
                    speed = tempSpeed;
                else:
                    tempSpeed=speed
                    speed = 0;                    
            if (inputKey == 27) or (inputKey == ord('q')):#  break by ECS key
                repeat=False
                break    
            #get next sequence and update
            if (speed>0):
                gestures = processImage(image, gestures)
                image, isSequenceOK, frameNumber = tools.getImageSequence(capture,speed, frameNumber)
        #end while(isSequenceOk)
        gestures = {'Init':False,'End':False}