1-ไป‹็ป

sequenceDiagram
    participant Publisher as ๅ‘ๅธƒ่€…
    participant WTN as WTNๆœๅŠกๅ™จ
    participant Subscriber as ่ฎข้˜…่€…
    
    Publisher->>WTN: 1. ๅ‘้€ Offer SDP
    Note over Publisher,WTN: ๅŒ…ๅซ้Ÿณ้ข‘ๅ’Œ่ง†้ข‘ๆ่ฟฐ
    WTN-->>Publisher: 2. ่ฟ”ๅ›ž Answer SDP
    Publisher->>WTN: 3. ๅปบ็ซ‹WebRTC่ฟžๆŽฅ
    Publisher->>WTN: 4. ๅ‘ๅธƒ้Ÿณ่ง†้ข‘ๆต
    
    Subscriber->>WTN: 5. ่ฏทๆฑ‚่ฎข้˜…ๆต
    WTN-->>Subscriber: 6. ่ฟ”ๅ›žๆตไฟกๆฏ
    Subscriber->>WTN: 7. ๅปบ็ซ‹WebRTC่ฟžๆŽฅ
    WTN->>Subscriber: 8. ไผ ่พ“้Ÿณ่ง†้ข‘ๆต

ๆฅ้ขๆฅ่‡ชไบŽ ็ซๅฑฑๅผ•ๆ“Ž rtc ้กต้ข็š„ๆต็จ‹, ็”จไบ†ไธ€ไธช WTN ๆœๅŠกๅ™จ ๅšไธญ่ฝฌ, ไธ€ๆ ทๆ˜ฏๅ…จๅŒๅทฅๅŒๅ‘ๅ่ฎฎ็š„่ฟ˜ๆœ‰ WebSocket ๅ’Œ WebTransport ;

WebRTC vs WebSocket vs WebTransport

graph TB
    subgraph WebSocket
        WS1[ๅบ”็”จๅฑ‚ๅ่ฎฎ]
        WS2[ๅŸบไบŽTCP]
        WS3[ๆœๅŠกๅ™จไธญ่ฝฌ]
    end
    
    subgraph WebRTC
        W1[ไธ€ๅฅ—ๆŠ€ๆœฏๆ ‡ๅ‡†้›†ๅˆ]
        W2[ๅŒ…ๅซๅคšไธชๅ่ฎฎ]
        W3[UDP/TCP]
        W4[็‚นๅฏน็‚นไผ ่พ“]
        W5[ไธ“้—จ็š„้Ÿณ่ง†้ข‘ไผ˜ๅŒ–]
    end
graph TB
    subgraph WebRTC
        A1[็‚นๅฏน็‚น้€šไฟก]
        A2[้Ÿณ่ง†้ข‘ๆตไผ ่พ“]
        A3[STUN/TURN/ICE]
        A4[้€‚ๅˆ่ง†้ข‘ไผš่ฎฎ]
    end
    
    subgraph WebTransport
        B1[ๅฎขๆˆท็ซฏ-ๆœๅŠกๅ™จ้€šไฟก]
        B2[ๅŸบไบŽQUICๅ่ฎฎ]
        B3[ไฝŽๅปถ่ฟŸ้ซ˜ๅžๅ]
        B4[้€‚ๅˆๆธธๆˆ/็›ดๆ’ญ]
    end

ๅฏไปฅ็œ‹ๅ‡บๆฅ ็”ฑไบŽ็›ดๆ’ญ่กŒไธš็ญ‰็ญ‰็š„ๅ‘ๅฑ• , WebRTC ๅˆ™ไธ“้—จไธบ้Ÿณ่ง†้ข‘ๅฎšๅˆถ:

  • ไธ“้—จ้’ˆๅฏน้Ÿณ่ง†้ข‘ ;
  • ๅ†…็ฝฎๅŠŸ่ƒฝ: ้Ÿณ่ง†้ข‘้‡‡้›†, ็ผ–่งฃ็ , ็ฝ‘็ปœไผ ่พ“, ๅ›ž้Ÿณๆถˆ้™ค ;

้Ÿณ่ง†้ข‘ไผ˜ๅŒ–:

  1. ่‡ชๅŠจ็ ็އ้€‚ๅบ”: ่ง†้ข‘ไผš่ฎฎ่‡ชๅŠจ็š„่ฐƒๆ•ดๆธ…ๆ™ฐๅบฆ ;
  2. ไธขๅŒ…่กฅๅฟ: ๅณไฝฟ็ฝ‘็ปœไธ็จณๅฎš๏ผŒๅฃฐ้ŸณไนŸไธไผšๆ–ญๆ–ญ็ปญ็ปญ ;
  3. ๅ›ž้Ÿณๆถˆ้™ค: ่งฃๅ†ณไธฒ้Ÿณ้—ฎ้ข˜ ;
  4. ๅ™ชๅฃฐๆŠ‘ๅˆถ: ่‡ชๅŠจ่ฟ‡ๆปค่ƒŒๆ™ฏๅ™ช้Ÿณ, ๅผ€ไผšๅฏนๆ–นไนŸๅฌไธๅˆฐๅ‘จๅ›ด็š„ๅ˜ˆๆ‚ๅฃฐ ;
  5. ่‡ชๅŠจๅขž็›ŠๆŽงๅˆถ: ๅฃฐ้Ÿณๅคชๅคง่‡ชๅŠจ้™ไฝŽ๏ผŒ ๅฃฐ้Ÿณๅคชๅฐ่‡ชๅŠจๆ้ซ˜ ;

็ฝ‘็ปœไผ ่พ“ไผ˜ๅŒ–:

  1. NACK: ไธขๅŒ…้‡ไผ , ๅ‘็Žฐๆ•ฐๆฎๅŒ…ไธขๅคฑๅŽ็ซ‹ๅณ่ฆๆฑ‚้‡ๅ‘ ;
  2. FEC: ๅ‰ๅ‘็บ ้”™, ไธขๅคฑไบ†้ƒจๅˆ†ๆ•ฐๆฎ้กต่ƒฝ่ฟ˜ๅŽŸๅฎŒๆ•ด็”ป้ข ;
  3. RTX: ้€‰ๆ‹ฉๆ€ง้‡ไผ , ไผ˜ๅ…ˆไฟ่ฏๅ…ณ้”ฎ็”ป้ข็š„ไผ ่พ“ ;
  4. PLI: ๅ…ณ้”ฎๅธง่ฏทๆฑ‚, ่ง†้ข‘่Šฑๅฑๅฟซ้€Ÿ็š„ๆขๅคๆธ…ๆ™ฐ็”ป้ข ;

2-ไบงๅ“ๅ…ณ็ณป

็œ‹ไบ†ไธ€ไธช็ซๅฑฑๅผ•ๆ“Ž็š„ ้Ÿณ่ง†้ข‘้›†ๆˆ็š„ๅงฟๅŠฟ.

refer