Live data from Hacker News

Janus WebRTC Server

janus.conf.meetecho.com

21–30 of 65 posts

Re: Janus WebRTC Server

#21
post #10

Earlier quoted context omitted.

If you are interested in cross-compiling the WebRTC implementation so it runs directly from within edge devices, Janus might be one of the best options out there. Kurento offers a variety of features apart from WebRTC, but it is more intended to be cloud-deployed as an independent media server, you could think of it as a "proxy/bridge" that distributes media between producers (like RTSP cameras) and consumers (WebRTC…

I've been vetting solutions in the space and I think I have a need for both... I'm having a hard time figuring out direct streaming from device on your local LAN without having to go out/back-in through the public internet with a hard requirement of an encrypted "point-to-point" communication (ie: can't listen into streams) which is browser trusted + the ability to ship that out to a "proxy/bridge" media server solut…

You can deploy Kurento (or Janus itself, for that matter!) inside a subnet of the LAN, to act as a media bridge. Then, if the security group / firewall / whatever is configured so it allows the media bridge public network access, then it could be used to send the data directly to remote peers.

This however would have the bridge in the middle of LAN connections, so it wouldn't be a point-to-point flow, and the server would be able to "see" data passing through it.

There is however some new work on what's called "insertable streams" in Janus, which would allow e2e encryption directly between sender and receiver, thus having the media bridge purely act as a "blind" router, not being able to see the streams passed through it.

Janus has some very recent support for this [0], while this is (for now at least) not standardized and out of scope for Kurento.

[0]: https://www.meetecho.com/blog/janus-e2ee-sframe/

Re: Janus WebRTC Server

#22
post #11

Earlier quoted context omitted.

Out of curiousity: What is an edge device? An IP camera? Depending on the professional grade of your use case, you could directly talk to meetecho, as they are the original developers and offer consultancy around Janus.

IP cameras mostly, some remote-audio stuff - I think that may be a logical next step for me so I'm going to bring that up to leadership tomorrow.

I used Janus to map my IP camera's stream to a WebRTC page using a Raspberry Pi's hardware transcoder. It works quite well.

Re: Janus WebRTC Server

#23
I am currently working on a project to solve my own needs around this. If anyone wants to collaborate or chat about it please e-mail me. I've done some work around the Xiaomi cameras with the custom firmware so love to talk to others about what they want to see.

Re: Janus WebRTC Server

#24
post #4

We use Janus as a WebRTC SFU for projects in the education/gaming sector. Its general purpose approach to WebRTC has been a good foundation to help us build custom solutions.

Did you write your own plugin or are you using VideoRoom or something? The thing that turned me off of Janus is that VideoRoom seemed way too high level and made tons of schema assumptions, but all of the important SFU functionality seemed intertwined into the codebase of that plugin, so if I were to actually want to build a "custom solution" it looked like I would have to maintain an annoying-to-merge fork of that thick layer :/.

Re: Janus WebRTC Server

#25

Earlier quoted context omitted.

IP cameras mostly, some remote-audio stuff - I think that may be a logical next step for me so I'm going to bring that up to leadership tomorrow.

I used Janus to map my IP camera's stream to a WebRTC page using a Raspberry Pi's hardware transcoder. It works quite well.

I'd be super interested in seeing what you've got! Is your implementation posted anywhere?

I really like your Stylus project btw!

Re: Janus WebRTC Server

#26
post #21

Earlier quoted context omitted.

I've been vetting solutions in the space and I think I have a need for both... I'm having a hard time figuring out direct streaming from device on your local LAN without having to go out/back-in through the public internet with a hard requirement of an encrypted "point-to-point" communication (ie: can't listen into streams) which is browser trusted + the ability to ship that out to a "proxy/bridge" media server solut…

You can deploy Kurento (or Janus itself, for that matter!) inside a subnet of the LAN, to act as a media bridge. Then, if the security group / firewall / whatever is configured so it allows the media bridge public network access, then it could be used to send the data directly to remote peers. This however would have the bridge in the middle of LAN connections, so it wouldn't be a point-to-point flow, and the server…

I’ve also tried to setup Kurento and Janus and Janus is 100000000000% easier

Re: Janus WebRTC Server

#27
We use Janus for a few hundred clients all spread out over a few instances. It works great for us. We tried kurento and it was just soooo hard and complex to setup. The Janus JS client library is pretty good and makes it really really easy

Re: Janus WebRTC Server

#28

Having to look into this professionally for local/remote streaming solutions and came across this paper in the last couple of weeks which has been a huge help to understanding my use case: http://lup.lub.lu.se/luur/download?func=downloadFile&recordO... One of the most useful/interesting use cases to me is the ability to have a PTP encrypted stream without having to go through weird IoT PKI hoops. Ninja edit: If anyon…

I do WebRTC on Edge/IoT devices (mostly MIPS/ARM devices running Linux). Customers are mostly teleoperations (robotics) and security cameras.

Most customers run an MCU/SFU on a server, but then just a WebRTC client on the device. We do simulcast on the device to an SFU, and then distribute from there. Happy to answer questions here or directly.

I don't want to be disrespectful and sell other stuff on this thread though. I like seeing people realize how great Janus is :) don't want to distract from that conversation!

Re: Janus WebRTC Server

#29
post #24
post #4

We use Janus as a WebRTC SFU for projects in the education/gaming sector. Its general purpose approach to WebRTC has been a good foundation to help us build custom solutions.

Did you write your own plugin or are you using VideoRoom or something? The thing that turned me off of Janus is that VideoRoom seemed way too high level and made tons of schema assumptions, but all of the important SFU functionality seemed intertwined into the codebase of that plugin, so if I were to actually want to build a "custom solution" it looked like I would have to maintain an annoying-to-merge fork of that t…

Janus itself doesn't make any assumptions about a specific use-case. All the functionality outside of the core RTC stuff is implemented with plugins. The default "Video Room" implementation is just a Lua script [0]. Mozilla has written their own SFU plugin (in Rust) [1] for game networking that powers Mozilla Hubs [2].

[0] https://github.com/meetecho/janus-gateway/blob/master/plugin...

[1] https://github.com/mozilla/janus-plugin-sfu

[2] https://hubs.mozilla.com/#/

Re: Janus WebRTC Server

#30

How hard is to use Janus for a media server in the SFU paradigm? Or where could I find a good example? We currently use Kurento for the easiness of usage + the Java client, but we have been wondering about other solutions like Janus.

You might check out Mozilla's SFU plugin [1] for Janus that powers Mozilla Hubs [2]

[1] https://github.com/mozilla/janus-plugin-sfu

[2] https://hubs.mozilla.com/#/

Post reply on HN