Star Streamer

							

Starting libp2p...


						Announce to peers
					

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.