Untitled
unknown
plain_text
a year ago
2.2 kB
12
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