It works! Thanks a lot! That was definitely a huge help to me. I thought I post here again the completed code. Maybe it is useful for someone else 
var deviceList = [];
navigator.mediaDevices.enumerateDevices().then(getDevices);
const setup = function () {
var constraints = {
video: {
deviceId: {
exact: deviceList[0].id
},
}
};
var constraints1 = {
video: {
deviceId: {
exact: deviceList[1].id
},
}
};
canvas = createCanvas(width, height);
background(255);
video = createCapture(constraints);
video2 = createCapture(constraints1);
console.log(deviceList);
};
const draw = function () {
};
function startP5() {
globalThis.setup = setup; // place callback setup() into global context
globalThis.draw = draw;
new p5;
}
function getDevices(devices) {
//arrayCopy(devices, deviceList);
for (let i = 0; i < devices.length; ++i) {
let deviceInfo = devices[i];
//Only get videodevices and push them into deviceList
if (deviceInfo.kind == 'videoinput') {
deviceList.push({
label: deviceInfo.label,
id: deviceInfo.deviceId
});
// console.log("Device name :", devices[i].label);
// console.log("DeviceID :", devices[i].deviceId);
}
}
startP5();
}