code: def capture(read_frame_list, Global, worker_num):
      # Get a reference to webcam #0 (the default one)
      video_capture = cv2.VideoCapture(0)
      # video_capture.set(3, 640)  # Width of the frames in the video stream.
      # video_capture.set(4, 480)  # Height of the frames in the video stream.
      # video_capture.set(5, 30) # Frame rate.
      print(
          "Width: %d, Height: %d, FPS: %d"
          % (
              video_capture.get(3),
              video_capture.get(4),
              video_capture.get(5),
          )
      )
  
      while not Global.is_exit:
          # If it's time to read a frame
          if Global.buff_num != next_id(Global.read_num, worker_num):
              # Grab a single frame of video
              ret, frame = video_capture.read()
              read_frame_list[Global.buff_num] = frame
              Global.buff_num = next_id(Global.buff_num, worker_num)
          else:
              time.sleep(0.01)
  
      # Release webcam
      video_capture.release()
  
file_path: face_recognition/examples/facerec_from_webcam_multiprocessing.py
imports: import face_recognition
  import cv2
  from multiprocessing import Process, Manager, cpu_count, set_start_method
  import time
  import numpy
  import threading
  import platform
label_desc: Use image node_id 3 for calling a global function with example usage: capture(read_frame_list, Global, worker_num) without return types