Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Creating a WebRTC receiver

Tags:

webrtc

I am new to WebRTC and trying to figure out how to create a program outside a browser which receives a WebRTC audio stream and outputs it on speakers. Are there any WebRTC libraries for Java or C#? That receiver will be running on a linux machine.

--

I've been thinking about using getUserMedia() to access the microphone. But then: In what format will such a stream be transmitted? Let's say I use WebRTC2SIP and build a Java endpoint using JSIP; or I just use a socket and send the stream over http. What audio format will I get on the receiver side? So far I have read WebRTC does compress the stream somehow.

like image 896
telandor Avatar asked Apr 04 '13 08:04

telandor


People also ask

How do I create a WebRTC connection?

To establish a WebRTC connection, one peer (the caller) has to call CreateOffer() , but not both (the callee just waits). Since the signaler implementation NamedPipeSignaler already provides a way to distinguish between the two peers, we use that information to select which peer will automatically initiate the call.

Does WebRTC need a backend?

#1 – WebRTC is P2P On a secure connection. Not going through any backend server (unless you need a relay – more on that in #6).

How many connections can WebRTC handle?

As many as you like. You can cram anywhere from one to a million users into a WebRTC call. You've been asked to create a group video call, and obviously, the technology selected for the project was WebRTC.


2 Answers

I guess there are two ways for you:

  1. build the whole WebRTC voice engine for android/iOS or Mac etc., and just use the API provide by VOE.
  2. build standalone NS/VAD/AECM/AGC modules and using it in your project. for example, you build standalone NS module for android mobile, you use AudioRecord(java layer, android things) to record sound from MIC, and do the noise suppression process on these data(jni layer, WebRTC things), and finally playback the processed data by using AudioTrack(java layer, android things).

EDIT:

  1. for the 2nd situation, the format is PCM raw data.
like image 175
Bill Hoo Avatar answered Nov 08 '22 08:11

Bill Hoo


Check out the working Audio demo and code at demo.easyrtc.com

The code is all open source and can be checked out at https://github.com/priologic/easyrtc

You can look for any known issues around easyRTC at our forum at https://groups.google.com/forum/#!forum/easyrtc

Also check out our main site at easyrtc.com

like image 40
Doug Pelton Avatar answered Nov 08 '22 09:11

Doug Pelton