-1

I want to make a one to many micorphone streaming implementation. Where a user record from his microphone, and from there other people could hear him. I have to record de microphone session too.

What will be best? An WebRTC comunication between clients or a one-to-server-to-many implementation? Take in mind that can be thousands of client and i dont know if WebRTC can support it.

For one-to-server-to-many implementation im thinking in a node.js (or JAVA) server with binary websockets, where ser server recive the microphone user data and then stream it in realtime to all the clients that are listen. How would you do this implementation? What tools would you use?

Thanks!

Santi Barbat
  • 2,097
  • 2
  • 21
  • 26
  • I've actually built what you're proposing. http://stackoverflow.com/a/40073233/362536 It's called the AudioPump Web Encoder, and I use WebSocket to get the captured audio to the server. It is possible to use WebRTC to get the media stream to the server, but it's much harder to do. Let me know if you're interested in licensing this solution. It's Node.js-based. I can send you more info if you e-mail me... brad@audiopump.co. – Brad Feb 10 '17 at 02:14
  • Take a look at this project: https://www.webrtc-experiment.com/ It has some example about broadcasting audio and video. – nobjta_9x_tq Feb 10 '17 at 03:57

2 Answers2

2

A pure WebRTC based mesh network where each client makes one PeerConnection to the sender might scale up to maybe a 2 digit number of clients for audio only. If you really want to stream to thousands of clients WebRTC is probably not the best choice for the full solution. You can have a look at solution like for example from jitsi.org which uses WebRTC, but has an option to stream your call up to YouTube for scaling to a wider audience.

Nils Ohlmeier
  • 1,061
  • 7
  • 8
0

WebRTC group audio call with 1 active participant and rest of the members in receive only mode will do, but as a mesh network streaming. Socket.io as signalling between peers- browsers/mobile phones

Take in mind that can be thousands of client and i dont know if WebRTC can support it.

If you want to support 1000 of users then you need some server side mixer in place like Freeswitch, asterisk, Kamilio VOIP servers which will get connections from webrtc clients

Sasi Varunan
  • 2,806
  • 1
  • 23
  • 34
  • How about to make a WebRTC connection from the emisor to the server and then a websocket to all the clients that recieve the signal? – Santi Barbat Feb 09 '17 at 21:41
  • Yes its possible as i mentioned. Please take a look as Muza's demo https://www.webrtc-experiment.com/audio-broadcast/ – Sasi Varunan Feb 10 '17 at 05:48