[+] UML
This commit is contained in:
@@ -172,3 +172,4 @@ https://blog.csdn.net/ababab12345/article/details/115585378
|
||||
https://blog.csdn.net/jisuanji111111/article/details/121634199
|
||||
https://blog.csdn.net/weixin_48638578/article/details/120191152
|
||||
https://blog.csdn.net/weixin_45565568/article/details/108929438
|
||||
https://lequ7.com/guan-yu-webrtc-yi-wen-xiang-jie-webrtc-ji-chu.html
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
# 流程
|
||||
|
||||
## WebRTC流程
|
||||
|
||||
发起响应
|
||||
|
||||
## SFU流程
|
||||
|
||||
媒体流
|
||||
|
||||
## MCU流程
|
||||
|
||||
媒体流
|
||||
|
||||
## Mesh流程
|
||||
|
||||
媒体流
|
||||
|
||||
## 直播流程
|
||||
|
||||
创建直播,终端操作。
|
||||
|
||||
## 会议流程
|
||||
|
||||
创建会议,终端操作
|
||||
|
||||
## 终端流程
|
||||
|
||||
注册下线
|
||||
|
||||
## 媒体控制
|
||||
|
||||
拉流发布
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 58 KiB |
36
docs/sequence/Client.iuml
Normal file
36
docs/sequence/Client.iuml
Normal file
@@ -0,0 +1,36 @@
|
||||
@startuml
|
||||
|
||||
title Client
|
||||
|
||||
actor ClientA as ClientA
|
||||
participant "Signal" as Signal
|
||||
actor ClientB as ClientB
|
||||
actor ClientC as ClientC
|
||||
|
||||
autonumber
|
||||
|
||||
ClientA -> Signal: 注册
|
||||
activate ClientA
|
||||
activate Signal
|
||||
Signal --> ClientA: 注册成功
|
||||
Signal -> ClientA: 下发配置
|
||||
Signal -> ClientB: ClientA上线
|
||||
Signal -> ClientC: ClientA上线
|
||||
loop 直到关闭
|
||||
ClientA -> Signal: 心跳
|
||||
Signal --> ClientA: 心跳
|
||||
end
|
||||
deactivate Signal
|
||||
deactivate ClientA
|
||||
|
||||
ClientA -> Signal: 关闭
|
||||
activate Signal
|
||||
activate ClientA
|
||||
Signal -> ClientA: 关闭ClientA通道
|
||||
deactivate ClientA
|
||||
Signal -> ClientB: ClientA下线
|
||||
Signal -> ClientC: ClientA下线
|
||||
Signal -> Signal: 释放ClientA资源(直播、会议、媒体)
|
||||
deactivate Signal
|
||||
|
||||
@enduml
|
||||
BIN
docs/sequence/Client.png
Normal file
BIN
docs/sequence/Client.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
32
docs/sequence/Live.iuml
Normal file
32
docs/sequence/Live.iuml
Normal file
@@ -0,0 +1,32 @@
|
||||
@startuml
|
||||
|
||||
title WebRTC-Mesh
|
||||
|
||||
actor ClientA as ClientA
|
||||
participant "Signal" as Signal
|
||||
actor ClientB as ClientB
|
||||
actor ClientC as ClientC
|
||||
|
||||
autonumber
|
||||
|
||||
ClientA -> Signal: 进入房间
|
||||
activate ClientA
|
||||
activate Signal
|
||||
Signal -> ClientB: ClientA进入房间
|
||||
activate ClientB
|
||||
ClientB -> Signal: 订阅ClientA
|
||||
Signal -> ClientA: ClientB订阅ClientA
|
||||
ClientA -> Signal: ClientA发布ClientB
|
||||
Signal -> ClientB: ClientA发布
|
||||
deactivate ClientB
|
||||
Signal -> ClientC: ClientA进入房间
|
||||
activate ClientC
|
||||
ClientC -> Signal: 订阅ClientA
|
||||
Signal -> ClientA: ClientC订阅ClientA
|
||||
ClientA -> Signal: ClientA发布ClientC
|
||||
Signal -> ClientC: ClientA发布
|
||||
deactivate ClientC
|
||||
deactivate Signal
|
||||
deactivate ClientA
|
||||
|
||||
@enduml
|
||||
32
docs/sequence/MCU.iuml
Normal file
32
docs/sequence/MCU.iuml
Normal file
@@ -0,0 +1,32 @@
|
||||
@startuml
|
||||
|
||||
title WebRTC-Mesh
|
||||
|
||||
actor ClientA as ClientA
|
||||
participant "Signal" as Signal
|
||||
actor ClientB as ClientB
|
||||
actor ClientC as ClientC
|
||||
|
||||
autonumber
|
||||
|
||||
ClientA -> Signal: 进入房间
|
||||
activate ClientA
|
||||
activate Signal
|
||||
Signal -> ClientB: ClientA进入房间
|
||||
activate ClientB
|
||||
ClientB -> Signal: 订阅ClientA
|
||||
Signal -> ClientA: ClientB订阅ClientA
|
||||
ClientA -> Signal: ClientA发布ClientB
|
||||
Signal -> ClientB: ClientA发布
|
||||
deactivate ClientB
|
||||
Signal -> ClientC: ClientA进入房间
|
||||
activate ClientC
|
||||
ClientC -> Signal: 订阅ClientA
|
||||
Signal -> ClientA: ClientC订阅ClientA
|
||||
ClientA -> Signal: ClientA发布ClientC
|
||||
Signal -> ClientC: ClientA发布
|
||||
deactivate ClientC
|
||||
deactivate Signal
|
||||
deactivate ClientA
|
||||
|
||||
@enduml
|
||||
32
docs/sequence/Media.iuml
Normal file
32
docs/sequence/Media.iuml
Normal file
@@ -0,0 +1,32 @@
|
||||
@startuml
|
||||
|
||||
title WebRTC-Mesh
|
||||
|
||||
actor ClientA as ClientA
|
||||
participant "Signal" as Signal
|
||||
actor ClientB as ClientB
|
||||
actor ClientC as ClientC
|
||||
|
||||
autonumber
|
||||
|
||||
ClientA -> Signal: 进入房间
|
||||
activate ClientA
|
||||
activate Signal
|
||||
Signal -> ClientB: ClientA进入房间
|
||||
activate ClientB
|
||||
ClientB -> Signal: 订阅ClientA
|
||||
Signal -> ClientA: ClientB订阅ClientA
|
||||
ClientA -> Signal: ClientA发布ClientB
|
||||
Signal -> ClientB: ClientA发布
|
||||
deactivate ClientB
|
||||
Signal -> ClientC: ClientA进入房间
|
||||
activate ClientC
|
||||
ClientC -> Signal: 订阅ClientA
|
||||
Signal -> ClientA: ClientC订阅ClientA
|
||||
ClientA -> Signal: ClientA发布ClientC
|
||||
Signal -> ClientC: ClientA发布
|
||||
deactivate ClientC
|
||||
deactivate Signal
|
||||
deactivate ClientA
|
||||
|
||||
@enduml
|
||||
29
docs/sequence/Meeting.iuml
Normal file
29
docs/sequence/Meeting.iuml
Normal file
@@ -0,0 +1,29 @@
|
||||
@startuml
|
||||
|
||||
title Meeting
|
||||
|
||||
actor ClientA as ClientA
|
||||
participant "Signal" as Signal
|
||||
participant "Media" as Media
|
||||
actor ClientB as ClientB
|
||||
actor ClientC as ClientC
|
||||
|
||||
autonumber
|
||||
|
||||
ClientA -> Signal: 创建会议
|
||||
activate Signal
|
||||
activate ClientA
|
||||
Signal -> ClientA: 创建会议
|
||||
deactivate ClientA
|
||||
Signal -> ClientB: 创建会议
|
||||
Signal -> ClientC: 创建会议
|
||||
deactivate Signal
|
||||
|
||||
ClientA -> Signal: 进入会议
|
||||
activate Signal
|
||||
Signal -> ClientB: ClientA进入会议
|
||||
Signal -> ClientC: ClientA进入会议
|
||||
deactivate Signal
|
||||
|
||||
|
||||
@enduml
|
||||
34
docs/sequence/Mesh.iuml
Normal file
34
docs/sequence/Mesh.iuml
Normal file
@@ -0,0 +1,34 @@
|
||||
@startuml
|
||||
|
||||
title WebRTC-Mesh
|
||||
|
||||
actor ClientA as ClientA
|
||||
participant "Signal" as Signal
|
||||
actor ClientB as ClientB
|
||||
actor ClientC as ClientC
|
||||
|
||||
autonumber
|
||||
|
||||
ClientA -> Signal: 进入房间
|
||||
|
||||
activate ClientA
|
||||
activate Signal
|
||||
Signal -> ClientB: ClientA进入房间
|
||||
activate ClientB
|
||||
ClientB -> Signal: 订阅ClientA
|
||||
Signal -> ClientA: ClientB订阅ClientA
|
||||
ClientA --> Signal: ClientA发布ClientB
|
||||
Signal --> ClientB: ClientA发布
|
||||
deactivate ClientB
|
||||
|
||||
Signal -> ClientC: ClientA进入房间
|
||||
activate ClientC
|
||||
ClientC -> Signal: 订阅ClientA
|
||||
Signal -> ClientA: ClientC订阅ClientA
|
||||
ClientA --> Signal: ClientA发布ClientC
|
||||
Signal --> ClientC: ClientA发布
|
||||
deactivate ClientC
|
||||
deactivate Signal
|
||||
deactivate ClientA
|
||||
|
||||
@enduml
|
||||
32
docs/sequence/SFU.iuml
Normal file
32
docs/sequence/SFU.iuml
Normal file
@@ -0,0 +1,32 @@
|
||||
@startuml
|
||||
|
||||
title WebRTC-Mesh
|
||||
|
||||
actor ClientA as ClientA
|
||||
participant "Signal" as Signal
|
||||
actor ClientB as ClientB
|
||||
actor ClientC as ClientC
|
||||
|
||||
autonumber
|
||||
|
||||
ClientA -> Signal: 进入房间
|
||||
activate ClientA
|
||||
activate Signal
|
||||
Signal -> ClientB: ClientA进入房间
|
||||
activate ClientB
|
||||
ClientB -> Signal: 订阅ClientA
|
||||
Signal -> ClientA: ClientB订阅ClientA
|
||||
ClientA -> Signal: ClientA发布ClientB
|
||||
Signal -> ClientB: ClientA发布
|
||||
deactivate ClientB
|
||||
Signal -> ClientC: ClientA进入房间
|
||||
activate ClientC
|
||||
ClientC -> Signal: 订阅ClientA
|
||||
Signal -> ClientA: ClientC订阅ClientA
|
||||
ClientA -> Signal: ClientA发布ClientC
|
||||
Signal -> ClientC: ClientA发布
|
||||
deactivate ClientC
|
||||
deactivate Signal
|
||||
deactivate ClientA
|
||||
|
||||
@enduml
|
||||
74
docs/sequence/WebRTC.iuml
Normal file
74
docs/sequence/WebRTC.iuml
Normal file
@@ -0,0 +1,74 @@
|
||||
@startuml
|
||||
|
||||
title WebRTC
|
||||
|
||||
actor ClientA as ClientA
|
||||
participant "Signal" as Signal
|
||||
participant "Stun" as Stun
|
||||
actor ClientB as ClientB
|
||||
|
||||
autonumber
|
||||
|
||||
ClientA -> Signal: Connect
|
||||
activate Signal
|
||||
ClientB -> Signal: Connect
|
||||
deactivate Signal
|
||||
|
||||
ClientA -> ClientA: new PeerConnection
|
||||
activate ClientA
|
||||
ClientA -> ClientA: addStream
|
||||
deactivate ClientA
|
||||
|
||||
ClientB -> ClientB: new PeerConnection
|
||||
activate ClientB
|
||||
ClientB -> ClientB: addStream
|
||||
deactivate ClientB
|
||||
|
||||
ClientA -> ClientA: createOffer & setLocalDescription
|
||||
activate ClientA
|
||||
ClientA -> Signal: Send Offer SDP
|
||||
activate Signal
|
||||
Signal -> ClientB: Relay Offer SDP
|
||||
activate ClientB
|
||||
ClientB -> ClientB: setRemoteDescription
|
||||
ClientB -> ClientB: createAnswer & setLocalDescription
|
||||
ClientB --> Signal: Send Answer SDP
|
||||
deactivate ClientB
|
||||
Signal --> ClientA: Relay Answer SDP
|
||||
deactivate Signal
|
||||
ClientA -> ClientA: setRemoteDescription
|
||||
deactivate ClientA
|
||||
|
||||
ClientA -> Stun: ICE Request
|
||||
activate ClientA
|
||||
activate Stun
|
||||
Stun --> ClientA: onicecandidate
|
||||
deactivate Stun
|
||||
ClientA -> Signal: Send ICE Candidate
|
||||
activate Signal
|
||||
Signal -> ClientB: Relay ICE Candidate
|
||||
activate ClientB
|
||||
ClientB -> ClientB: addIceCandidate
|
||||
ClientB -> Stun: ICE Request
|
||||
activate Stun
|
||||
Stun --> ClientB: onicecandidate
|
||||
deactivate Stun
|
||||
ClientB--> Signal: Send ICE Candidate
|
||||
deactivate ClientB
|
||||
Signal --> ClientA: Relay ICE Candidate
|
||||
deactivate Signal
|
||||
ClientA -> ClientA: addIceCandidate
|
||||
deactivate ClientA
|
||||
|
||||
ClientA <-> ClientB: Media
|
||||
activate ClientA
|
||||
activate ClientB
|
||||
ClientA -> ClientA: onaddstream
|
||||
ClientB -> ClientB: onaddstream
|
||||
ClientA -> ClientA: onremovestream
|
||||
ClientB -> ClientB: onremovestream
|
||||
ClientA <-> ClientB: Media
|
||||
deactivate ClientA
|
||||
deactivate ClientB
|
||||
|
||||
@enduml
|
||||
BIN
docs/sequence/WebRTC.png
Normal file
BIN
docs/sequence/WebRTC.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 52 KiB |
BIN
docs/桃夭.jpg
Normal file
BIN
docs/桃夭.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 111 KiB |
Reference in New Issue
Block a user