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.
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.1.dev7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7921b3dbdaaaa7bb8a2d65651a985030386bfc1849a9c0694ae3a6dab4de5972 |
|
MD5 | 8035d6ac01346e3820fadd2f5ebaa022 |
|
BLAKE2b-256 | ce4c511c73dea53fc31e6ea0fdffbc476ef64a454c47119495cd57199f8a121e |