Humm. MLX90640. Der ist ja richtig teuer. Ich wart bis der unter $60 is wegen importsteuer.
Der esp32 ist eignetlich zu lahm um bei vga-auflösung jpg kompression bei vernünftigen framerates zu liefern. Die streaming apps holen sich deshalb das jpg direkt vom sensor. Ja, der sensor macht die kompression.
Wenn man bmp vom sensor grabbt und soft-jpeg macht sinkt die framerate ins bodenlose. Bei hohen auflösungen geht dir dann noch das ram aus. Ich weiss nicht genau wo die grenze ist, aber ich schäze bei 320x240 rgb->jpg schaffst du keine 10 hz. Um normal und IR bilder zu überlagern wirst du RGB brauchen, oder grayscale.
Die frage is was ist schneller, soft-jpg, oder einfach RGB per wifi rauszuhauen.
Das esp32 "camerawebsever" example (arduino ide, espressif example) kannn sowohl sensor jpg wie auch rgb grabben und und soft jpg machen. Ein zweiter I2C bus für das IR dings ist kein problem, ich betribe auch eine mpu6050 mit dem esp32-cam dings.
Ich hab ein projekt das 160x120 grayscale von der kamera nimmt, was reinzeichnet, jpg kompression macht und das dann als stream ans phone sendet. Hier unten drinne. Ist aber auch nur "camerawebsever" example vereinfacht. Grabbing ist im main loop, http teil in webserver.cpp capture_handler -> einzelbild, stream_handler -> stream. Man beachte der soft-jpg kompressor gibt seine daten nur chunkweise raus.
Für eizelbild die IP aufrufen, für stream IP:81 aufrufen. Die IP sagt die serial console beim start.