Giter VIP home page Giter VIP logo

meeting.rs's Introduction

Meeting.rs

Meeting.rs is an online one-to-one video meeting application that utilizes WebRTC, Rust, and WASM technologies. It includes a coordinator server and a peer web page, which allow users to have private and real-time video meetings with a single deployment.

Contents

Features

  • Peer to peer connection through WebRTC, with extremely low latency
  • Video and audio communication
  • Mute or unmute video and audio
  • Screen sharing

Demo

Please try the demo on https://meeting.shuttleapp.rs.

Note that this demo is hosted on shuttle.rs with a Hobby plan, which means there may be limits on the number of requests.

Usage

To compile and run the coordinator server, and to compile the peer, you need to have the Rust toolchain installed. You should also install wasm-pack and just to build and run the application.

Once you have these prerequisites installed, run the following command:

just coordinator

Then follow these steps:

  1. For each user, open a browser tab and navigate to the following address: http://localhost:3000.
  2. Once the page loads, you will find two buttons: "Video and Audio Sharing" and "Screen Sharing". Click on the button corresponding to the content you want to share.
  3. The browser will prompt you for permissions. Grant the respective permissions depending on your choice (e.g., camera and microphone access for video and audio sharing, screen sharing permission for screen sharing).
  4. After granting the necessary permissions, enter the same passphrase as the other user. This passphrase ensures that both users are connected to the same session.
  5. Instantly, both users will be able to see each other in real-time.

For more detailed information, you can access the web console of your browser.

Deployment

To allow any hosts other than localhost to access the coordination server, you can use an Nginx TLS termination proxy. Additionally, the application uses the default Google STUN server, but you can also use your own STUN/TURN server.

Project status

The Meeting.rs application is currently functioning exceptionally well, and its design emphasizes minimalism and efficiency through the use of Rust. The application is limited to one-to-one meetings, and plans are underway to add additional features.

Contribution

Contributions to the project are welcome and encouraged!

Contact

For further information or to discuss your specific requirements, please feel free to reach out to me:

License

GPL-3.0

meeting.rs's People

Contributors

dependabot[bot] avatar williamlsh avatar wishmelz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

meeting.rs's Issues

docker image and API doc

To better collaborate and integrate meeting.rs to voce.chat, we would like to see an API documentation and a docker image.
APIs we'd like to see include:

  • Initialization. Calling this is equivalent to having a meeting.rs client, which can be used for event listening, such as who initiated audio and video towards me.
  • Create a room. The room number must be unique. We will use meeting.rs in the direct message (DM) settings, which can also be considered as a room for two people. Upon successful creation, we have to notify the other party.
  • Leave & destroy the room.

Coordinator should limit only two clients in a session

When two clients are in a coordination session, any other clients get in during that window time with the same passphrase will be marked as responders, and hence disrupts the normal session.

Therefor, a session should eliminates any other third client from getting in.

Unable to share audio during screen sharing session

During screen sharing sessions, the "audio" option selected with get_display_media_with_constraints does not enable audio sharing as expected. Additionally, attempting to request audio separately using get_user_media_with_constraints also fails to work. This bug report aims to address and resolve these issues to ensure smooth and seamless audio and screen sharing experiences.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.