You would quickly saturate the network when you have dozens or hundreds of cameras or more. The concept of multicast is this: If you have many clients on the network all viewing exactly the same video as is usually the case with realtime data like audio/video, then it doesn't make a lot of sense to multiply that 5Mbps - especially if there are 10 clients all viewing the same video. If you make three separate connections to a camera, and each "client" connecting to the camera is pulling "stream0" which happens to be a 5Mbps h.264 stream, then there is going to be 15Mbps of data streaming out of the camera into the switch. In this case between camera and server for example. Typical network connections are unicast, and are "private" connections between two nodes. Now you're touching on something called multicast.
Think high-res stream for storage and low-res stream for mobile. Since more processing is easier and cheaper to put into a smaller package, cameras can do more within themselves.Īnyway, don't want to get too far off track, but it is very easy (and common) to have multiple streams going to multiple places. Today, however, I think it would be very difficult to find a camera that doesn't support at least 3 independent streams, likely many more than that (6, 10, 12 streams). Many cameras didn't have enough 'guts' to push multiple streams. Each individual stream takes up resources from the camera. This is typically referred to as multistreaming.Ī few years ago it wasn't as common to have a camera that supported more than one or two streams. Meaning, the camera itself will or will not have the ability to send more than one stream.
This is almost always a function of the camera, not VMS or software related. To add to Joshua's excellent explanation here, you had a comment about multiple streams, or streaming to multiple places. RTSP://192.168.1.100/h264/stream1) we can then simply ask for it and we will hopefully be able to receive and parse it. After telling the software where the stream is (ex. This must always be done manually, and you must know or find out what the RTSP stream address or URI is.
If the device is not ONVIF compliant and we haven't written a driver for it yet, there's a chance you can manually add the device using the universal driver.
There's more to it than that, but that's the process in a nutshell. If there's no upnp response, we will start trying EVERY driver we've written against the device until we find a match. Depending on the response, we might use a dedicated device driver, or we might use the ONVIF driver. When you add a camera and choose to autodetect the device type, Milestone software will start with upnp to try to identify the device. Streaming can be done via RTSP over either the TCP or UDP protocols, or sometimes it is helpful to stream RTSP tunneled through HTTP which can be helpful when port 554 cannot be reached on the camera for example. The ONVIF protocol is built on the SOAP/xml communication standard which uses HTTP as a platform for sending the xml-formatted SOAP messages. For example, if I want"index.html' I send "GET /index.html" along with some header information. Events, edge storage and PTZ are also handled with messages described in the ONVIF protocols.įinally, most of this is built on the HTTP/S protocol which again defines a set of rules for communication. There are ONVIF "calls" or messages which can be sent to a ONVIF compliant device and the device should return the RTSP address to retrieve the video via RTSP. It's essentially a set of rules for how software should query devices for their names, settings, streams etc. ONVIF is a body of standards for hardware and software to use to communicate with each other. This is almost always how the camera streams are transported, regardless of whether you're using an ONVIF driver, universal driver, or a dedicated device driver.
These all have to do with how to negotiate connections for, and streaming real-time data like audio and video. Related terms include RTP and RTCP or real time transport protocol and RTP control protocol. RTSP stands for Real Time Steaming Protocol and it's a widely recognized standard for streaming (audio/video). So I'll start with the "least common denominator" - RTSP. Great question! You've listed a handful of interdependent technologies. I am a backline support manager for Milestone