Peer-to-peer video chat using WebRTC
Project description
Camus is a video chat app that uses WebRTC for direct peer-to-peer communication. Users can create public or private rooms, optionally protected by a password. In addition to streaming audio and video from a webcam and microphone, Camus also provides screen sharing and text chat.
Features
Webcam streaming
Desktop sharing
Text chat
Room management (public/private, password/no password, guest limits)
Demo
You can find a live demo at https://camus.chat.
Running
Using Python
Camus requires Python 3.7 or higher since it makes use of Quart and async syntax. As usual, it’s best to use a virtual environment.
Install Camus:
$ pip install camus-chat
Run Camus:
$ camus
Go to localhost:5000 in your browser. For local testing, you can visit the same room in multiple tabs and each tab will act as a separate client.
Using Docker
You can find a pre-built Docker image on Docker Hub. Use the following command to pull the image and run a container:
$ docker run -d -p 5000:5000 mrgnr/camus
Go to localhost:5000 in your browser. For local testing, you can visit the same room in multiple tabs and each tab will act as a separate client.
Using Heroku
Simply click the button above or see the deployment documentation for detailed instructions.
How it works
See the technical overview to understand how Camus works.
Development
See the development documentation for build & test instructions.
Roadmap
v0.1
v0.2
[ ] Rewrite the UI using React
[ ] Make the UI accessible
[ ] Configurable TURN server in the client
[ ] Controls for video quality
[ ] Debian package
v0.3+
[ ] Persistent storage (SQLite, Redis, and/or PostgreSQL)
[ ] User accounts, persistent user settings
[ ] Support SFU for client scalability
Project details
Release history Release notifications | RSS feed
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
Hashes for camus_chat-0.2.dev2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdf8c6afe6237c70397d57ff641dba19fc7a8232666e35400b2a8894e3d9e5ce |
|
MD5 | 8b4074d949bc974f7cbdc33a76793845 |
|
BLAKE2b-256 | 8df65ad5252a147127836d96d2cb26be5d149b38dfeeb170be31e3715323b549 |