I use a bunch of Amcrest PoE cameras. None with PTZ though. I run them to a dedicated box running frigatenvr. From there I allow access from Homeassistant with the frigate integration.
IP cameras allow you to access the device via web gui where you can view and configure the camera for your needs. Once I’ve set them up I only ever access them again through frigate.