Live Casino模塊和經銷商流媒體的工作原理
1)什麼是Live Casino在架構方面
Live Casino是一個持續運行的實時媒體平臺+回合財務引擎。在最低配置中,有:- 工作室:桌子,相機,燈光,麥克風,RFID/傳感器,經銷商監視器(prompter)。
- 視頻條目:encoders、mixers、keyer for overlees(投註、計時器、提示)。
- 回合編曲者:遊戲狀態,投註窗口,計算結果,發布事件。
- 低延遲信號:WebRTC(主要)+LL-HLS/DASH(後退)。
- 與平臺的集成:錢包/ledger(seamless),限制/區域規則,響應遊戲(RG)。
- 運營:經銷商時間表,質量控制,記錄/存檔,聊天主持。
2)工作室和設備
相機和聲音:1080p/60或4K/60(靜態/機器人),線性麥克風/環路和混音器。
傳感器/識別:- 芯片/桌子(輪盤/撲克)中的RFID,用於折疊的鞋子掃描儀,用於卡片/球識別的計算機視覺(CV),用於相位轉換的經銷商踏板(開放/閉合貝絲,不多貝絲)。
- 備份:攝像頭和encoders雙打,不間斷電源,熱櫃臺。
3)回合生命周期
1. `round.open'-通過投註接收打開(例如12-18秒)。
2. `round.close'/'no_more_bets'-通過關閉投註接收,投註進入大廳。
3. `round.play'-經銷商分發/旋轉,CV/RFID記錄結果。
4. `round.結果"-計算結果,付款/註銷。
5. `round.「設置」-向玩家和大廳發布結果,更新故事。
不變量:投註窗口和「封閉」事件必須嚴格同步到視頻標記(SMPTE timecode/server time),以免出現「鑼後投註」。
4)視頻路徑和協議
WebRTC-p95到玩家的延遲150-500毫秒,用於投註信號/計時器的雙向數據通道(DataChannel)。
LL-HLS/DASH-WebRTC問題的備份;1-2 c段,延遲2-5。
覆蓋:投註窗口計時器、獲勝投註分配、提示-渲染在服務器(復合)或作為播放器頂部的HTML覆蓋。
同步:「真相」被認為是服務器時間(UTC),它被發送到客戶端並用於倒計時和事件綁定。
5)回合編曲和錢包
Seamless錢包:錢由運營商持有,提供商訪問錢包API:- `bet.地點'→持有金額的賭註(平均水平,鑰匙通過'requestId')。
- `round.結果"→計算結果;釋放/定格冰雹和支付在ledger。
- 玩家在定居後立即看到平衡。
json
//總線事件
{
"event":"round.settle", "gameId":"evo_blackjack_23", "roundId":"R-2025-10-17T14:23:10Z-evo-23", "bets":[{"betId":"b_92f","playerId":"p_1","stake":"10.00","payout":"15.00","outcome":"WIN"}], "calcVer":"wallet-7.2", "ts":"2025-10-17T14:23:13.120Z", "traceId":"tr_5f1"
}
6)玩家數據流
視頻:WebRTC/LL-HLS。
信號:WebSocket/WebRTC DataChannel-計時器、狀態、可用費率、確認。
API:REST/gRPC-投註位置,資產負債表請求,歷史記錄,限制。
遙測:QoS (RTT, dropped frames),潛伏期.接受,錯誤。
7)計時和延遲: 目標SLO
「點擊率→保持」路徑:該地區的p95 ≤ 150-250毫秒。
`round.close '→ stop招待會:合格的管弦樂隊截止日期+客戶端「閂鎖」。
`result → payout`: p95 ≤ 1–2 с.
視頻延遲:WebRTC p 95 ≤ 500毫秒;LL-HLS作為後衛≤ 3-5 s。
8)擴展和邊緣網絡
WebRTC邊緣池更接近玩家(EU/UK/CA/LA/SEA)。
用於平衡的Anycast/DNS;地理路由。
Autoscaling:按投註信號負載和QoS度量(RTT, rebuffer)。
Origin shield (LL-HLS)用於保護Burst。
9)質量和可觀察性(QoS)
Tech SLO:- WebRTC RTT, bitrate, dropped frames, packet loss.
- `bet.reject_rate` (<0.2%),「void/refund」爆發,「round」。settle p95`.
- Lagi CV/RFID。
Business SLO: CR lobby→game、會議暫停、輪換、投訴。
Dashbords:「traceId」直通步道(播放器→ API →錢包→提供商→ webhook),地理/運營商QoS卡。
10)安全和誠實
所有服務間通道上的mTLS,網絡包上的HMAC。
反重播:「X-Request-Timestamp/Nonce」,窗口± 300秒。
相似性:「X-Idempotency-Key」在'bet上。place'/付款/網絡包。
回合誠信:將所有來源(視頻、CV/RFID事件、經銷商按下)錄制到不可更改的存儲庫(WORM)進行爭議和審計。
Anti-cheat:客戶端「後期」投註保護(UI禁令)+服務器截止日期是唯一的真相來源。
11)聊天和節制
毒性/垃圾郵件過濾(NLP模型),停止詞禁令。
減慢消息頻率,反洪水。
經銷商調節:提示/信號面板,PII傳輸禁令。
聊天日誌是審計的一部分。
12)事故和後衛
WebRTC的下降:LL-HLS上的自動後退;費率暫時限於較早的截止日期。
CV/RFID故障:通過雙重檢查和記錄引用手動輸入結果;根據規則,該回合可能成為VOID。
提供者不可用:「維護」桌子,將玩家切換到相鄰桌子,補償。
13)合規和RG
年齡/法律覆蓋國家/地區。
RG-naj:風險模式下的暫停/限制建議。
KYC/AML/KYT:訪問表/投註限制與KYC狀態和付款/地址篩選有關。
地理區塊:IP/GPS/文件,由司法管轄區允許的提供商。
14)API示例(簡化)
投註位置(平均水平):http
POST /live/bet/place
X-Idempotency-Key: 9a7f-2b1c
Content-Type: application/json
{
"playerId":"p_123", "gameId":"evo_blackjack_23", "roundId":"R-2025-10-17T14:23:10Z-evo-23", "selection":[{"market":"player","amount":"10.00"}], "currency":"EUR", "device":{"ip":"203.0.113.5","ua":"Mozilla/..."}
}
答案是:
json
{"status":"ACCEPTED","betId":"b_92f","balanceAfter":"245.30","hold":"10.00"}
投註收盤事件:
json
{"event":"round.close","roundId":"R-...","ts":"2025-10-17T14:23:12.000Z"}
15)與遊戲提供商集成
橋層將差異歸一化:ID,限制,側面,狀態。
合同:單一格式的「roundId/betId」,錯誤圖。
錢包模式:seamless(優先)或transfer(從提供商存款,更多摩擦)。
16) DR/HA for Live
Multi-AZ工作室或備用工作室;同步預置。
信號復制(編譯器,CV)並寫入兩個獨立的存儲庫。
VOID/REFUND程序與原因日誌和負責人的簽名捆綁在一起。
17)反模式
將客戶時間視為「真相」→後期投註/爭議。
混合OLTP(錢包)和流分析→潛伏期增長和「reject_rate」。
在網絡逆轉時沒有相等性→雙重借記。
當WebRTC降解時,缺少LL-HLS後退→「黑屏」。
無需反轉即可更新UI/assets →「擊打」覆蓋物。
忽略聊天節制→毒性和投訴,許可證風險。
18) Live Casino桌面啟動支票清單
工作室
- Dubly 相機/encoder,光/噪聲控制,UPS。
- RFID/CV已校準,經銷商踏板正在運行。
協議和同步
- 服務器時間→客戶端,準確的截止日期。close`.
- WebRTC p95 ≤ 500毫秒,LL-HLS被設置為後退。
財務
- Seamless錢包,等效性。place/settle`.
- WORM的PITR和回合雜誌。
可觀察性
- QoS Dashbords,'bet。reject_rate',「settle p95」,VOID/流產警報。
- 直通式「traceId」的聊天記錄和經銷商動作。
安全/合規性
- mTLS/HMAC, anti-replay, PII令牌化。
- RG-overlei和Local policies,按司法管轄區進行地理封鎖。
業務活動
- Runbooks事件,VOID/REFUND腳本,備用工作室。
- UI/無停機覆蓋發布計劃(CDN清單)。
Live Casino模塊是實時視頻、嚴格的財務邏輯和運營紀律的融合。成功取決於截止日期與視頻,可靠的錢包,低延遲(WebRTC與LL-HLS後盾),QoS可見性和合規性的同步。在遵守這些原則的情況下,玩家可以看到一個活潑、誠實和無可挑剔的穩定遊戲--平臺獲得可預測的利潤和可擴展性。