Webcams video screen overlay threejs

I want to superimpose threejs on the video screen of the Webcams, and mark objects in the video screen on threejs. When the Webcams rotates, threejs follows the rotation, and the marker will not shift
The actual situation is that the Webcams rotates the marker offset in Threejs
I want to know how to make the position of the mark in threejs not offset

Data generated by Webcams rotation:
vertical: Vertical field of view
horizontal: horizontal field of view
pan: horizontal rotation angle (0-360°)
tilt: pitch angle (-90°-90°)

I hope to get your help

your webcam image looks kind of curved:

maybe thats why. 3js camera assumes perfect “lens” with no aberration.