- ONVIF (any specific version required? 1.01, 2, 2.2, etc.)
- Dual streaming at 30fps
- Supports multicast
- 720p / 1.3MP max resolution (yes?)
We have not tested such a combination so I am just throwing out some educated guesses. For a camera to maintain dual streaming at 30fps and support multicasting, it's probably going to need to be a higher end model (not just the brand but also the series) that provides more processing power.
To that end, I am surprised that a P series Axis only got to 22fps. What did Axis technical support say about this?
I might try Bosch Dinion - since they are designed to run their analytics, they might have the spare processing power to handle this.
The big problem with recommendations, as you know, is that nearly all camera manufacturers say they support X number of simultaneous streams (where X is a number like 4, 8, 16,000, etc.). The problem comes with the drop off in frame rate or resolution of those multiple streams (that is never explicitly mentioned).
I'm not certain which ONVIF version must be met, but I'll ask the VMS manufacturer. 720p is what we're deploying now but 1080p would be considered, though I assume that the doubling of pixel density is even more taxing on the camera's microprocessor.
Axis has been somewhat cagey in their responses to our questions. One of their engineers claims that their cameras can deliver two simultaneous 30fps streams "if they have identical settings". I assume that means compression type and GOP type and size. It seems to me that at least one IP camera I researched provided a chart of capabilities that specified the maximum frame rate for each stream based on two streams but as I recall, it could not provide two 30fps HD streams - one had to be D1 or less.
I'm positive I tried that but could not get two streams to reliably deliver simultaneous 30fps HD streams, no matter what compression settings I tried. That's if I could even get that kind of control of the camera's ONVIF stream. Most IP cameras appear to rely on the VMS to control ONVIF streams and the control appears to be very basic.
By the way, Bosch is the only manufacturer whose cameras are currently on our "must test" list. They claim to be able to meet our needs. We tested a Bosch camera late in our evaluations but with a different VMS. Unfortunately, the VMS manufacturer's ONVIF driver had a conflict with the Bosch camera which caused their server to continuously reboot until we removed the camera from the system.
Regarding "same settings", at least for the Axis cameras and possibly others, there is another low level technical detail that can cause loss of performance when streaming "same stream" over more than one transport, such as unicast rtsp and multicast.
Basically when the VMS requests the video stream, it can setup the stream in multiple ways, if it is using rtp over rtsp or rtp over rtsp over http, then the rtp packets are not limited by the UDP packet size, since the rtp packets are sent over the tcp stream. In this case the VMS can request that the rtp packets are a lot bigger than normal, since this improves performance.
If you then enable multicast as well, then those rtp packets will be limited by the UDP packet size.
So the camera ends up having to split the same stream into multiple rtp packets of different sizes in order to send the same stream out to unicast and multicast.
This is pretty low level so I'm not sure how much control you have over this in your VMS, or if this packet size setting is even used.
One way to test this could be to set the VMS to use unicast UDP for the rtp packets (for the recording) , instead of sending the rtp packets over rtsp (tcp). If you have this option in your VMS. That way both the recording stream and live stream are forced to use the same rtp packet size, which would make it easier for the camera to deliver the streams.
I've done some testing on these things before and this was one of the things I found to affect performance negatively then, but that's a few years ago.
I don't recall but it has been over 6 months since I accessed their ONVIF Configuration Tool. I have no ONVIF cameras to test at this time. I intend to start tests in early 2014, after the system is commissioned, and I'm just looking for options.
Obviously, it would be pointless to test cameras that we can't deploy.
By the way, other factors I would like to test include power zoom/focus and requirements to reboot regularly. During our evaluations, the Axis P3300-series cameras we tested showed a proclivity to zoom fully out on a power reset or camera reboot. Although that was a different VMS and it may have been an issue with their ONVIF interface, it makes us somewhat hesitant to deploy cameras with that capability. The cameras we purchased with the system all have manual varifocal lenses for that reason.
Any need to reboot IP cameras regularly does not give me a warm, fuzzy feeling.
Multicast -> udp -> weak tcp/ip stack. Multicast isn't for stronger cameras, it's for weak cameras with cheap TCP/IP stacks. I get asked about data rates a lot (I'm one of those troublemakers who actually tests things...) I've been hearing that 2x30fps is not hard. It shouldn't be hard. Dude, it's just a web server serving two sessions (using 2013 technology metrics.) I would have expected an Axis camera (not low end) to be able to handle that. The fact you're running multicast may be related. I'd stop doing multicast, it's only trouble.
The Axis cameras couldn't generate two simultaneous 720p 30fps unicast streams either. Besides, unless cameras can distribute up to five or more simultaneous unicast streams, multicast is the way we have to view cameras. Our VMS is not capable of redistributing a single stream without a so-called proxy server and we often have multiple users watching the same camera(s).