Show your webcam image on your desktop during presentations or screencasts. (Linux only 🐧)
- Python Package from PyPi and its prerequisites!
Quick start:
- Launch MyHumbleSelf
- Resize the window and move it to the desired location
- Set it to "always on top" via your window manager (right-click on titlebar)
- Hover the webcam image and click the "eye"-button on top right to hide the window controls
Some notable features:
- Use face tracking to keep your head in the center
- Choose from a variety of shape-masks to add some style
1) How can I display my webcam stream in MyHumbleSelf and in a video conferencing tool at the same time?
You can use v4l2loopback to create a virtual webcam that you can access by multiple applications at the same time.
2) What should I do if I need more features?
If you think it is an important basic feature, open a feature request. Otherwise, consider using a tool like OBS Studio, which is much more powerful (but a bit more difficult to use).
You are very welcome to contribute to this project! However, before you invest a lot of time in a contribution, it might be worth sharing your idea in advance to avoid an unnecessary disappointment.
- Python 3.12+
- GTK 4.6+ and related dev packages:
sudo apt-get install \ libgirepository1.0-dev \ libcairo2-dev \ python3-gi \ gobject-introspection \ libgtk-4-dev
Setup your version of the repository:
- Fork the project's repository.
- Copy your fork to the local file system:
git clone https://github.com/<YOUR-USERNAME>/myhumbleself.git
Setup Virtual Environment:
- Navigate into the repository root directory:
cd myhumbleself
- Create the virtual environment:
python -m venv .venv
- Activate the environement: \
source .venv/bin/activate
Install dependencies:
- Install the package, it's dependencies, and development dependencies in editable
mode:
pip install -e '.[dev]'
- Verify installation by launching MyHumbleSelf:
python myhumbleself/app.py
Run checks and tests:
- Run all project checks locally, to verify a correct setup of the dev environment:
pre-commit run --all-files
- You should run those checks before doing any
git commit
to ensure your change doesn't break anything. You can do this automatically by installing them as git hook:
pre-commit install
- No network connection
Everything should run locally without any network communication. - Simplicity
Focus on key features. Keep the UI simple. Avoid text in the UI if possible. - Dependencies
The less dependencies, the better.