隨機視訊聊天實際如何運作
配對陌生人和串流 HD 視訊的工程技術,無需中央媒體伺服器
當您點擊「開始」時會發生什麼?
隨機視訊聊天在幾秒內使用同時發生的五個步驟連接兩位陌生人。您的瀏覽器獲得攝影機存取、配對佇列將您與另一位使用者配對、信令伺服器交換連線元數據,WebRTC 建立直接對等視訊串流 — 無需媒體伺服器。
瀏覽器請求攝影機與麥克風
getUserMedia API您加入配對佇列
Cloudflare 耐久物件找到配對 — 信令將您連線
WebSocketWebRTC 對等連線建立
SDP 交換 + ICE 候選視訊在瀏覽器間串流
點對點,零伺服器什麼是 WebRTC?
WebRTC(網路即時通訊)是內置於每個現代瀏覽器中的開源協議,無需外掛即可進行點對點音訊、視訊和資料傳輸。由 W3C 和 IETF 維護,它在 Chrome、Safari、Firefox 和 Edge 上驅動視訊聊天,無需下載、無 Flash,無 Java 小程式。
getUserMedia請求攝影機和麥克風存取。傳回您的應用程式可顯示或傳送的 MediaStream 物件。
RTCPeerConnection管理完整的對等連線生命週期 — SDP 協商、ICE 候選交換和媒體傳輸。
RTCDataChannel在瀏覽器間的相同 P2P 連結上直接傳送任意資料(文字聊天、檔案傳輸、遊戲狀態)。
關鍵事實: WebRTC 是開源的 W3C/IETF 標準 — 不是專有 API。任何實現該規格的瀏覽器都可以參與,這就是隨機視訊聊天無需任何安裝即可跨瀏覽器運作的原因。
P2P 視訊如何運作(以及為什麼它更隱私)
點對點視訊意味著您的攝影機訊號直接從您的瀏覽器傳輸到另一個人的瀏覽器。沒有中央伺服器解碼、檢查或儲存串流。此架構由 SDP 信令、ICE 候選蒐集和用於 NAT 穿越的 STUN/TURN 伺服器啟用 — 並且它使 P2P 視訊聊天在根本上比伺服器中繼替代品更隱私。
SDP(會話描述協議)
每個對等方生成 SDP「提案」或「應答」,描述其支援的編解碼器、解析度和加密金鑰。這些通過信令伺服器(WebSocket 中繼)交換,但不包含實際媒體資料。
ICE(互動式連線建立)
ICE 蒐集候選網路路徑 — 主機候選(本機 IP)、伺服器反射候選(透過 STUN 的公開 IP)和中繼候選(TURN 回退)。ICE 代理測試每條路徑並選擇最佳的直接路由。
STUN 伺服器(NAT 穿越)
STUN(NAT 會話穿越公用程式)幫助瀏覽器發現其公開 IP 和連接埠對應。這讓家庭路由器後面的對等方無需任何中繼即可直接連線。
TURN 伺服器(回退中繼)
當直接連線失敗時(對稱 NAT、嚴格的企業防火牆),TURN 在對等方間中繼加密的媒體封包。大約 15% 的真實會話需要 TURN — 媒體仍然是端對端加密的。
隱私洞察: 因為視訊資料直接在瀏覽器間傳輸,平台營運者永遠看不到、處理或儲存您的視訊串流。即使信令伺服器也只處理輕量級 JSON 元數據 — 不是像素。
配對系統如何運作?
配對在不到 50 毫秒內將兩位陌生人從全球佇列配對。Nightcap 使用 Cloudflare 耐久物件 — 全球分佈式有狀態計算基元 — 維持單一一致的佇列,按共享興趣、地理偏好和性別篩選器評分使用者,然後彈出評分最高的配對。
基於興趣的評分
輸入「音樂、程式設計、動漫」等興趣 — 配對系統計算 Jaccard 相似度分數與佇列中其他使用者的分數,並優先選擇最佳重疊。
國家與性別篩選器
可選篩選器讓您偏好來自特定國家或性別的使用者。佇列相應分割候選,同時保持配對時間不超過一秒。
耐久物件架構
單個 Cloudflare 耐久物件在記憶體中持有全球配對佇列,具有強一致性。全球每個邊界位置連線到相同的狀態,消除競速條件。
加速配對:優先佇列位置
付費加速配對使用者被放置在佇列前面。這意味著更快的配對和更高品質的配對,無需改變配對演算法本身。
實時視訊特效如何在瀏覽器中運作?
Nightcap 使用 GPU 加速的 MediaPipe 模型在瀏覽器中完全運行 AI 驅動的視訊特效。背景模糊、色彩濾鏡和美顏模式皆在本機套用至您的 MediaStream 後才傳送給對等方 — 平台永遠不會在任何伺服器上接收原始或已處理的視訊。
背景模糊(AI 分割)
MediaPipe 的自拍分割模型在您的 GPU 上以 30fps 運行,在 30fps 識別人物與背景。人物遮罩外的所有內容都使用可調強度(1–20)進行模糊。分割輸出取代原始串流。
6 種色彩濾鏡
暖色調、冷色調、復古、黑白、鮮豔和柔和濾鏡作為 CSS 濾鏡轉換應用於隱藏畫布元素。濾鏡後的畫面被捕獲為新的 MediaStream 並饋入 RTCPeerConnection。
美顏模式
受控的高斯模糊疊加在視訊畫面頂部合成,產生細緻的磨皮效果。該效果使用以 15% 不透明度混合的 3px 模糊,以避免怪異外觀,同時仍然軟化皮膚紋理。
沒有監視每個聊天,審核如何運作?
AI 審核系統實時分析文字訊息和定期視訊畫面,無需人工監視您的對話。Nightcap 通過 OpenAI 免費審核 API 傳送每條聊天訊息,並透過 AWS Rekognition 定期取樣視訊畫面進行內容分析 — 在無大規模監視的情況下實現自動執行。
文字審核
每條訊息在傳遞前都根據 OpenAI 審核 API 進行檢查。API 在數毫秒內標記仇恨言論、騷擾、自傷、性相關內容和暴力 — 而且免費撥打。
視訊畫面取樣
定期框架捕獲被傳送至 AWS Rekognition 進行內容分析。系統標記明確或不安全的內容並觸發自動執行,無需錄製或儲存視訊串流。
一鍵舉報
使用者可即時舉報配對。舉報觸發立即審查,確認的違規根據嚴重程度和重複違規歷史導致臨時或永久封禁。
私密模式
當雙方獨立選擇加入時,NSFW 內容過濾器被停用。但 CSAM 檢測和威脅監控保持主動 — 無論模式如何,這些永遠不會被停用。
為什麼 P2P 對 1 對 1 視訊優於媒體伺服器?
對於一對一視訊聊天,點對點 WebRTC 在伺服器頻寬中成本為零,提供可能的最低延遲(直接網路路徑),並確保平台永遠不會處理您的視訊。SFU 和 MCU 等伺服器架構增加成本、延遲和隱私折衷,這只對群組通話有意義。
| 架構 | 頻寬成本 | 隱私 |
|---|---|---|
| P2P(Nightcap) | $0 視訊頻寬 | 視訊絕不在伺服器上 |
| SFU | 高 — 伺服器中繼所有串流 | 伺服器看到所有視訊 |
| MCU | 最高 — 伺服器解碼和重新編碼 | 伺服器完全處理視訊 |
一目瞭然的架構
Nightcap 的架構分為四個平面:信令(Cloudflare Workers 透過 WebSocket)、配對(耐久物件)、媒體(純 P2P WebRTC)和應用邏輯(用於付款、審核和報告的 Next.js API 路由)。媒體平面的伺服器頻寬成本為零,因為視訊永遠不會接觸伺服器。
常見問題
WebRTC 視訊聊天真的是點對點嗎?
是的。一旦 WebRTC 連線建立,視訊和音訊資料直接在兩個瀏覽器間傳輸。信令伺服器僅用於交換連線元數據(SDP 提案和 ICE 候選)— 它永遠不會接觸實際媒體串流。
視訊聊天平台能看到或錄製我的視訊嗎?
在 Nightcap 等 P2P 平台上,視訊串流直接在瀏覽器間傳輸,永遠不會經過中央伺服器。該平台無法看到、攔截或錄製您的視訊。這是點對點 WebRTC 相比伺服器中繼架構在根本上更隱私的優勢。
如果直接 P2P 連線失敗怎麼辦?
如果 STUN 輔助的直接連線和主機候選都失敗(通常因嚴格的企業 NAT 或對稱防火牆),WebRTC 會自動回退到 TURN 中繼伺服器。TURN 伺服器在對等方之間轉發加密的媒體封包。大約 15% 的會話需要 TURN 中繼。
Nightcap 使用任何外掛或下載嗎?
不。Nightcap 使用 WebRTC,它內置於 Chrome、Safari、Firefox 和 Edge 中。沒有外掛、沒有 Flash、沒有 Java 小程式,無需應用程式下載。您打開網站,您的瀏覽器處理一切。
隨機視訊聊天上的配對如何運作?
當您點擊開始時,您進入配對佇列。Nightcap 使用 Cloudflare 耐久物件在全球佇列中維持配對時間少於 50 毫秒的狀態。系統考慮您的興趣、國家偏好和性別篩選以尋找最佳配對。付費加速配對使用者在佇列中獲得優先位置。