Subscriber Discussion

Does Anyone Know Of Way Of Converting ONVIF Or RSTP To Webrtc?

DM
David Matyas
May 16, 2018

Is there a tool that does it for a live stream? Or is there an NVR that can support output streaming of webrtc?

 

Thank you

(1)
PS
Paul Shah
May 16, 2018

What is the benefit of webrtc? 

SH
Slava H
May 18, 2018

From video stream perspective, WebRTC allows you to deliver real-time video stream with minimal delays which is natively supported by majority of browsers and mobile platforms.

So in contrast to currently used HLS, which has average latency of 10-30 seconds you get a stream with 1-2 sec delay.

(1)
(1)
(1)
Avatar
Christopher Uiterwyk
May 18, 2018
IPConfigure

IPConfigure's implementation of WebRTC experiences less than 300ms of latency (on a closed network).

(1)
SH
Slava H
May 18, 2018

Christopher, thats already very subjective number.

Its depends on connection, stream bandwidth, client, etc.. 

WebRTC is real-time stream so whatever you deliver you would get right away.

(1)
(1)
(1)
Avatar
Christopher Uiterwyk
Mar 21, 2019
IPConfigure

Test it on a closed network with Orchid https://www.ipconfigure.com/products/orchid if you don't agree.

(1)
(2)
SH
Slava H
Mar 21, 2019

What would i actually test on closed network?  WebRTC connection? Stream delay vs total bitrate. Server processing delay vs resolution of stream?  

In any case, if to drop marketing claims, this is what one would look for when doing comparison of webRTC solutions on a market:  Comparative Study of WebRTC Open Source SFUs

If you want to provide numbers here WebRTC test suite: KITE

(1)
(1)
(1)
Avatar
Morten Tor Nielsen
Aug 31, 2019
prescienta.com

Google hangouts use WebRTC to deliver very low latency video conferencing (substantially better than 300 ms), but it's not a fair comparison...

I wonder, does IP configure or Axxon provide the ability to adjust compression on the fly when delivering a stream over WebRTC. Naturally, this will require transcoding (when lower quality is needed), but low-latency encoding has been available for years now.

For the OP: You can get a full version of Evostream if you know where to look (and no, I am not talking about piracy). It has support for a lot of cool things, including RTSP to WebRTC - but it is not trivial to set up.

(1)
(1)
SH
Slava H
Aug 31, 2019

Well, Google Hangouts, same as us (disclaimer: we 3dEYE provides WebRTC streaming service) and other WebRTC providers are using Turn servers. In case your clients behind NAT or in corporate network you won't be able to setup Peer to Peer connection. You traffic would go (simplification) : client1 <->turn<->client2. You would still get very low latency (0.3sec) assuming your Turn server on any big cloud provider (aws, azure, etc.). How does Hangouts use WebRTC? webrtc-internals analysis - webrtcHacks

You can adjust compression on the fly. In case of Peer-to-Peer client does it without latency loss. In case you want to do it on server, this will entail re-encoding, cpu and actually could add latency.

For OP case you actually don't need Peer to Peer, it just camera to client streaming. Camera don't need to get stream back from a client. Unless of course you have a scenario where you want your security guard to stream mobile camera and receive real-time stream back from user/operator.

but low-latency encoding has been available for years now.

Not sure what are you referring to and in what context? Hardware encoders or low compression or ?

In regards to WebRTC I personally still would recommend to start with Kurento. its Free, mature, has a cloud version (AWS, etc..) and community support. In case you don't want waste time on setup, maintenance - get already running service such as TokBox(quite good but pricey) or us :)

(1)
(3)
Avatar
Morten Tor Nielsen
Aug 31, 2019
prescienta.com

OnLive was a service that streamed games to a small console, super-low latency encoding. These days, Google launched Stadia that does the same thing. They're all based on zerolatency encoding (there's an option for FFMpeg for the same thing). So transcoding does not need to add a lot of latency.

I did not mean bidirectional peer-to-peer, just that the source (peer) is directly connected to (usually) one viewer (the other peer). As you write, if UDP hole punching doesn't work, you can use a turn server as a middle-man. But you usually only have to deal with just one viewer at a time. If you're selling a system that can have hundreds of people log in and view at the same time, then the cost of transcoding can be very high, so instead (some systems) will just send whatever the camera provides, and not adjust the compression regardless of the client.

If you know that the system will only be used locally (and you're using WebRTC to avoid installing an app - other then chrome or firefox), then it might not be a problem at all.

And frankly, sub 200 ms latency is only really relevant for PTZ cameras. For static cams, in 99.99% of all cases a 5 second latency is not going to make much of a difference.

Thanks for the good posts btw.

(1)
(1)
(1)
(1)
SH
Slava H
Sep 02, 2019

Yes, In example of Stadia video stream is produced on the client's side(no re-encoding or transcoding). Such client supports on the fly adjustment of stream quality/bitrate during the session.

Yes, for public WebRTC server you don't need Turn/Stun. Turn you would only need in case your WebRTC server is not on public network (or in some cases for better delivery).

"But you usually only have to deal with just one viewer at a time."

Well, it depends on a use case. In case of cloud video surveillance, we usually deal with "many to many" relation (cameras:users) - guards, managers, end-users or just cameras published on website for marketing purposes.

"If you're selling a system that can have hundreds of people log in and view at the same time, then the cost of transcoding can be very high, so instead (some systems) will just end whatever the camera provides, and not adjust the compression regardless of the client."

Yes, In case we take the video from a camera and deliver to a client - resolution/bitrate is based on stream channel used (for simplicity sake assume regular Hik/Unv). Performing stream quality/bitrate adjustment on a server always entails re-encoding. I assume you are trying to point out that we can dynamically switch camera stream channels? Yes, you can take multiple streams from a camera simultaneously but the case of a camera having such available resources is quite rare.

"If you know that the system will only be used locally (and you're using WebRTC to avoid installing an app - other then chrome or firefox)"

Imo WebRTC is a poor choice for local(network) pure HTML5 camera to client streaming (WebRTC by nature is peer2peer).

"And frankly, sub 200 ms latency is only really relevant for PTZ cameras. For static cams, in 99.99% of all cases a 5 second latency is not going to make much of a difference."

From our experience latency is a big issue. Guaranteed complaint/support call from a client. Dual audio won't work, PTZ, alarms, etc ... Installers want near real-time stream so they can adjust camera during installation. Thought even with all optimization sometimes nothing you can do - camera or ISP is an issue :(

UI
Undisclosed Integrator #1
May 16, 2018

streamers

This seems to be a guide

 

(2)
(3)
UM
Undisclosed Manufacturer #3
May 17, 2018

Good overview of streaming technologies. Thank you.

UM
Undisclosed Manufacturer #2
May 16, 2018

David, 

can you provide more details as to where the final output stream would be used? what is the usecase for webrtc.

are the streams being picked from camera or nvr and would be required to be integrated into a specific vms?

SH
Slava H
May 17, 2018

 There are quite a few solutions raging from simple github proof of concepts and up to commercial.

We have done a lot of tests an year ago to get live webrtc streaming into production.

Simplest one to use commercial solution probably would be Wowza. 

From opensource world Kurento would be most mature. It supports rtsp to webrtc pipeline but with re-encoding (due to bug). Kurento is very customizable to your needs.

Then there are also live555 webrtc proxy and some other attempts, but they were not production scalable.

(2)
Avatar
Christopher Uiterwyk
May 17, 2018
IPConfigure

IPConfigure's "Orchid" next release (early June) includes WebRTC support.   You can use Orchid as a traditional VMS or as a proxy between ONVIF/RTSP and our WebRTC player.  Congrats on discovering the future of native browser streaming, WebRTC!!!

-Chris

(1)
(1)
PS
Paul Shah
May 18, 2018

How does webrtc compare to html5? 

SH
Slava H
May 18, 2018

Hi Paul,

WebRTC is part of HTML5 and nowadays is being supported by almost all browsers.

Here support matrix: https://caniuse.com/#search=webrtc 

This means all of those browsers can use WebRTC in webpage without any addons.

 

Here official page: https://webrtc.org/

And best tutorial out there (again subjectively): https://www.html5rocks.com/en/tutorials/webrtc/basics/

(1)
UM
Undisclosed Manufacturer #2
May 18, 2018

Paul, please look into this link for comparison - https://medium.com/oceanize-geeks/html5-websocket-vs-webrtc-493591fa3452 

Avatar
Jon Dillabaugh
May 19, 2018
Pro Focus LLC

Nx Witness/DW Spectrum/Hanwha Wave use WebRTC in their web view. You can use their server for free. You only pay to record streams, via a camera license.

(2)
JW
Jeff Weiner
Mar 21, 2019

Mersoft does this on a cloud SaaS or local server option. It outputs WebRTC, synchronizes video and audio (when audio channel is present), integrates with analytics and VMS platforms. It's designed for low latency and fast starting among many other features.  All ONVIF cameras are supported.

JW
JP Wenger
Aug 30, 2019

uVMS should be able to handle that: 3rd Party VMS/uVMS - Dahua Wiki

DahuaWiki's LiveDemo is currently using uVMS: Live Demo - Dahua Wiki

UE
Undisclosed End User #4
Sep 01, 2019

I think Shinobi will do this:

Shinobi: Moe Is Building His Own VMS

SY
Suresh Yendrapalli
Sep 02, 2019
Duranc

Duranc supports converting of RTSP & ONVIF feeds to stream on browser with low latency. here is a demo feed.

Duranc Web Streaming Demo Feed

New discussion

Ask questions and get answers to your physical security questions from IPVM team members and fellow subscribers.

Newest discussions