实时消息协议—RTMP

时间:2023-12-12
新悦网络

编辑:

什么是RTMP?

RTMP(Real-Time Messaging Protocol)是一种支持实时在线视频流的数据传输技术。RTMP 最初设计用于在专用流服务器和 Adob​​e Flash Player 之间传输音频和视频数据。然而,如今,该协议最常用于向社交媒体平台、流媒体平台和媒体服务器传送编码内容。虽然 RTMP 曾经是专有的,但现在是一个开放规范。

 

 

RTMP 流媒体如何工作?

Macromedia(即现在的 Adob​​e Systems)开发了 RTMP 规范 ,用于音频和视频数据的高性能传输。RTMP 在播放器客户端和服务器之间保持恒定的连接,允许该协议充当管道并将视频数据快速传输到观看者。

由于 RTMP 位于传输控制协议 (TCP) 之上,因此它在传输数据时使用三向握手。发起方(客户端)请求接受方(服务器)启动连接;接受者回应;然后发起者确认响应并在任一端之间维持会话。因此,RTMP是相当可靠的。

RTMP的三步流程:

  1. 握手:客户端通常采用编码软件或硬件的形式,通过交换三个数据包来启动与其希望流式传输的服务器的连接。
    1. 客户端发送的第一个数据包告诉服务器正在传输哪个版本的 RTMP。
    2. 客户端立即发送而不等待任何响应的第二个数据包包含时间戳。此时,服务器会使用刚刚收到的两个数据包的回显或副本以及收到它们的时间戳进行响应。
    3. 建立双向通信后,客户端发送一个最终数据包,它是时间戳的副本。然后服务器返回它。当服务器返回最后一个(第三个)数据包时,握手完成。
  2. 连接:然后,客户端和服务器使用操作消息格式 (AMF) 编码消息协商连接。RTMP 编码器使用 AMF 向服务器发送连接请求,并指示连接 URL、音频编解码器和视频编解码器等详细信息。一旦服务器响应“允许”,流就可以开始。
  3. Stream:完成握手和连接步骤后,现在可以传送流数据。createStream、播放、查找和暂停等用户命令允许数据传输按指示进行。

 

最新内容

知识库