My experience with this library is iffy. While it's fairly painless to use, a benefit which cannot be understated since implementing WebRTC is actually incredibly difficult in practice, it doesn't seem to be well optimized especially if recording two sources at the same time (audio, screen, camera). People have reported a variety of performance issues with my side project serverless.cam such as general lag while recording and poor synchronization (one source lagging behind another).
In regards to the difficulty of using WebRTC, the API was created by Ericsson which also invented Erlang, a language renowned for its concurrency capabilities but also its otherworldly syntax, so it shares that same uncannily foreign design and syntax. If there was any one company that was employing technology from an advanced alien civilization, my suspicions would immediately fall on Ericsson.
Same company sure, but different people and really different eras. That'd be like saying the company that built DX12 was the same company that built BASIC.
WebRTC's arcane operations are more a product of the realities of peer-to-peer communication in a mostly NAT'ted world and SIP. Ericsson was big into IMS, and if you rub some Web on IMS, you get WebRTC.
I get your point, but there must be some sort of connection. Erlang and WebRTC are two of the strangest things I've ever seen. It would seem implausible for one company to repeatedly produce such oddities by chance.
I use this extensively for mixing/recording video streams, although I think that Muaz library is great, but browsers support for WebRTC recording is far from being production ready.
Some issues off the top of my head :
- Non seekable videos in Chrome
- Video/audio lags and de-synchronization
- Loss of audio streams in Chrome
Muaz has been awesome about sharing his knowledge. WebRTC is not directly related to my line of work, but Muaz's demos and code have kept me engaged with this topic. Good Job!
This one time at Startup School Meetup @ YC, I was having random discussion about my country and the other person says something like "Do you know Muaz, he is from your country, if you search for WebRTC, his demos are the only thing that pop ups everywhere"
Browsers generally will not set `navigator.mediaDevices` unless you're using a secure connection (except for localhost). This is frustrating when testing apps that use these features as you then need to use self signed certs. I understand why, though.
Note, webRTC "over" http or https is not a thing. What is a thing is a page that is served over http or https initiating a webRTC connection, which goes over UDP and is peer to peer, unless there's relay servers, in which case it should still be over UDP.