All Projects â†’ mrgnr â†’ Camus

mrgnr / Camus

Licence: agpl-3.0
Peer-to-peer group video chat using WebRTC, Python, and Javascript

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Camus

P2p Cdn Sdk Javascript
Free p2p cdn github javascript sdk to reduce video streaming costs of live and on demand video using webrtc by upto 90% and improve scalability by 6x - 🚀 Vadootv 🚀
Stars: ✭ 158 (+110.67%)
Mutual labels:  webrtc, p2p, peer-to-peer
Peer Calls
Group peer to peer video calls for everyone written in Go and TypeScript
Stars: ✭ 837 (+1016%)
Mutual labels:  webrtc, p2p, peer-to-peer
Pikachu Volleyball P2p Online
Pikachu Volleyball peer-to-peer online via WebRTC data channels
Stars: ✭ 160 (+113.33%)
Mutual labels:  webrtc, p2p, peer-to-peer
Wt Tracker
High-performance WebTorrent tracker
Stars: ✭ 144 (+92%)
Mutual labels:  webrtc, p2p, peer-to-peer
Libdatachannel
C/C++ WebRTC Data Channels and Media Transport standalone library
Stars: ✭ 336 (+348%)
Mutual labels:  webrtc, p2p, peer-to-peer
Dat React Native
Browse through the web with the Dat protocol in your device!
Stars: ✭ 25 (-66.67%)
Mutual labels:  p2p, peer-to-peer
Ca11
Multi-Protocol Webphone
Stars: ✭ 69 (-8%)
Mutual labels:  webrtc, p2p
Webrtc
Pure Go implementation of the WebRTC API
Stars: ✭ 8,399 (+11098.67%)
Mutual labels:  webrtc, p2p
Ios P2p Engine
Let your viewers become your unlimitedly scalable CDN.
Stars: ✭ 31 (-58.67%)
Mutual labels:  webrtc, p2p
Uproxy P2p
Internet without borders
Stars: ✭ 798 (+964%)
Mutual labels:  webrtc, peer-to-peer
Waggle.js
An experiment to distribute the bandwidth among video viewers
Stars: ✭ 29 (-61.33%)
Mutual labels:  webrtc, p2p
Webrtc Lab
WebRTC ė—°ęĩŽė‹Ī 🌎
Stars: ✭ 39 (-48%)
Mutual labels:  webrtc, p2p
Android P2p Engine
Let your viewers become your unlimitedly scalable CDN.
Stars: ✭ 70 (-6.67%)
Mutual labels:  webrtc, p2p
Peergos
A p2p, secure file storage, social network and application protocol
Stars: ✭ 895 (+1093.33%)
Mutual labels:  p2p, peer-to-peer
P2p Media Loader
An open-source engine for P2P streaming of live and on demand video directly in a web browser HTML page
Stars: ✭ 822 (+996%)
Mutual labels:  webrtc, p2p
Viraljs
Express.JS middleware to enable P2P distribution for your app. Your decentralized CDN made easy.
Stars: ✭ 952 (+1169.33%)
Mutual labels:  webrtc, p2p
Syncthing Macos
Frugal and native macOS Syncthing application bundle
Stars: ✭ 1,096 (+1361.33%)
Mutual labels:  p2p, peer-to-peer
Discovery Swarm Webrtc
discovery-swarm for WebRTC
Stars: ✭ 56 (-25.33%)
Mutual labels:  webrtc, p2p
Webtorrent Desktop
âĪïļ Streaming torrent app for Mac, Windows, and Linux
Stars: ✭ 8,587 (+11349.33%)
Mutual labels:  webrtc, p2p
Ciruela
A peer-to-peer synchronization software for servers in datacenters.
Stars: ✭ 61 (-18.67%)
Mutual labels:  p2p, peer-to-peer

Camus

|Build Status| |docs| |PyPI| |Docker Hub| |License|

Camus is a group video chat app that uses WebRTC_ for direct peer-to-peer communication. Users can create and join rooms, stream audio and video with a microphone and webcam, share their screen, and send text messages. You can try a demo at https://camus.chat, or run your own server using Snap, pip, Docker, or Heroku.

Features

  • Create public or private rooms, optionally with a password and guest limit
  • Stream audio & video
  • Share your desktop
  • Send text messages
  • Control video feeds -- set your camera resolution, toggle fullscreen or picture-in-picture, disable incoming video
  • Configure custom STUN and TURN servers
  • Responsive user interface that works on large or small screens

.. image:: https://raw.githubusercontent.com/mrgnr/camus/master/screenshots/0.2.0.png

Installation

Snap


Make sure you have `snapd`_ installed. Install `Camus`_:

::

   $ sudo snap install camus

Once installed, Camus runs automatically as a Snap service. See the Snap
`service management`_ documentation for details on starting and stopping
services.

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.

Pip
~~~

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.

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.

Heroku


|Deploy to Heroku|

Simply click the button above or see the `deployment documentation`_ for
detailed instructions.


Documentation
-------------

See the official documentation at https://docs.camus.chat for more information
about configuring and running Camus.

.. |Build Status| image:: https://travis-ci.com/mrgnr/camus.svg?branch=master
   :target: https://travis-ci.com/mrgnr/camus
.. |docs| image:: https://img.shields.io/readthedocs/camus/latest
   :target: https://docs.camus.chat
.. |PyPI| image:: https://img.shields.io/pypi/v/camus-chat?color=blue
   :target: https://pypi.org/project/camus-chat
.. |Docker Hub| image:: https://img.shields.io/docker/pulls/mrgnr/camus
   :target: https://hub.docker.com/r/mrgnr/camus
.. |License| image:: https://img.shields.io/github/license/mrgnr/camus?color=green
   :target: https://github.com/mrgnr/camus/blob/master/LICENSE
.. |Deploy to Heroku| image:: https://www.herokucdn.com/deploy/button.svg
   :target: https://heroku.com/deploy?template=https://github.com/mrgnr/camus

.. _WebRTC: https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API
.. _Snap: https://docs.camus.chat/en/latest/installation.html#snap
.. _pip: https://docs.camus.chat/en/latest/installation.html#pip
.. _Docker: https://docs.camus.chat/en/latest/installation.html#docker
.. _Heroku: https://docs.camus.chat/en/latest/deployment.html#heroku
.. _snapd: https://snapcraft.io/docs/installing-snapd
.. _Camus: https://snapcraft.io/camus
.. _service management: https://snapcraft.io/docs/service-management
.. _Python 3.7: https://docs.python.org/3.7/whatsnew/3.7.html
.. _Quart: https://gitlab.com/pgjones/quart
.. _virtual environment: https://docs.python.org/3/tutorial/venv.html
.. _pre-built Docker image: https://hub.docker.com/r/mrgnr/camus
.. _deployment documentation: https://docs.camus.chat/en/latest/deployment.html
.. _technical overview: https://docs.camus.chat/en/latest/technical-overview.html
.. _development documentation: https://docs.camus.chat/en/latest/development.html
.. _Babel: https://github.com/babel/babel
.. _Adapter: https://github.com/webrtcHacks/adapter
.. _TURN: https://webrtc.org/getting-started/turn-server
.. _React: https://github.com/facebook/react
.. _#3: https://github.com/mrgnr/camus/pull/3
.. _#4: https://github.com/mrgnr/camus/pull/4
.. _#5: https://github.com/mrgnr/camus/pull/5
.. _#6: https://github.com/mrgnr/camus/pull/6
.. _#7: https://github.com/mrgnr/camus/pull/7
.. _SFU: https://webrtcglossary.com/sfu
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].