mpromonet / webrtc-streamer

WebRTC streamer for V4L2 capture devices, RTSP sources and Screen Capture
https://webrtcstreamer.agreeabletree-365b9a90.canadacentral.azurecontainerapps.io/?layout=2x2
The Unlicense
2.8k stars 581 forks source link

Question: Support RTSP Stream over WebRTC #53

Closed mburger81 closed 5 years ago

mburger81 commented 6 years ago

Hi, we have a question about our streamer.

We are developing on a IOT GW where we has connected some ONVIF webscams which streams over RTSP using H.264 G.711 codec. Until now there is really no good solution to support such devices in browser over mobile devices. On desktop browser we can use flashplayer which is working well, but as you know flash will be blocked in feature on modern browsers like chrome and others.

For now we are using this lib https://github.com/Streamedian/html5_rtsp_player/wiki/HTML5-RTSP-Player which is working good but we had to do a lot of workaround to get it work and also it does not support G.711 codec.

Also we tested in past WebRTC with JsSIP, which should work but in real it doesn't work very good. CODEC support is very very poor. So the result is awful.

On our GW we are packaging the RTSP stream in an WebSocket for HTML5_RTSP player and on other WebSocket for WebRTC JsSip support.

Now, I'm really not an expert of WebRTC and streaming. So my question is what does the webrtc-streamer? Is there a client which we can use with our GW, without installing some server? And if yes, using your client does it work better instead of using only native WebRTC support?

Thx for your time Michael

mpromonet commented 6 years ago

Hi Michael,

Basically webrtc-streamer is a gateway between RTSP (or V4L2 device + Alsa device) to WebRTC. This is a server that read RTSP streams (using live555) or V4L2+ALSA (using WebRTC framework), implement a simple signaling (based on civetweb), in order to stream WebRTC streams.

Usually there is a live demo deployed on Heroku, where you can make some tries, but I need to repair it, something went wrong on last build.

The main interest of these kind of solution is to prefer low latency over reliability (janus gateway give a lighter solution using smaller layers and avoiding uncompress/recompress, but need a webbrowser that could uncompress the camera format).

I made some experiments with RTSP audio, but it is in progress task.

Best Regards, Michel.