Subscriber Discussion

How Does A Modern VMS System Work?

UE
Undisclosed End User #1
Mar 22, 2019

I received a question from my IT department today that made me go hmm.

”When someone in the security operations center does a live camera feed, do they get a direct connection to the camera, or is the camera feed run through and transcoded in the network video recorder?”

My answer would be the video is routed through the recorder, thus the video comes from the recorder. Thus if looking at bandwidth the connection to the viewing station would always come from the recorder and not from the camera in normal user operations.

Is this true for all modern VMS? 

U
Undisclosed #2
Mar 22, 2019

in general - yes.

U
Undisclosed #2
Mar 22, 2019

excluding some multi-casting schemes that I've seen where cameras can stream directly to client machines (via layer 3 switches), all centralized (server-based) architecture VMSs that I have seen send camera streams to client machines via recorder/transcoder servers.

distributed architecture VMS platforms like Mobotix and Axis Camera Companion use the cameras SD cards for storage at the edge - so these obviously have no centralized server to send streams from ;)

(1)
U
Undisclosed #3
Mar 22, 2019
IPVMU Certified

i swear I started typing in between your first and second posts :)

(1)
UE
Undisclosed End User #1
Mar 22, 2019

Thank you for the informative response.

(1)
U
Undisclosed #3
Mar 22, 2019
IPVMU Certified

Is this true for all modern VMS?

the only scenario I know of where it wouldn’t be true is in certain multicast configurations.  Genetec, for one, allows monitoring clients to connect directly to live camera streams, as shown here:

normally one of the reasons you have a VMS at all is so that you don’t overburden the camera servicing multiple clients with the same stream,  the VMS copies (usually without transcoding) the single stream to as many clients as need them.

but with camera side multicasting, the camera can multicast to both the VMS for recording and multiple clients simultaneously, with the same load on the camera device and local network bandwidth usage.

this is not common nor a simple matter to setup, so I doubt you would be configured this way without either you or IT knowing about it.  but you did ask ‘for all modern VMS’.

(2)
(4)
UE
Undisclosed End User #1
Mar 22, 2019

Thank you for the informative response, appreciate the graphic. 

UM
Undisclosed Manufacturer #4
Mar 22, 2019

I know that many Panasonic systems have a setting where you can specify for the client to receive Live video direct from the Camera vs. going through the NVR.

This assumes that the client has network access to the camera network.

This function can help reduce bottlenecks and latency going through the recorder.

This function should be in the WV-ASM100, 200, 970 software, IIRC.

(1)
Avatar
Sean Patton
Mar 22, 2019

As noted multiple times already, generally the live views are streamed from the NVR to the client, not direct from the camera (other than in some multicast environments).

They are not typically transcoded streams, and many VMSes will establish 2 or more streams with different qualities for flexibility based on available bandwidth (low resolution/low frame rate, high resolution/high framerate).

Mobile app video support is more likely to require transcoding due to different video formats required in mobile devices, but not always necessary. 

I can only find definite information on one VMS that supports transcoding from NVR to the primary client (not mobile/web services) out of the box, JCI / Tyco VideoEdge. I'm sure others will respond with VMSes that can in addition to VideoEdge.

(3)
U
Undisclosed #5
Mar 22, 2019

They all use marketing jargon.

(1)
Avatar
Jared Tarter
Mar 22, 2019
Milestone Systems

The one exception I would put for Milestone (and I would assume most, if not all, of the other VMSs) is that the Recording Server isn't transcoding the video.  It is just passed on to the clients.  In Milestone, you do have the option of the Recording Server transcoding the video but that is only done to decrease the load on the client machines.  However, it puts a lot of extra load on the Recording Servers and is generally not recommended.

(2)
(1)
U
Undisclosed #3
Mar 22, 2019
IPVMU Certified

In Milestone, you do have the option of the Recording Server transcoding the video but that is only done to decrease the load on the client machines.

and possibly to reduce the network bandwidth between server and client, no?

Avatar
Jared Tarter
Mar 22, 2019
Milestone Systems

Depending on the camera, it definitely could.  If you choose to change the Quality setting in the Smart Client, then the Recording Server will transcode the video over to MJPEG at 25% quality and lower the resolution to whatever value the user selected.  Even though it is MJPEG, the 25% quality and lower resolution will usually use less bandwidth.

If you change the Frame Rate setting option in the Smart Client, then it will just request keyframes (if using MPEG-4, h.264, or h.265) which will definitely be less bandwidth.

(4)
Avatar
Stephen Green
Mar 22, 2019
IONODES

Good question. The Client workstation would request access to a live video stream from a server / directory / NVR.  Depending on the platform; live video could then be either sent from the server or directly from the camera.  As others have said, there are pros and cons to each.  Going back to the original question about bandwidth:

" Thus if looking at bandwidth the connection to the viewing station would always come from the recorder and not from the camera in normal user operations."

In my experience (more on the enterprise side), in most cases the live video stream would be from the IP cameras to the client workstation.

(1)
U
Undisclosed #2
Mar 22, 2019

“in most cases the live video stream would be from the IP cameras to the client workstation.”

This would only be possible with multi-casting topologies in place - if the enterprise has multiple clients viewing the same camera simultaneously.

(1)
U
Undisclosed #3
Mar 22, 2019
IPVMU Certified

This would only be possible with multi-casting topologies in place - if the enterprise has multiple clients viewing the same camera simultaneously.

re-reading the OP’s question and intent, i think it’s important to note that nothing actually prevents even multiple clients (including the VMS) from connecting directly via unicast to the same camera.

though since there is a fairly low limit of how many connections the camera can handle before becoming swamped and  if one has already invested in a VMS system, this is not typically seen.

so, to answer this:

“When someone in the security operations center does a live camera feed, do they get a direct connection to the camera, or is the camera feed run through and transcoded in the network video recorder?”

in a way so the OP is not proven wrong by I.T. because of some rogue web clients out there, I would say it’s unknown for certain and depends on the client being used.

what the “right” way to do it is another story.

 

 

 

(1)
(1)
(1)
Avatar
Stephen Green
Mar 22, 2019
IONODES

Multicast is best if many users will be requesting live video from the same camera at the same time.  However, as UD3 said, most modern IP cameras can support multiple individual streams.

(1)
U
Undisclosed #2
Mar 22, 2019

"Multicast is best if many users will be requesting live video from the same camera at the same time. However, as UD3 said, most modern IP cameras can support multiple individual streams."

Multi-stream encoding (the ability of cameras to send more than one stream, and the VMS's ability to use more than one stream for different things) is not a realistic solution for multiple client requests for the same video streams at the same time.

So I agree with your first sentence - but the 2nd (bolded) sentence has nothing to do with it.

(1)
U
Undisclosed #3
Mar 22, 2019
IPVMU Certified

Multi-stream encoding (the ability of cameras to send more than one stream, and the VMS's ability to use more than one stream for different things) is not a realistic solution for multiple client requests for the same video streams at the same time.

before we get too fine with the details, we need to distinguish “multi-streaming” from multiple connections.

normally when one speaks of multi-streaming, e.g. “camera A supports 3 streams”, we are talking about 3 different resolutions/and or frame-rates being generated by the camera to be delivered over the network to x number of clients.

multiple connections refers to that number of clients , BUT there may only be one “stream” being prepared/compressed/encoded by the camera, which is delivered to multiple cameras via uni or multicast.

the max number of connections is always at least the number of max streams, but often much more, like 10 or more.

this is because there is far less cpu work for a camera that has 3 unicast client connections to a single stream as opposed to 3 unicast client connections to 3 different streams.

so if the clients are requesting the same stream you can get a decent number of connections.

 

 

(3)
(5)
U
Undisclosed #2
Mar 22, 2019

agree

(1)
U
Undisclosed #5
Mar 22, 2019

So which VMS can toggle between different profile streams from the camera?

For instance, send the 4k stream to the recorder, send a VGA stream to the client while viewing a tiled matrix. Then switch client to 4k stream, when fullscreen or digitally zooming.

(1)
Avatar
Sean Patton
Mar 22, 2019

Many VMSes and NVRs support this feature, some automatically, others require you to do it manually. All 9 VMSes in our VMS Live Monitoring Shootout - Avigilon, Dahua, Exacq, Genetec, Hikvision, Milestone, Network Optix supported it.

(2)
UE
Undisclosed End User #1
Mar 23, 2019

How did you test / confirm this, beyond marketing materials? 

Avatar
Sean Patton
Mar 23, 2019

In each VMS I configure at least a "low" and "high" setting, with 2 different ratio video streams (4:3 vs 16:9) and 2 significantly different framerates (1fps vs 15fps). That makes visually identifying the change in stream most obvious.

(1)
U
Undisclosed #5
Mar 25, 2019

I guess to elaborate on this, does this typically play nice between all VMS and camera manufacturers, or are some plug and play, some require extra setup, some can't at all, etc.

Does ONVIF address any of this functionality, like a standard command for calling up each stream/profile? Or is this just the wildwest?

 

UM
Undisclosed Manufacturer #6
Mar 22, 2019

So which VMS can toggle between different profile streams from the camera?

For instance, send the 4k stream to the recorder, send a VGA stream to the client while viewing a tiled matrix. Then switch client to 4k stream, when fullscreen or digitally zooming.

Genetec Security Center has pretty sophisticated capabilities to do this.  *Full disclosure: I used to work at Genetec.*

(1)
(2)
Avatar
Carl Lindgren
Mar 22, 2019

I'm pretty certain IndigoVision's Control Center client connects directly to the camera. IndigoVision requires either two(+) separate unicast streams (one to each client and one to the NVR) or one multicast stream from the camera.

And a Wireshark capture at the client machine shows packets coming directly from the camera.

(1)
(3)
U
Undisclosed #7
Mar 22, 2019

Open up those packets, do you see the camera's user/pass in plain text even if the camera is on flat network and not using SSL.

(3)
(1)
Avatar
Carl Lindgren
Mar 22, 2019

#2,

I'm afraid it's a bit late for that since I no longer have access to the system. Still, further proof would be that clients can view "Live" video even when the recording server is offline.

(1)
(2)
New discussion

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

Newest discussions