Peer-to-peer video chat using WebRTC
Project description
Camus
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
- Audio/video streaming
- Desktop sharing
- Text chat
- Cross-browser support (using Babel, Adapter)
- Chromium/Chrome/Brave
- Firefox
- Safari
- Support TURN server
v0.2
- Rewrite the UI using React
- Configurable TURN server in the client
- 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.dev5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e76284935ee3e975d983c316f4b094404480af50a92bae98ebfbd5c6a28c5c60 |
|
MD5 | 161602840a5a60dd22ad6507d1adeeca |
|
BLAKE2b-256 | 0b74f0be47915c55432dbe551cfbc10e9aee71852861514b5e3543278f27e9f9 |