Multicasting Problem With VMS

According to one VMS manufacturer, to simultaneously feed the recording server and viewing clients, either the devices (cameras or encoders) must support dual streams (one unicast and at least one multicast) or the system would require proxy server(s) to convert a single unicast stream from the device to multiple streams: unicast for recording and multicast for viewing. They do not recommend feeding only a multicast stream from the device because of the difficulties encountered in troubleshooting multicast streams if there are problems.

I had never heard of the need for proxy servers but the manufacturer claims that they would add substantially to the cost of a system of our size. The same manufacturer also states that their own cameras are able to deliver (up to 8, I think) simultaneous streams due to the design of the cameras.

We tested a number of IP cameras during VMS system evaluations and the ones we liked best, Axis' P3354/64/84, were unable to deliver more than one 30fps stream at 720p/1280x960. Axis has confirmed that shortcoming. The documentation they sent us graphs resolution and frame rate versus number of streams. The only way they can deliver even two 30fps streams is to throttle back the resolution to <= 800x600.

That was also true of other third party IP cameras we tested. That leaves us "stuck" using only the VMS manufacturer's cameras or spending additional money on proxy servers or finding another camera(s) capable of delivering multiple 30fps streams at HD resolution.

Our budget would require sacrificing important features if we had to purchase proxy servers but we are concerned that if we don't, we would be basically sacrificing our ability to choose other IP cameras.

Any comments or suggestions?


I commented on a thread similar to this a while ago. We too found that multi stream Axis cameras were not ideal in every scenario. We were simply trying to record one stream to the on board SD card and one to the VMS. The cameras couldn't handle 30fps. Another line of their cameras, the M3006 specifically, couldnt handle being rotated 90 degrees into 'corridor mode' without dropping frames. I brought this to the attention of upper management and they claimed since it is a budget camera, corridor mode wasn't ideal for use on the camera. The splash page for this camera specifically states it supports corridor mode- in fact uses it as a selling point. But it's a budget camera and can't support it... I was extremely disappointed in the lack of multi stream support. Especially since EDGE options are so limited with VMS support. Maybe these new 60 fps cameras do have a place in the market- more streams equals more possibilities for splitting that up into 2, 30 fps streams or 4, 15 fps streams, etc...

just curious, which VMS? Seems unusual.

Is this for Carl or me? We were using OnSSI and Milestone. But it's the camera that was having the problem. You can put %R in the on screen text overlay box and it will show how many streams the camera is actually putting out.

I was trying to reply to Carl. Sorry.

%R on my P3344 displays the date in 24-hour, #R is the frame rate. I don't see a modifier in the help screen fro number of streams. There is a #v for video source number.

In a well designed VMS only a max 2 streams will be needed from the camera - one full resolution and maybe an additional low resolution. Ones the streams are with the VMS it should then be the responsibility of the VMS to record and duplicate to multiple unicast streams for the clients or implement multicasting to support more clients. No extra burden should be placed on the camera. The reason for this structure is to reduce camera-to-VMS bandwidth requirements, which is important when the camera is connected to the system via wireless, media convertors or shared/remote links. Does anyone know of a VMS that does not do this? Carl: you one does not, is that right?

Bohang,

Two full-resolution streams would be required: one unicast for recording and one multicast for viewing. Axis states that they can deliver two streams at lower resolution but I didn't ask if they can deliver one stream at high resolution and one stream at lower resolution because that would not work for us. I would guess not since they also stated that the only way they could deliver two simultaneous HD streams at 30fps was if the streams were exactly the same so that their processor only had to encode once. When I asked how it was possible to do that, they didn't explain. I'm fairly certain I tried setting all factors the same on the two streams and still only got 22-24fps. I also didn't try to set up simultaneous unicast and multicast streams but when I questioned Axis, their answer inferred that it wouldn't matter if I was trying to get two unicast streams or one unicast and one multicast stream.

At this point, I'm not at liberty to reveal the VMS manufacturer because we're in the final stages of our RFP process. So basically ignoring the VMS, are there other high quality IP cameras capable of delivering at least two simultaneous HD streams at 30fps? The Axis P33xx cameras really impressed us with their picture quality but we will be experimenting with others once our new system is commissioned.

The VMS manufacturer states that their servers cannot duplicate streams by themselves; they need separate proxy servers for that function. That is where my understanding breaks down. Has anyone heard of such a thing?

30 fps for live viewing? Wow...

With Genetec, many times we record H.264 at 30fps and live view in MJPEG at 15fps for some critical applications. I can test this with a new P3384 i just received in my lab next week If you want.

At this point, I'm not at liberty to reveal the VMS manufacturer because we're in the final stages of our RFP process. So basically ignoring the VMS, are there other high quality IP cameras capable of delivering at least two simultaneous HD streams at 30fps? The Axis P33xx cameras really impressed us with their picture quality but we will be experimenting with others once our new system is commissioned.

I would look for cameras that support at least 60fps in their spec to start. But you will run into issues, because the reality is, the camera should only have to stream it's data once. It's the VMS that's responsible for taking that single stream and routing the data around for additional clients that come in- not the camera's. A proper VMS would act as the 'proxy' and copy the source stream to each of the clients- whether that's through new multicast streams or through unicast.

The VMS manufacturer states that their servers cannot duplicate streams by themselves; they need separate proxy servers for that function. That is where my understanding breaks down. Has anyone heard of such a thing?

Yeah... about that. They're claiming you will need an RTSP proxy. You can find open source software that will do the trick as well as hardware- sometimes the functionality is built into the switch- HIGH-end switches... which have high-end price tags.

You may be having a hard time communicating to them what your requirements truly are. I have a hard time believing that they are not relaying the stream from the camera to their storage 'module', and then feeding that to the clients. How do their clients get video? Where does it come from? Why does it not come from the VMS server?

That's what I would like to know....

Thanks John. Axis has offered to bring a P3354 for continued testing but we can't run the tests on our current VMS. It is not compatible with most modern IP cameras.

I agree with Bohan. If your VMS manufacturer is telling you that they have no business in the IP world.

So that requirement is not common?

You mean, " proxy servers ... that would add substantially to the cost of a system"

Yes, I've never heard someone require that. Basically I suspect a 'proxy server' here is a transcoding application that they use instead of multicasting. Does that make sense?

I don't know. I've asked the manufacturer to clarify.

Carl - For live viewing my eyes can't tell the difference between 15 and 30 fps. I can understand 30fps for frame by frame forensic analysis of recorded video for critical applications. I've seen 30fps recording in many specs but rarely for live viewing.

I understand but we are a casino. Our control standards call for 30fps period. No differentiation between live and recording. We did get approval to make the requirement 30fps +/-10% so 27fps would be acceptable but not 22-24fps, or 15fps or...

> I understand but we are a casino. Our control standards call for 30fps period. No differentiation between live and recording. > > We did get approval to make the requirement 30fps +/-10% so 27fps would be acceptable but not 22-24fps, or 15fps or...

I understand. I don't do any casino work and haven't seen 30 fps live view specified.

Will bust out my new P3384 in the lab and experiment with the two VMS demo systems I have, Genetec and Exacq. You've got me curious.

For gaming 30 is a requirement, so I understand the necessity of every single frame.. there has to be a solid solution. It's 2013.

That's so weird Carl, you and I were replying the same thing simultaneously...

Besides, it's unclear that Axis can even provide one of the streams at 30fps and a second at a lower frame rate. Their responses indicate otherwise.

JH: I don't think the video is being transcoded by the proxy servers, just redistributed as multiple streams. I hope the manufacturer can provide a detailed explanation in writing. The person I usually talk to often gives me TMI... ;>| (he reads IPVM, LOL).

John, The key factor may also be our requirement that any camera is view-able simultaneously on up to 12 clients at 30fps while continuing to record at 30fps. Not likely to happen but we have to consider the possibility.

Well your image server should take of the streaming to the clients, unless you are trying to stream to clients directly from the camera. VMS has to have an image server...

Although I didn't catch everything I was told, it seems to me that is exactly what is being proposed: streaming multicast directly to the clients from the cameras while only picking up the unicast stream at the server for recording.

This may be a latency issue or perhaps a horsepower issue with the servers.

how do you browse?

Carl,

I guess your problem is related do multiple-streaming rather than multiple-type streaming.

Proxy server(redistributing streams) should be a built-in feature of a VMS Server. you need not purchase or install new software besides VMS.

We achieve multicast in 2 ways. Using a network device (called Multicast) and using a vms server (multi streaming).

You have to decide based on your design. But in any case a vms should support multi streaming to clients.

And yes of course as vms server is doing multi streaming(for multiple clients), CPU load increases though very little.

Axis by default supports 10 simultaneous clients. Not tested if frame rate drops on multi-user simultaneous access. Generally you may not choose this path as this is not bandwidth friendly. But this may be helpful if you have clients closer (in terms of network hops) to camera than vms server.

Sumit,

It is my understanding that the manufacturer is claiming proxy servers are hardware devices.

You're right it is pound. Must have hit the wrong symbol on my phone.

This morning, I did a quick test with an Axis P3344 installed on our Genetec demo system. I set up two 30fps 720p streams, with live set to MJPEG and recording to H.264. The H.264 recording stream stays constant at 30fps (sometimes dropping to 29), while the MJPEG live view stream fluctuates between 23 and 28fps, occasionally dipping into below that but only for a few seconds. The scene is fairly constant, I am curious to see if I would have the same result with a busier scene. I am guessing that the MJPEG rate would drop as the camera has to perform more H.264 image processing. See below pictures for details.

With Genetec and multicast enabled, the additional client views are handled by the switching hardware, not the camera or the server. With unicast, the Genetec server processes and distributes multiple client viewing streams and does not pull any additional streams from the camera. So I don't think additional clients live viewing the cameras would impact the performance.

John, you've hit the correct combination to make this work for 2 streams. My hypothesis is that the camera from AXIS can only do 1 stream is because of software design- effectively, when streaming to unicast and multicast, you are streaming to two different virtual interfaces on the camera- thus, the camera unfortunately encodes two streams instead of encoding once and sending to two interfaces. I've seen this before on other Linux-based systems with multimedia.

Of course, since you're talking about Genetec, and Carl is looking for a VMS independent answer, that won't help much. Neither is the answer that this is potentially a hardware limitation.

Carl, I'd bring your concerns up with the VMS manufacturer. If they claim they support multicast, yet indicate that a 'proxy' is required, something doesn't jibe.

In a multicast setup, your configuration should look something like this:

Camera ----- ( Multicast Stream ) -------------- VMS

\__________________ Client

\_________________ Client

So since they're telling you they want Unicast and then YOU make multicast from there, it's red flag to me that says that their software may not work correctly in joining the multicast group.

That's a bigger red flag as to the quality of the software development...

Carl,

Just to follow up here, as in the other thread, the Axis Q series (1604 in the case I tested) was able to deliver 2 30fps streams, one unicast and one multicast to our Genetec system.

Carl, with Bosch CPP4 (Common Product Platform) models, the encoding chipset is capable of accomodating what you are asking - 2 seperate streams of Full HD at full frame rate. Stream 1 would be set to 1080p30, and Stream 2 would be set as "Copy of Stream 1". Additionally, multicast is done by stream, so you can configure Stream 1 to be unicast, and Stream 2 to be multicast. The comparable model to the Axis P33 Seris would be the Bosch NIN-832 Series. You'll also appreciate the iDNR feature which reduces excessive bitrate by reducing noise in the image. We've also introduced area-based encoding allowing variable compression quantization in up to 10 different regions of the camera scene.

Thanks All,

I just got off the phone with the VMS manufacturer. It seems that the issue is how their system accesses IP cameras. Their servers can access their own cameras directly and/or ONVIF streams from third-party cameras. To access third-party cameras' primary stream requires Camera Gateway(s). The Camera Gateway can redistribute the single unicast streams to multiple destinations within specific total input and output bit rate limits. For 240 single-stream third-party IP cameras @ 4Mbps, we would need ~15 Camera Gateways.

Using the ONVIF stream, proxy server(s) would be used to redistribute the single unicast ONVIF stream to both the recording server and viewing clients. Proxy Servers haver higher total input limits but we would still need a number of them, depending on whether the outputs are configured as multiple unicast streams or a unicast plus a multicast stream.

Well Carl, it seems like you've spent an enormous amount of time researching the best of breed for your casino upgrade. I hope you can release the names once your decision is made. It should save many casinos a fortune in testing just like IPVM does for the rest of us in generic applications.

Undisclosed,

You don't know the half of it... ;>)

Great thread!!

This comment has been moved to its own discussion: How to deal with remote viewing bandwidth limitations.

Interesting read... Lets see how manufacturers address this ..

Can multicasting problem be handled by high end switch/ router. Does the switch/ router has the capability to duplicate the videos and have the same available for multiple clients?

@Pradeep, yes that is the whole idea behind multicasting; it can't transcode the video and change the quality/compression/frame rates, but it will essentially duplicate the video at the switch level for any clients that are requesting the stream.

Note, for those looking for a primer, we have a Multicasting for Surveillance Tutorial.

Seth, I am trying to get a set of cameras to stream to multiple recorders at one site. We want to deploy an RTSP proxy or utilize one within the switches. Can you provide examples of how this would be accomplished in Cisco IOS? Is this only available on Catalyst series or would is it also available on SMB managed switches as well?