Skip to main content

Python Library for Vivotek IP Cameras

Project description

python-vivotek

Build Status Maintainability

A Python library for Vivotek IP cameras.

Getting Started

Install

This library currently supports Python 3.4 and up.

pip3 install libpyvivotek

# Or for only the current user
pip3 install --user libpyvivotek

Usage

from libpyvivotek import VivotekCamera

cam = VivotekCamera(host='192.168.1.123', port=443, usr='user', pwd='passw0rd',
                    digest_auth=True, ssl=True, verify_ssl=True, sec_lvl='admin')
print("Camera model is %s" % cam.model_name)
# Camera model is IB8369A

Security Level

Four security levels are currently supported:

  • anonymous
  • viewer
  • operator
  • admin

Using the anonymous security level does not require a user or password. The operator or admin security level is required to set parameters.

Load password from Keyring

We can use Python Keyring to load the password rather than from a string.

# Install the package
pip install --user keyring

# Set the password using the command-line interface.
python -m keyring set camera user passw0rd
import keyring
from libpyvivotek import VivotekCamera

cam = VivotekCamera(host='192.168.1.123', port=443, usr='user',
                    pwd=keyring.get_password('camera', 'user'))
print("Camera model is %s" % cam.model_name)
# Camera model is IB8369A

View a snapshot image

We can optionally specify the image quality to snapshot() from 1 to 5 with a default of 3.

from libpyvivotek import VivotekCamera
from PIL import Image
from io import BytesIO
import keyring

cam = VivotekCamera(host='192.168.1.123', port=443, usr='user',
                    pwd=keyring.get_password('camera', 'user'))

snapshot = Image.open(BytesIO(cam.snapshot(quality=3)))

snapshot.show()

Getting parameters

cam.get_param('capability_api_httpversion')
# "0311b_1"

cam.get_param('capability_naudioin')
# "0"

cam.get_param('capability_protocol_https')
# "1"

cam.get_param('event_i0_enable')
# "1"

cam.get_param('motion_c0_enable')
# "1"

Setting parameters

cam.set_param('event_i0_enable', 1)
# "1"

cam.set_param('event_i0_enable', 0)
# "0"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for libpyvivotek, version 0.4.0
Filename, size File type Python version Upload date Hashes
Filename, size libpyvivotek-0.4.0-py3-none-any.whl (16.3 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size libpyvivotek-0.4.0.tar.gz (3.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page