WebRTC for sub-second latencyIn Progress
Basically, I implemented it my own way with RTSP streams that NX server provides + FFmpeg + a WebRTC library + custom code.
It works great for watching camera streams in the browser with minimal latency. It also allows us to use the absolute timestamp of each frame (thanks to the RTP header extension with "onvif_replay=1") for synchronizing metadata and object detection boxes directly in the browser.
I'd love to see WebRTC embedded in NX Witness.
Have you ever considered this?
Hi, Mat L
Yes, of course. We do have distant plans for using WebRTC, but there is no solid ETA. We may release it next year, but my best guess that it would be released later, cause we have a lot of important features in the queue.
By the way, we currently use the Apple HLS protocol: it was originally developed for on-demand video streaming and later adopted for live, so we have this latency issue in web interfaces. WebRTC may solve those issues
I'm using this excellent Golang library: https://github.com/pion/webrtc
I did not a develop a WebRTC plugin for NX Witness; sorry if you were looking for a C++ solution.
We manage to implement WebRTC using NX + gstreamer library + custom code, taking rtsp h264/aac from NX and live-playing with same codecs in browser using for multiple cameras in same time.
End-2-end latency is constant around 400 ms in lab scenarios, cpu use is few percents for 20-30 streams, (we do not use transcoding).
Just to clarify, I'm just a customer like you. I used latest NX,
PTZ can work in browser limited to NX API PTZ or you can develop for specific camera API.
I'm not part of NX team, I just suggested gstreamer library -> if you have development skills or devteam (C#/ C++...)
Hey, I'm a Product Manager at Nx.
Mat L Mihai Pavelescu Dima Kanevsky Dima Kanevsky Lukas Zich
We added WebRTC support in 5.1, which reached Beta. Please, check it out: https://meta.nxvms.com/downloads/betas
there is no solid documentation on it yet, but here is some hint on how you can construct an URL that returns a simple player based on webRTC
So this is our first iteration. We will continue to evolve it in the next versions.
Please, test it and we're waiting for your feedback. Thank you!
Hi Tagir Gadelshin,
Thanks for the news.
I'm looking forward to testing this!
Please sign in to leave a comment.