This work is for demo purpose only.
-
Environments: Tested with Miniconda3 on Linux (Fedora 35, Ubuntu 21.10) with Python 3.8
-
To use Cloud Recording, we need Zoom API Client ID, Client Secret, Redirect URL for OAuth. To get that, follow instructions on Create an OAuth App page. After that, export 3 environment variables
ZOOM_CLIENT_ID
,ZOOM_CLIENT_SECRET
,ZOOM_REDIRECT_URI
, or modify directly Line 51-53 inmain.py
- To run on GPU, we need to install CUDA and CUDNN for TensorFlow 2.6+.
- If we do not want to run on GPU, or do not have GPU:
- Modify
scrfd.py
inminiconda3/envs/projectai/lib/python3.8/site-packages/insightface/model_zoo/
: line 73, addproviders=None
in__init__
function, and line 81, addproviders=providers
inonnxruntime.InferenceSession
. This modification applied toinsightface==0.5
only, for other versions, it may be different, check it by yourself. - To run this code on Windows, we need to modify Line 461, change
p = Process(...)
top = threading.Thread(...)
, because Windows has some problems onpython multiprocessing
mechanism that I can not solve, so change it to multithreading is one of the solutions but it may slow down the application. - Default PyQt6-WebEngine do not support to play mp4 file with H264 codec, we need to build from source Qt WebEngine with Proprietary codecs enabled, then copy corresponding lib files to installed PyQt6 folders. To do that, follow the instruction in https://doc.qt.io/qt-6/qtwebengine-features.html
- This app can run in their UI or in localhost (default is http://localhost:8050/) with browsers (e.g. Chrome, Edge, etc.). When using localhost with Chrome or Edge, the mp4 files with H264 codec are normal play.
- Link for video demonstration: https://1drv.ms/v/s!AoeAp4aV23Gqeq-5PvynHUotpn8?e=TegyU2
If you find this repo helpful, please star it and credit below works.
Credits
- User interface: Dash 2.0, Dash Bootstrap Components and PyQt6
- Face Recognition models: Keras_insightface and deepinsight/insightface