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
WyzeIOTCclass) - 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.
Metadata
Release files for wyzecam 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wyzecam-1.2.0.tar.gz | 30.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wyzecam-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 62.0 kB
Release files / wyzecam-1.2.0.tar.gz
| Download URL | wyzecam-1.2.0.tar.gz |
|---|---|
| Size | 30.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8bf3686f18991fb52ddf9d8339569be1f8db0de610f9c6115aaf281c3440a64c
|
|
BLAKE2b-256 checksum How to use checksums |
f836c794c2af7d06aa3237c93a8233a7a0ad5e872c1214ee66b696027620c93d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.6 CPython/3.9.5 Darwin/20.4.0
|
Release files / wyzecam-1.2.0-py3-none-any.whl
| Download URL | wyzecam-1.2.0-py3-none-any.whl |
|---|---|
| Size | 31.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2ae01e847e66f9085837d180b96e1f4a2c718d6c96d3c8aab11222896b34773d
|
|
BLAKE2b-256 checksum How to use checksums |
4850c49fea49faf64c85e638e58754f6185e9121eef2faf9c9a758ed2d606609
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.6 CPython/3.9.5 Darwin/20.4.0
|