Python package for communicating with wyze cameras over the local network
Project description
wyzecam
Wyzecam is a library for streaming audio and video from your wyze cameras using the wyze native firmware.
That means no need to flash rtsp-specific firmware, and full support for the v3 hardware!
Basic Usage
Streaming video in 11 lines of code!
import os
import cv2
import wyzecam
auth_info = wyzecam.login(os.environ["WYZE_EMAIL"], os.environ["WYZE_PASSWORD"])
account = wyzecam.get_user_info(auth_info)
camera = wyzecam.get_camera_list(auth_info)[0]
with wyzecam.WyzeIOTC() as wyze_iotc:
with wyze_iotc.connect_and_auth(account, camera) as sess:
for (frame, frame_info) in sess.recv_video_frame_ndarray():
cv2.imshow("Video Feed", frame)
cv2.waitKey(1)
Features
- Send local commands (via
WyzeIOTC
class) - Support for all wyze camera types (including v3 cameras!)
- Uses the tutk protocol for communicating over the local network.
- Optional support for opencv and libav for easy decoding of the video feed!
Installation
pip install -U wyzecam
You will then need a copy of the shared library libIOTCAPIs_ALL
. You will need
to download this SDK, unzip it, then convert the
appropriate copy of the library to a shared library, and copy the resultant .so
or .dylib
file to somewhere
convenient.
On Mac:
unzip TUTK_IOTC_Platform_14W42P1.zip
cd Lib/MAC/
g++ -fpic -shared -Wl,-all_load libIOTCAPIs_ALL.a -o libIOTCAPIs_ALL.dylib
cp libIOTCAPIs_ALL.dylib /usr/local/lib/
On Linux:
unzip TUTK_IOTC_Platform_14W42P1.zip
cd Lib/Linux/x64/
g++ -fpic -shared -Wl,--whole-archive libAVAPIs.a libIOTCAPIs.a -Wl,--no-whole-archive -o libIOTCAPIs_ALL.so
cp libIOTCAPIs_ALL.so /usr/local/lib/
Note: you will need to pick the appropriate architecture.
On Windows:
- Follow guide to install Windows Subsystem for Linux
- Install VcXsrv Windows X Server
- Run the following command and add it to
/etc/bash.bashrc
export DISPLAY=":0"
- Follow Linux instructions to compile the shared library
🛡 License
This project is licensed under the terms of the MIT
license.
See LICENSE for more details.
📃 Citation
@misc{wyzecam,
author = {kroo},
title = {Python package for communicating with wyze cameras over the local network},
year = {2021},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/kroo/wyzecam}}
}
Credits
Special thanks to the work by folks at nblavoie/wyzecam-api, without which this project would have been much harder.
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
Built Distribution
File details
Details for the file wyzecam-1.2.0.tar.gz
.
File metadata
- Download URL: wyzecam-1.2.0.tar.gz
- Upload date:
- Size: 30.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.9.5 Darwin/20.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bf3686f18991fb52ddf9d8339569be1f8db0de610f9c6115aaf281c3440a64c |
|
MD5 | b0f314872f92b63354c5fcdb3f7dc355 |
|
BLAKE2b-256 | f836c794c2af7d06aa3237c93a8233a7a0ad5e872c1214ee66b696027620c93d |
File details
Details for the file wyzecam-1.2.0-py3-none-any.whl
.
File metadata
- Download URL: wyzecam-1.2.0-py3-none-any.whl
- Upload date:
- Size: 31.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.9.5 Darwin/20.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ae01e847e66f9085837d180b96e1f4a2c718d6c96d3c8aab11222896b34773d |
|
MD5 | f2e6d31a8113ce1e24c69a253a626949 |
|
BLAKE2b-256 | 4850c49fea49faf64c85e638e58754f6185e9121eef2faf9c9a758ed2d606609 |