Hi Alex,

The browsers support Opus, but only in the context of WebRTC. So, the lack of any compact embedded implementation (which the WebRTC Native Code Package is not) keeps me from using Opus for now.

It really does look like embedding node.js is the best solution if you're dead set on using WebRTC, for the moment.

    Thanks

    Bruce

On 04/23/2015 08:07 AM, Alexandru Csete wrote:
Bruce,

Thanks for this info regarding websockets. Very interesting.

Regarding codecs, it is my understanding that all major browsers
support Opus by now but I admit that I do not have any practical
experience how that works for real-time audio streaming outside
WebRTC. For client/server written in C, opus is really great though.

Alex


On Thu, Apr 23, 2015 at 5:25 AM, Bruce Perens <[email protected]> wrote:
I've spent the last few days learning the web audio API and websockets,
so that we can have a browser control panel for DVS and Whitebox, and
use the mic and speaker through the browser. It turns out to not be that
hard, and once that's done you need no drivers, no GUI porting. All of
the necessary facilities are in Firefox, Chrome, Opera, Android, iOS.
There's even someone who has already written a nice waterfall in _javascript_.

WebRTC is not ready for embedded use unless you're embedding node.js.
The currently available C code pulls in much of Chrome. It's too big and
has a really steep learning curve. No doubt better embedded C code will
come along.

Websockets, on the other hand, have an excellent embedded C library in
libwebsockets, and both the C and _javascript_ side are easy to use.
Finally, a session-based full-duplex connection in the browser. But you
lose some things that WebRTC would give you: the codecs, the variable
bandwidth, and the NAT traversal. On the other hand, you can code a much
easier connection scheme than WebRTC would require.

Astonishingly, the web audio API includes an FFT that runs in your
browser. And a nice biquad filter. There is a reasonably complete audio
processing graph. It is not inconceivable that a codec could be
implemented in _javascript_ using some of these facilities.

For now, I'm not using a codec but just using downsampled audio in
narrower data than the native form.

     Thanks

     Bruce

------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to