code: @Override
  	public List<WebcamDevice> getDevices() {
  		synchronized (this) {
  			List<String> stdout = CommanderUtil.execute(this.command);
  			if (stdout.isEmpty() || stdout.get(0).toLowerCase().contains(MSG_COMMAND_NOT_FOUND)) {
  				throw new UnsupportedOperationException(MSG_RASPI_NOT_INSTALLED);
  			}
  
  			stdout = CommanderUtil.execute(COMMAND_VCGENCMD);
  			if (stdout.size() != 1) {
  				return Collections.emptyList();
  			}
  			String cameraCheckOutput = stdout.get(0).trim();
  			int supported = Integer.parseInt(
  					cameraCheckOutput.substring(cameraCheckOutput.indexOf("=") + 1, cameraCheckOutput.indexOf(" ")));
  			if (supported == 0) {
  				if (LOGGER.isDebugEnabled()) {
  					LOGGER.debug(MSG_HARDWARE_NOT_FOUND);
  				}
  				return Collections.emptyList();
  			}
  			int detected = Integer.parseInt(cameraCheckOutput.substring(cameraCheckOutput.lastIndexOf("=") + 1));
  			List<WebcamDevice> devices = new ArrayList<>(detected);
  			for (int i = 0; i < detected; i++) {
  				WebcamDevice device = createIPCDevice(i, new LinkedHashMap<String, String>(arguments));
  				devices.add(device);
  			}
  			deviceCalled = true;
  			return devices;
  		}
  	}
docs: <a href=
  "https://www.petervis.com/Raspberry_PI/Raspberry_Pi_CSI/raspberry-pi-csi-interface-connector-pinout.html">Raspberrypi
  camera connector</a>
  
  @see com.github.sarxos.webcam.WebcamDriver#getDevices()