(source = 0, fallback = presets['chess'])
return cap
source: <int> or '<int>|<filename>|synth [:<param_name>=<value> [:...]]'
source: <int> or '<int>|<filename>|synth [:<param_name>=<value> [:...]]'
source : <int > or <int > |<filename > |synth [ : <param_name > = <value > [ : ... ]]
def create_capture(source = 0, fallback = presets['chess']):
    '''source: <int> or '<int>|<filename>|synth [:<param_name>=<value> [:...]]'
    '''
    source = str(source).strip()
    chunks = source.split(':')
    # handle drive letter ('c:', ...)
    if len(chunks) > 1 and len(chunks[0]) == 1 and chunks[0].isalpha():
        chunks[1] = chunks[0] + ':' + chunks[1]
        del chunks[0]

    source = chunks[0]
    try: source = int(source)
    except ValueError: pass
    params = dict( s.split('=') for s in chunks[1:] )

    cap = None
    if source == 'synth':
        Class = classes.get(params.get('class', None), VideoSynthBase)
        try: cap = Class(**params)
        except: pass
    else:
        cap = cv2.VideoCapture(source)
        if 'size' in params:
            w, h = map(int, params['size'].split('x'))
            cap.set(cv2.CAP_PROP_FRAME_WIDTH, w)
            cap.set(cv2.CAP_PROP_FRAME_HEIGHT, h)
    if cap is None or not cap.isOpened():
        print('Warning: unable to open video source: ', source)
        if fallback is not None:
            return create_capture(fallback, None)
    return cap
def create_capture ( source = 0 , fallback = presets [ 'chess' ] ) : source = str ( source ) . strip ( ) chunks = source . split ( ':' ) # handle drive letter ('c:', ...) if len ( chunks ) > 1 and len ( chunks [ 0 ] ) == 1 and chunks [ 0 ] . isalpha ( ) : chunks [ 1 ] = chunks [ 0 ] + ':' + chunks [ 1 ] del chunks [ 0 ] source = chunks [ 0 ] try : source = int ( source ) except ValueError : pass params = dict ( s . split ( '=' ) for s in chunks [ 1 : ] ) cap = None if source == 'synth' : Class = classes . get ( params . get ( 'class' , None ) , VideoSynthBase ) try : cap = Class ( * * params ) except : pass else : cap = cv2 . VideoCapture ( source ) if 'size' in params : w , h = map ( int , params [ 'size' ] . split ( 'x' ) ) cap . set ( cv2 . CAP_PROP_FRAME_WIDTH , w ) cap . set ( cv2 . CAP_PROP_FRAME_HEIGHT , h ) if cap is None or not cap . isOpened ( ) : print ( 'Warning: unable to open video source: ' , source ) if fallback is not None : return create_capture ( fallback , None ) return cap