top | item 37778209

(no title)

potmat | 2 years ago

There's a native implementation that requires no binaries here: https://github.com/shinyoshiaki/werift-webrtc

Maybe I'm missing something but how Node-WebRTC preferable?

discuss

order

keepamovin|2 years ago

Yeah I had a look at that too, but I'm concerned it may use a custom API that does not line up with the spec. WebRTC is confusing enough without an additional premature abstraction! Also, not to disparage, but it's missing: API compatible with browser RTCPeerConnection, which I think is essential for our use case.

Also, when you say native, I guess you mean just in Node, right? C++ or wasm binaries are going to be faster, and I'd just prefer the performance extra performance / lower overhead in something lightweight for real-time streaming that I believe webrtc-node offers.

From: https://shinyoshiaki.github.io/werift-webrtc/website/build/d...

potmat|2 years ago

> it may use a custom API that does not line up with the spec

Not sure about that, but it's been working brilliantly for me so far.

> API compatible with browser RTCPeerConnection

Fair enough, though I'd be curious what you'd be doing with Node not in a browser that requires this...

> Also, when you say native, I guess you mean just in Node, right?

Yeah, sorry I guess "native" was the wrong word there.

> C++ or wasm binaries are going to be faster

True, but if you are trying to distribute your NPM package to lots of users, and it requires platform specific binaries or, God help us, node-gyp, you're in for a lot of GitHub issues :)

dboreham|2 years ago

Incomplete (no ICE, no TURN for example).

doctorpangloss|2 years ago

> Maybe I'm missing something but how Node-WebRTC preferable?

Maybe another way of putting it is, Node-WebRTC actually works.

keepamovin|2 years ago

Yeah, that too. Basically incomplete. When you have something critical that you use and depend on, you can't have that kind of stuff.