python">class VideoCapture : def __init__ ( self, name) : self. cap = cv2. VideoCapture( name) self. q = queue. Queue( ) t = threading. Thread( target= self. _reader) t. daemon = True t. start( ) def _reader ( self) : while True : ret, frame = self. cap. read( ) if not ret: break if not self. q. empty( ) : try : self. q. get_nowait( ) except queue. Empty: pass self. q. put( frame) def read ( self) : return self. q. get( )
python">@app. route ( '/ZL00132/front' , methods= [ "GET" ] )
def index ( ) : stimestamp = time. time( ) while True : frame = cap. read( ) now = datetime. datetime. now( ) date_str = now. strftime( "%Y-%m-%d-%H:%M:%S" ) filename = f'/home/zhanyuan/static/ { date_str} .jpg' cv2. imwrite( filename, frame) date_str1 = now. strftime( "%Y-%m-%d-%H-%M-%S" ) etimestamp = time. time( ) print ( f"文件 : { filename} 时间: { date_str1} 时间差: { etimestamp - stimestamp} " ) if etimestamp - stimestamp > 0.01 : break url = f"http://127.0.0.1:10800/static/ { date_str} .jpg" etimestamp1 = time. time( ) print ( f"时间差: { etimestamp1 - stimestamp} " ) return f" { url} "