Skip to content

Instantly share code, notes, and snippets.

@zxkletters
Created August 18, 2012 06:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zxkletters/3384777 to your computer and use it in GitHub Desktop.
Save zxkletters/3384777 to your computer and use it in GitHub Desktop.
Real-time streaming protocol
RTSP:实时流协议(Real Time Streaming Protocol,RTSP)
RTSP的请求主要有DESCRIBE,SETUP,PLAY,PAUSE,TEARDOWN,OPTIONS等,顾名思义可以知道起对话和控制作用
RTSP的对话过程中SETUP可以确定RTP/RTCP使用的端口,PLAY/PAUSE/TEARDOWN可以开始或者停止RTP的发送,等等
RTP:实时传输协议(Real-time Transport Protocol)wiki: http://en.wikipedia.org/wiki/Real-time_Transport_Protocol
RTP/RTCP是实际传输数据的协议
RTP传输音频/视频数据,如果是PLAY,Server发送到Client端,如果是RECORD,可以由Client发送到Server
整个RTP协议由两个密切相关的部分组成:RTP数据协议和RTP控制协议(即RTCP)
RTCP:RTP Control Protocol (RTCP),属于RTP的一部分,RTP的控制协议 wiki: http://en.wikipedia.org/wiki/RTCP
RTP/RTCP是实际传输数据的协议
RTCP包括Sender Report和Receiver Report,用来进行音频/视频的同步以及其他用途,是一种控制协议,需要与RTP数据协议一起配合使用,当应用程序启动一个RTP会话时将同时占用两个端口,分别供RTP和RTCP使用
RTP&RTCP是在传输协议之上作为应用程序一部分实现的。
@zxkletters
Copy link
Author

RTSP States:
SETUP:
Causes the server to allocate resources for a stream and start
an RTSP session.

PLAY and RECORD:
Starts data transmission on a stream allocated via SETUP.

PAUSE:
Temporarily halts a stream without freeing server resources.

TEARDOWN:
Frees resources associated with the stream. The RTSP session
ceases to exist on the server.

@zxkletters
Copy link
Author

RTSP url: (rtsp|rtspu)://host:port/absolute_path

@zxkletters
Copy link
Author

rtsp://host:port/abs_path 请求可靠的网络传输协议,TCP
rtspu://host:port/abs_path 请求非可靠的网络传输协议,UDP

@zxkletters
Copy link
Author

Request:
Request-Line = Method Request-URI RTSP-Version CRLF
General-Header
Request-Header
Entity-Header
CRLF
[Message-Body]

Response:
Status-Line = RTSP-Version Status-Code Reason-Phrase CRLF
General-Header
Response-Header
Entity-Header
CRLF
[Message-Body]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment