jbaicoianu / janusweb

An in-browser implementation of JanusVR
MIT License
177 stars 52 forks source link

RTSP Video Streaming #123

Closed shadoxx closed 4 years ago

shadoxx commented 6 years ago

Right now the only way of streaming into JanusWeb is via an HLS server. An RTSP player implemented into JanusWeb would open up an entire world of low-latency real-time streaming options. Pls 2 b implementing thx.

https://www.npmjs.com/package/html5_rtsp_player

jbaicoianu commented 6 years ago

Looks like this package has now been replaced by https://www.npmjs.com/package/streamedian which does the same thing. In either case though, it relies on a websocket proxy to forward the rtsp stream to the browser.

Doable, but needs some set-up and experimentation.

shadoxx commented 6 years ago

After checking, streamedian is a proprietary app with what looks like a custom backend coded in C. The webclient frontend is specific to their backend, as they're splitting the stream somehow and compositing them on the frontend. We'd need to license it to use. Avoid Streamedian at all costs.

I'm now looking into MPEG-DASH for ultra low latency streaming. Here's a great article about it: https://www.gpac-licensing.com/2014/07/09/lowering-dash-live-latency-240ms/

I should have a working demo later. Coupled with dash.js, this might be easy to implement. Dash.js is also licensed under a BSD3, free for commercial use license. https://github.com/Dash-Industry-Forum/dash.js/wiki

jbaicoianu commented 4 years ago

I believe if you've got an MPEG-DASH server, we should be able to consume video from it using our existing <video> implementation.