wvp-gb28181-project/doc/_content/theory/play.md

34 lines
1.5 KiB
Markdown
Raw Normal View History

2022-08-09 09:45:32 +08:00
<!-- 点播流程 -->
# 点播流程
> 以下为WVP-PRO点播流程。点播成功前的任何一个环节出现问题都可能出现点播超时这也是排查点播超时的依据。
```plantuml
@startuml
"WEB用户" -> "WVP-PRO": 1. 发起点播请求
"设备" <- "WVP-PRO": 2. Invite(携带SDP消息体)
"设备" --> "WVP-PRO": 3. 200OK(携带SDP消息体)
"设备" <-- "WVP-PRO": 4. Ack
"设备" -> "ZLMediaKit": 5. 发送实时流
"WVP-PRO" <- "ZLMediaKit": 6. 流改变事件
"WEB用户" <-- "WVP-PRO": 7. 回复流播放地址携带流地址
"WVP-PRO" <- "ZLMediaKit": 8. 无人观看事件
"设备" <- "WVP-PRO": 9 Bye消息
"设备" --> "WVP-PRO": 10 200OK
@enduml
```
## 注册流程描述如下:
1. 用户从网页或调用接口发起点播请求;
2. WVP-PRO向摄像机发送Invite消息,消息头域中携带 Subject字段,表明点播的视频源ID、发送方媒体流序列号、ZLMediaKit接收流使用的IP、端口号、
接收端媒体流序列号等参数,SDP消息体中 s字段为“Play”代表实时点播y字段描述SSRC值,f字段描述媒体参数。
3. 摄像机向WVP-PRO回复200OK消息体中描述了媒体流发送者发送媒体流的IP、端口、媒体格式、SSRC字段等内容。
4. WVP-PRO向设备回复Ack 会话建立成功。
5. 设备向ZLMediaKit发送实时流。
6. ZLMediaKit向WVP-PRO发送流改变事件。
7. WVP-PRO向WEB用户回复播放地址。
8. ZLMediaKit向WVP发送流无人观看事件。
9. WVP-PRO向设备回复Bye 结束会话。
10. 设备回复200OK会话结束成功。