How it works
Privacy
browser to browser
communication
Direct
connections
Decentralized
Network
Frequently asked questions
What is webRTC?
WebRTC stands for Web Real-Time Communication. WebRTC is an
enables real-time peer-to-peer communication, including audio,
video, and data sharing, directly within web browsers or
devices. It allows developers to build seamless real-time
communication applications using web technologies.
In this project, we use an integration of WebRTC
technology build into the libp2p networking stack. Libp2p is a
modular, peer-to-peer networking framework developed by the
Protocol Labs team. With libp2p WebRTC, developers can establish
peer-to-peer connections, exchange media streams, and share data
directly between browsers or devices.
How do I find out more about this project?
Please feel free to check out the code on github.
What are peers and how do they find each other?
Peers, in the context of peer-to-peer (P2P) networks, are
devices or nodes that participate in the network and share
resources, data, or services directly with other peers. Each
peer has the ability to both request and provide resources,
creating a decentralized and distributed network.
In this project, peers can find each other through "bootstrap"
nodes that serve as initial entry points into the network. These
nodes can provide information about other peers or the network
topology, enabling new peers to join and connect with existing
ones. We is using a
rust-peer
for our bootstrap node which we slighlty modified from libp2p's
universal-connectivity
example.
What are the advantages of using peer-to-peer protocols for video streaming?
- 1. Decentralization: Peer-to-peer protocols eliminate the need for centralized servers to distribute video content.
- 2. Scalability: With peer-to-peer protocols, the more peers that join a streaming session, the greater the available bandwidth for content distribution.
- 3. Reduced Bandwidth Costs: Since peers share the responsibility of distributing the video content, it can help reduce the bandwidth costs associated with traditional client-server architectures.
- 4. Improved Streaming Quality: Peer-to-peer protocols can enhance streaming quality by leveraging the collective resources of participating peers.
- Share content anonymously
- 5. Redundancy and Reliability: Peer-to-peer networks often provide built-in redundancy. If one peer goes offline or experiences issues, other peers in the network can fill in the gaps, ensuring continuous streaming availability.
- 6. Privacy and Security: Peer-to-peer protocols can offer enhanced privacy as the content is shared directly between peers without relying on a middle man the connection can be configured with encryption to secure connections. Our project uses chainsafe/libp2p-noise for connection encryption.
Which tools do you use?
Figma for designing stuff, nodejs, js-libp2p, ipfs-helia, and HTML and CSS for website stuff.
Is there a limit to the number of peers that can join a streaming session?
Any peer can connect but it is possible that other peer connections may fail to connect.
Are there any plans for future enhancements or new features?
It depends upon the feature. But i’ll try my best to complete new features earlier as soon as possible.
Let’s build something awesome together!
Still need convincing? We are actively developing p2p streamer and making significant progress towards our first use. We invite you to join us on this exciting journey and witness the future of video sharing. As we roll out this demo release, we welcome your valuable feedback and are here to answer any questions you may have.