Multicast routing is a very good technology that implements "broadcasting" of data on the Internet. Unlike broadcasts, routers prohibit broadcast data from being transmitted across routes due to broadcast storms. Multicasting solves this problem very well. Now M $ software such as: Netmeeting, WMS has widely used this technology. What is discussed here is how to set up your Linux as a multicast router
(General gateways and routers do not support multicast packets.)
Network cameras provide many IP network-based transmission protocols to ensure audio and video data as much as possible, and PTZ controls the data network transmission quality. The real-time video stream is transmitted through the IP network, and it adapts to various complicated network transmission environments through a combination of multiple protocols.
RTP (Realtime Transport Protocol), a real-time transport protocol, which is specifically designed for real-time streaming media. The basic function of RTP is to multiplex several real-time data streams into a UDP packet stream. This UDP stream can be sent to a host. (Unicast mode), can also be transmitted to multiple target hosts (multicast mode). Because RTP is only encapsulated into regular UDP, in theory routers will not have any special treatment for packets, but now advanced routing equipment has options optimized for RTP protocol. The time stamp mechanism of the RTP protocol not only reduces the impact of jitter, but also allows multiple data streams to be synchronized with each other. This can easily add subtitles to video images based on I / O events. Network cameras often add audio and video The encoded data is encapsulated into RTP packets.
RTCP (Realtime Transport Control Protocol) is a sister protocol of RTP. It handles feedback, synchronization, and user interface, but does not transmit any data. Its main function is to provide feedback to the source about delay, jitter, bandwidth, congestion, and other network characteristics. The encoding process can make full use of this information. Therefore, when the network condition is good, the data rate can be increased (to achieve better quality), and when the network condition is bad, it can reduce the data rate. Through continuous feedback information, the encoding algorithm can be continuously adjusted accordingly, so as to provide the best quality possible under the current conditions.
RTSP (Real Time Streaming Protocol). The RTSP protocol uses a push server method to let the audio and video browsers make a request. The network camera just continuously pushes the audio and video packaged into RTP packets to the browser. Encoded data, network cameras can achieve streaming media transmission with very little system overhead.
HTTP (HyperText Transfer Protocol) Hypertext Transfer Protocol. Network cameras provide Web access functions through the HTTP protocol. It is very convenient to transmit audio and video data through complex networks, but real-time audio and video support is not ideal.
The UDP (User Datagram Protocol) datagram protocol is the most basic network data transmission protocol. It uses the IP protocol to provide network connectionless services. It is often used to encapsulate real-time network audio and video data, even if packet loss occurs during network transmission. It will not affect audio and video browsing on the client.
The TCP (Transmission Control Protocol) transmission control protocol uses the IP protocol to provide connection-oriented network services and is designed to provide a reliable end-to-end byte stream on an unreliable Internet. The TCP protocol often requires multiple "handshakes" between the server and the client to establish a connection. Therefore, using TCP to transmit real-time audio and video streams has a large overhead. If the network is unstable, the phenomenon of audio and video jitter is obvious. Use its reliability to transmit network camera management commands, such as PTZ, I / O device control commands.
2.Transport protocol combination
Network cameras often use different combinations of RTSP, RTP, RTCP, HTTP, UDP, and TCP protocols to transmit real-time audio and video streams. The common protocol combinations are as follows.
RTP + RTSP protocol combination. This type of protocol combination (RTP can be encapsulated by TCP and UDP protocols, and RTSP is encapsulated by TCP protocol). In normal network environments, clients can view real-time audio and video. Manufacturers often recommend this type of network camera Agreement portfolio. Some network devices also often support RTP + RTSP multicast mode.
RTP / RTSP protocol combination, RTP packets are encapsulated into RTSP packets, and some network firewalls only allow RTSP protocol packets to pass. However, the network camera must provide real-time audio and video using the RTP protocol. This combination increases the network load and the complexity of the client management system without a solution.
The RTP / RTSP / HTTP protocol combination adds HTTP encapsulation to the RTP / RTSP data. This protocol combination is mainly to adapt to the network environment where the network firewall only allows the HTTP protocol. Although the network load is increased, the network camera can adapt to more complicated Internet environments.
UDP (TCP) protocol. Some network cameras do not use the RTP + RTSP application layer protocol to encapsulate audio and video data in order to adapt to the poor network bandwidth situation in China. For audio and video streams, only UDP or TCP transport layer protocol is used for encapsulation. In this way, audio and video streams can use very small network bandwidth to transmit streaming media. This protocol combination can also provide advanced functions similar to RTP + RTSP, but cannot optimize network routing devices based on the RTP + RTSP combination optimization feature.
The UDP (TCP) / HTTP protocol combination encapsulates audio and video stream data into HTTP data packets, and then transmits them to the client using the UDP (TCP) protocol. This protocol method can adapt to complex Internet environments and can penetrate most network firewalls.
Various transport layer protocol combinations ensure the reliability of real-time transmission of audio and video and PTZ data, but the built-in processor of the network camera has limited computing power, resulting in a limited number of concurrent users. This often cannot meet the application environment with high concurrent access requirements. Network cameras often use network transmission equipment with multicast capabilities to respond to more concurrent access requirements. Some network camera client software is powerful and uses the data forwarding mechanism to act as a "virtual network camera" that can respond to more concurrent access users. This method is suitable for PTZ network cameras. It is of great significance to the construction of large-scale digital video surveillance networks.