code: def update(self, frame):
      self.video.write(frame)
      cv2.waitKey(1)
  
      if self.frame_number > self.length:
          cv2.destroyAllWindows()
          self.video.release()
  
imports: import os
  import time
  from typing import List, Optional, Union
  import numpy
  from rich import print
  from rich.progress import BarColumn, Progress, ProgressColumn, TimeRemainingColumn
  from norfair import metrics
  from .utils import get_terminal_size
label_desc: Use image node_id 4 for calling the VideoFromFrames obj's underlying member method code with example usage: obj.update(frame) without return types