Skip to content

Peer to Peer Video Chat on the Internet Computer Blockchain

License

Notifications You must be signed in to change notification settings

tcrst/ic-video

 
 

Repository files navigation

Overview

IC Video is a video meeting platform service deployed on the Internet Computer Network. Currently it allows for multiple users to video chat with each other at a time. The protocol that allows us to connect via video is WebRTC. WebRTC, (Web RealTime Communication) is a browser technology for users for communicate with each other in real time. Here is the logic behind this app:

  • User 1 creates a room, and a Room Id is generated.
  • User 1 can then share this room Id with user 2 (3, 4, etc)
  • User 2 then requests to join the room with the specific id
  • Behind the scenes, WebRTC creates an offer (from user 2) to user 1 (to join their room)
  • Behind the scenes, user 1 accepts the offer (from user 2)
  • Once this is done, the 2 users are able to video chat!

To learn more before you start working with IC Video, see the following documentation available online:

Running this project locally

Prerequisites:

Instructions to run project on your machine

Step 1: In one terminal/shell, run dfx start --background clean to start the local Internet Computer Network

Step 2:

In another terminal/shell, run

  • npm install

  • Option A:

    • dfx canister create --all - Register unique canister identifiers in the project
    • dfx build - Build the executable canister
    • dfx canister install --all - Deploy the ic_video project on the local network
    • dfx canister install --all --mode reinstall if you are running it again
  • Option B:

    • dfx deploy - which handles the three previous steps
  • Take note of the canisterId from the logs, as this will be the address for the website

Step 3:

  • View the app in your browser at http://localhost:8000/?canisterId=<your_canister_id>

  • The canisterId can be found in the terminal logs of the commands from Step 2

Step 3: Tear down

  • In the very first terminal/shell run dfx stop
  • In the terminal from step 2, run Control + C to stop the app.

Helpful Resources

Error notes

About

Peer to Peer Video Chat on the Internet Computer Blockchain

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 64.8%
  • Motoko 22.7%
  • HTML 11.3%
  • CSS 1.2%