I. Overview
The key to Rtsp-over-http (and all of it) is to have RTSP messages communicate over HTTP ports (that is, 80 ports).
We know that the standard port for RTSP is 554, but due to various security policy configurations such as firewalls, the client may have a limit on access to port 554, which will not properly transmit RTSP messages.
But the HTTP port (80 port) is generally open, so there is the idea of allowing RTSP messages to pass through 80 ports, namely rtsp-over-http.
Second, no standard
There is no standard practice for rtsp-over-http, Apple has an unofficial document outside the company and is supported by LIVE555.
Third, the rtsp-over-http of LIVE555
For the tunneling QuickTime RTSP and RTP over HTTP document that follows Apple, LIVE555 has the following specific practices:
First the client Opens 2 socket server HTTP ports, we call these 2 sockets " Data Socket" and " command socket" respectively.
Step 1, the client sends an HTTP GET command through the data socket, requesting the RTSP link.
Step 2, the server responds to the HTTP GET command via the data socketand replies to success/failure.
Step 3, the client creates a " command socket" and sends an HTTP POST command via " command socket" to establish the RTSP session.
At this point, the accessibility of HTTP is complete and the server does not return the client's HTTP POST command. Next is the RTSP on the HTTP port standard process, but need to work through 2 sockets to complete, " command socket" is only responsible for sending, " data Socket" is only responsible for acceptance.
Step 4, the client sends the RTSP command via the " Command Socket" (BASE64 encoded encryption).
Step 5, the server responds to the RTSP command (clear text) through the data socket.
Step 6, repeat STEP4-STEP5 until the client sends the RTSP play command, the server responds to the RTSP play command.
Step 7, the server through the " data socket" to the client to transfer audio and video data
After data interaction is complete ...
Step 8, client sends RTSP teardown command via " command socket" (BASE64 encoded encryption)
Step 9, the server responds to the RTSP teardown command (clear text) through the data socket.
Step 10, close 2 sockets.
Iv. current status of HTTP transmission
The audio and video server client of each manufacturer is compatible with RTSP protocol, which is the standard of RTSP protocol, and the equipment of different manufacturers can be compatible with each other.
If a layer of non-standard non-universal transmission protocol, then the various manufacturers have lost the reason to do rtsp-over-http, and most of them have their own private audio and video transmission protocol, at this time, they often ask a question: Why do not use their own private protocol HTTP transmission?
All, there is another way in the market is to use the private protocol through HTTP transmission, rather than RTSP, but also solve the firewall problem.
Myrtspclient temporarily does not support rtsp-over-http
V. RELATED LINKS
Example of LIVE555 rtsp-over-http transmission: http://www.rosoo.net/a/201509/17373.html
LIVE555 rtsp-over-http Wireshark Clutch (Transmission port 8000): Https://pan.baidu.com/s/1hrNWyna
About Rtsp-over-http