text: import time
  from pathlib import Path
  import cv2
  import depthai as dai
  
  # Create pipeline
  pipeline = dai.Pipeline()
  
  # Define sources and outputs
  camRgb = pipeline.create(dai.node.ColorCamera)
  videoEnc = pipeline.create(dai.node.VideoEncoder)
  xoutJpeg = pipeline.create(dai.node.XLinkOut)
  #xoutRgb = pipeline.create(dai.node.XLinkOut)
  
  xoutJpeg.setStreamName("jpeg")
  #xoutRgb.setStreamName("rgb")
  
  # Properties
  camRgb.setBoardSocket(dai.CameraBoardSocket.RGB)
  camRgb.setResolution(dai.ColorCameraProperties.SensorResolution.THE_4_K)
  videoEnc.setDefaultProfilePreset(camRgb.getFps(), dai.VideoEncoderProperties.Profile.MJPEG)
  
  # Linking
  #camRgb.video.link(xoutRgb.input)
  camRgb.video.link(videoEnc.input)
  videoEnc.bitstream.link(xoutJpeg.input)
  
  # Connect to device and start pipeline
  with dai.Device(pipeline) as device:
      print("booted")
      time.sleep(3)
  
      # Output queue will be used to get the rgb frames from the output defined above
      #qRgb = device.getOutputQueue(name="rgb", maxSize=30, blocking=False)
      qJpeg = device.getOutputQueue(name="jpeg", maxSize=1, blocking=False)
  
      # Make sure the destination path is present before starting to store the examples
      dirName = "rgb_data"
      Path(dirName).mkdir(parents=True, exist_ok=True)
  
      print("starting loop...")
      while True:
      #inRgb = qRgb.tryGet()  # Non-blocking call, will return a new data that has arrived or None otherwise
  
      #if inRgb is not None:
          #cv2.imshow("rgb", inRgb.getCvFrame())
  
          for encFrame in qJpeg.getAll():
              print("writing frame")
              with open(f"{dirName}/{int(time.time() * 1000)}.jpeg", "wb") as f:
                  f.write(bytearray(encFrame.getData()))
              time.sleep(1)
  
      print("done")
          #if cv2.waitKey(1) == ord('q'):
              #break