code: def play_file_video():
      global close_video_window
      global sourceSelection
      global take_a_screenshot
      global checkVarLoop
  
      if not video_file is None:
          capture1 = None
          close_video_window = False
          popup_menu_source["state"] = "disabled"
          popup_menu_scale["state"] = "disabled"
          closeBtn["state"] = "normal"
          screenshotBtn["state"] = "normal"
          chbLoop["state"] = "normal"
  
          try:
              capture1 = caer.core.cv.VideoCapture(video_file)
  
              while True:
                  isTrue, frame = capture1.read()
  
                  if isTrue:
                      if scaleSelection.get() != "1.00":
                          width = int(
                              frame.shape[1]
                              * float(scaleSelection.get())
                          )
                          height = int(
                              frame.shape[0]
                              * float(scaleSelection.get())
                          )
  
                          dimensions = (width, height)
  
                          frame = caer.core.cv.resize(
                              frame,
                              dimensions,
                              interpolation=caer.core.cv.INTER_AREA,
                          )
  
                          caer.core.cv.imshow(video_file, frame)
                      else:
                          caer.core.cv.imshow(video_file, frame)
  
                      if take_a_screenshot:
                          caer.imsave(
                              "./Screenshot_"
                              + str(screenshot_count)
                              + ".png",
                              caer.to_tensor(frame, cspace="bgr"),
                          )
                          take_a_screenshot = False
                  else:
                      if checkVarLoop.get() == 1:
                          capture1.release()
                          capture1 = caer.core.cv.VideoCapture(
                              video_file
                          )
                      else:
                          break
  
                  if (
                      caer.core.cv.waitKey(20) & 0xFF == ord("d")
                      or app_closing
                      or close_video_window
                  ):
                      break
          except Exception as e:
              print(str(e))
  
          if not app_closing:
              popup_menu_source["state"] = "normal"
              popup_menu_scale["state"] = "normal"
              closeBtn["state"] = "disabled"
              screenshotBtn["state"] = "disabled"
              checkVarLoop.set(0)
              chbLoop["state"] = "disabled"
              sourceSelection.set("None")
  
          capture1.release()
          caer.core.cv.destroyAllWindows()
  
imports: from tkinter import *
  from tkinter import filedialog
  import threading
  import platform
  import caer
label_desc: Use image node_id 3 for calling a global function with example usage: play_file_video() without return types