How much do BitTorrent and WebTorrent have in common? - p2p

I recently heard about WebTorrent and decided to try one of those audio player javascript demos to see if I could make it play a random MP3 from BitTorrent network. It didn't work and I contacted the author to find out that those are "two separate networks". This made me wonder - how much do those two networks have in common? For example, do they use the same .torrent file specification and one file can be found both under WebTorrent and BitTorrent under the same InfoHash? Are there any torrent discovery websites like ThePirateBay for WebTorrent that I could use to see what's already there?

WebTorrent is based in BitTorrent, they follow the same torrent file spec.
WebTorrent in the browser can only connect to WebRTC peers, WebTorrent in NodeJS can only connect to TCP/UDP peers. WebTorrent Hybrid (NodeJS) client can connect to both using a headless electron process. WebTorrent Desktop is a desktop app that can connect to both networks.
You might be interested in reading the FAQ
There's no website for WebRTC-network torrents discovery, yet.

Related

How do i handle PeerJS web RTC with live video stream server?

Good day fellow developers,
Recently i just developed web RTC using PeerJS, it works correctly no problem, until i handle 5+ clients, the internet on the devices are just giving up, they can't. And this one is what i just discovered on the documentation page:
Data sent between the two peers do not touch any other servers, so the connection speed is limited only by the upload and download rates of the two peers. This also means you don't have the additional latency of an intermediary server.
Which is why the client devices are giving up, how do i make livestream server that handle peerjs? i've googled and i only found the live stream server for OBS, i want the server to handle PeerJS WebRTC like BigBlueButton.
Thanks in advance

Node.JS Voice over IP Electron

I am fairly new to Node.JS, but I want to code a Voice Chat Program which uses the Electron Framework for the Client.
The Server shall be hosted on a Linux Computer. I want to connect with multiple Clients to this Server and talk and recieve audio from others connected. I want this as a Project so me and my buddies can talk over a piece of software I made.
As I pretty much don't know much about Streams in NodeJS. Which protocolls can I use, for best quality and low network bandwith.

How to test janus video conference on localhost

I am new to Janus,
installed Janus on localhost, running demo video conference successfully, I am using IP address(http://192.168.29.241/janus/videoroomtest.html) to access video conference, but when I tried to open this IP in multiple laptops which are connected to each other through wifi, I am not able to get others users stream when all are in the conference.
Thanks,
I believe WebRTC requires an SSL connection. You will probably need to enable SSL/TLS in the Janus configuration files and get a certificate from somewhere like Let’s Encrypt. I personally have this functionality working through SSL/https.

Realtime Bi-direction Socket

I have an Arduino loaded with sensors connected to a Raspberry Pi. The Arduino passes all the data from the sensors to Raspberry.
Now I want to push all of these data in real-time over a socket to a server in the backend, and upload the data into a database.
I'm looking for the most optimal solution for this. Socket.io seems like a popular solution and relies on WebSockets and NodeJS.
Pusher seems like a decent API service that can easily integrate into iOS and Android devices.
What is the best solution out here? It seems like WebSocket is the way to go, but is there a better protocol to use for this purpose?
Check out the MQTT protocol as well. It's becoming widely used for this kind of purpose. You can find both open-source and commercial, as well as cloud-based and self-hosted, MQTT brokers.

Is SIP required for webRTC calling to legacy VTC products

I am working on a webRTC application and would like to be able to support multiple calls and be able to call from the browser to legacy VoIP or Videoconferencing systems as well as browser to browser.
now that Asterisk has added websocket in their latest builds would you need SIP and a SIP proxy in order to communicate with VoIP systems or will Asterisk allow this?
now that H.264 has been open sourced by Cisco would you still need a transcoder in order to call a legacy VTC system?
Is Node.js the preferred technology for implementing webrtc client/server deployments? I've looked into Mobicents SIP Servlets a bit but that seems to be the only alternative technology available beside a node.js solution.
If needed I am planning on creating a SIP trunk between an Asterisk server and our Polycom VBP so the webrtc clients should be able to get presence information through that connection so if no media transcoding is required with the recent changes then media should be able to pass directly from polycom endpoint to browser with the asterisk handling the signalling.
Thank you anyone who is able to answer any of these questions, it is still early in the r&d portion of this project for me and i'd like to get as much information as possible.
also: i did see SIP over websockets to true SIP. I understand that "something" needs to stand in between the webRTC client and the VoIP phone or Legacy SIP endpoint. what I would like to know is if that can be just asterisk with the recent update. if asterisk is all that is required, is there a way to include a media transcoder like red5? I haven't seen anything in the webrtc API that would allow you to include a transcoder, asterisk has transcoding mods but none that will do vp8 to h.26x or Opus to anything as far as i know.
Answer on that question higly depend of destination "legacy" system. Cisco "legacy" systems use h323 and sip, which is not compatible with webRTC.
Sure there are alot of ways to setup asterisk, red5, opensips or other as translation level.
Webrtc goal is call from browser. It never supposed have any API for transcode. That have be done by server part(which require special knowledge and experience to be propertly setup)
There are alot of availible documentation in internet, no any way put answer in less then 30 pages of text.

Resources