Skip to main content

Unifi NVR-compatible camera proxy

Project description

UniFi Camera Proxy

About

This enables using non-Ubiquiti cameras within the UniFi Video/Protect software. This is particularly useful to view existing RTSP-enabled cameras in the same UI and mobile app.

Things that work:

  • Live stream
  • Full-time recording

Things that don't work:

  • Motion detection

Installation

Dependencies:

  • ffmpeg and netcat must be installed
  • Python 3+

Usage

In order to use this, you must own at least one UniFi camera in order to obtain a valid client certificate (Found at /var/etc/persistent/server.pem via SSH).

pip install unifi-cam-proxy
scp ubnt@<your-unifi-cam>:/var/etc/persistent/server.pem client.pem
# RTSP stream
unifi-cam-proxy --host <NVR IP> --cert client.pem --token <Adoption token> rtsp -s rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_175k.mov

Acquiring adoption token

Unifi Protect

  1. On the Protect UI, click 'Add Devices' and select 'G3 Micro'. Select 'Continue on Web' and type in a random string for the SSID and Password fields and click 'Generate QR Code'
  2. Take a screenshot of the QR code and upload it to https://zxing.org/w/decode.jspx
  3. Decode the QR code and extract the token from the second to last line in the 'Raw Text' field.

Unifi Video

Follow the 'Token Adoption' step from here to generate a new token

Multiple Cameras

To deploy multiple cameras, run multiple instances of the proxy, taking care to specify different MAC addressess:

unifi-cam-proxy --host <NVR IP> --mac 'AA:BB:CC:00:11:22' --cert client.pem --token <Adoption token> rtsp -s rtsp://camera1
unifi-cam-proxy --host <NVR IP> --mac 'AA:BB:CC:33:44:55' --cert client.pem --token <Adoption token> rtsp -s rtsp://camera2

Device-specific Implementations

  1. Hikvision PTZ (Hikvision DS-2DE3304W-DE): Uses brightness/contrast settings to control PTZ
    unifi-cam-proxy -H <NVR IP> -i <camera IP> -c client.pem -t <Adoption token> hikvision -u <username> -p <password>
    

Project details


Download files

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

Source Distribution

unifi-cam-proxy-0.1.0.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

unifi_cam_proxy-0.1.0-py2.py3-none-any.whl (16.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file unifi-cam-proxy-0.1.0.tar.gz.

File metadata

  • Download URL: unifi-cam-proxy-0.1.0.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5

File hashes

Hashes for unifi-cam-proxy-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ebdd2a526369c9b8e8c6ab5b33bd2739368ca96e6c31eebe2193c61197f08bcf
MD5 616d865e4664814dcfb228b5f75f6cc2
BLAKE2b-256 5bb057e4055f2aa23686999f58ddf0d0e025aea0936cae52af58c4e2e798a974

See more details on using hashes here.

File details

Details for the file unifi_cam_proxy-0.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: unifi_cam_proxy-0.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.5

File hashes

Hashes for unifi_cam_proxy-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 da86458c5665e353358e235ad303d2a0125c23f540b4b7aa3c4c66e913ed49c2
MD5 c4fa7a04c78eec5c5b1655f78aa2218b
BLAKE2b-256 be24a3c7054a2e9b4a2ea49ca42cd0d9db3974c33dc131dac1af5f03a85c2519

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page