Untitled
unknown
plain_text
a year ago
2.2 kB
5
Indexable
from ptz_control import PTZController import time def main(): # ONVIF kamera bilgileri ip = "192.168.4.64" # Kamera IP adresinizi buraya ekleyin port = 80 # Kamera portunu buraya ekleyin user = "admin" # Kamera kullanıcı adınızı buraya ekleyin passwd = "Admin8503" # Kamera şifrenizi buraya ekleyin ptz = PTZController(ip, port, user, passwd) # PTZ hareketlerini test et print("Moving up") ptz.move_up() time.sleep(2) ptz.stop() print("Moving down") ptz.move_down() time.sleep(2) ptz.stop() print("Moving left") ptz.move_left() time.sleep(2) ptz.stop() print("Moving right") ptz.move_right() time.sleep(2) ptz.stop() print("Zooming in") ptz.zoom_in() time.sleep(2) ptz.stop() print("Zooming out") ptz.zoom_out() time.sleep(2) ptz.stop() if __name__ == "__main__": main() from onvif import ONVIFCamera class PTZController: def __init__(self, ip, port, user, passwd): self.mycam = ONVIFCamera(ip, port, user, passwd) self.media = self.mycam.create_media_service() self.ptz = self.mycam.create_ptz_service() self.media_profile = self.media.GetProfiles()[0] self.token = self.media_profile.token def move(self, pan, tilt, zoom): request = self.ptz.create_type('ContinuousMove') request.ProfileToken = self.token if request.Velocity is None: request.Velocity = self.ptz.GetStatus({'ProfileToken': self.token}).Position request.Velocity.PanTilt.x = pan request.Velocity.PanTilt.y = tilt request.Velocity.Zoom.x = zoom self.ptz.ContinuousMove(request) def stop(self): request = self.ptz.create_type('Stop') request.ProfileToken = self.token self.ptz.Stop(request) def move_up(self): self.move(0, 0.1, 0) def move_down(self): self.move(0, -0.1, 0) def move_left(self): self.move(-0.1, 0, 0) def move_right(self): self.move(0.1, 0, 0) def zoom_in(self): self.move(0, 0, 0.1) def zoom_out(self): self.move(0, 0, -0.1)
Editor is loading...
Leave a Comment