Julkaistu huhtikuu 2026

Miten satunnainen videochat todella toimii

Tekniikka yhdistäjien sovittamiseen ja HD-videon suoratoistoon ilman mediapalvelimia

Mitä tapahtuu, kun napsautat "Aloita"?

Satunnainen videochat yhdistää kaksi tuntematonta sekunneissa viidellä vaiheella, jotka tapahtuvat lähes samanaikaisesti. Selaimesi hankkii kameran pääsyn, yhdistämisjonon parittaa sinut toisen käyttäjän kanssa, signalointipalvelin vaihtaa yhteyden metatietoja ja WebRTC muodostaa suoran vertaisverkko-videovirran — ei mediapalvelinta vaadita.

01

Selain pyytää kameraa ja mikrofonia

getUserMedia API
02

Liität yhdistämisjonoon

Cloudflare Durable Objects
03

Ottelu löydetty — signalointi yhdistää sinut

WebSocket
04

WebRTC-vertaisverkko-yhteys muodostettu

SDP-vaihto + ICE-ehdokkaat
05

Videovirrat selain-selaimen välillä

Vertaisverkko, nolla palvelimia

Mikä on WebRTC?

WebRTC (Web Real-Time Communication) on avoimen lähdekoodin protokolla, joka on rakennettu jokaisen nykyaikaisen selaimen sisään, joka mahdollistaa vertaisverkko-äänen, videon ja datan siirron ilman liitännäisiä. W3C ja IETF ylläpitävät sitä, ja se tehostaa videochattia Chrome, Safarissa, Firefoxissa ja Edge:ssä ilman latauksia, ilman Flashia ja ilman Java-appleetteja.

getUserMedia

Pyytää pääsyä kameraan ja mikrofoniin. Palauttaa MediaStream-objektin, jonka sovelluksesi voi näyttää tai lähettää.

RTCPeerConnection

Hallinnoi koko vertaisverkko-yhteyksiä elinkaarenelinkaarenelinkaarenelinkaarenelinkaareni — SDP-neuvottelu, ICE-ehdokkaiden vaihto ja medialiikenne.

RTCDataChannel

Lähettää mielivaltaisia tietoja (tekstichat, tiedostonsiirto, pelitila) suoraan selaimen välillä saman P2P-linkin yli.

Keskeinen fakta: WebRTC on avoimen lähdekodin W3C/IETF-standardi — ei omaa API:ta. Mikä tahansa selainen, joka toteuttaa spesifikaation, voi osallistua, siksi satunnainen videochat toimii selainten välillä ilman asennuksia.

Miten P2P-video toimii (ja miksi se on yksityisempi)

Vertaisverkko-video tarkoittaa, että kameravirtasi kulkee suoraan selaimestasi toisen henkilön selaimeen. Mitään keskitettyä palvelinta ei dekoodaa, tarkista tai tallenna virtaa. Tämä arkkitehtuuri on otettu käyttöön SDP-signaloinnilla, ICE-ehdokkaat keräämisellä ja STUN/TURN-palvelimilla NAT-kautta kulkemista varten — ja se tekee P2P-videochatin perustavanlaatuisesti yksityisemmäksi kuin palvelinreititys-vaihtoehdot.

SDP (istunto-kuvaus-protokolla)

Jokainen vertaisverkko tuottaa SDP "tarjouksen" tai "vastauksen" kuvaavia sen tuettuja kodekeita, resoluutioita ja salausavaimia. Nämä vaihdetaan signalointipalvelimen kautta (WebSocket-releen) mutta eivät sisällä todellisia mediatietoja.

ICE (vuorovaikutteinen yhteyden muodostaminen)

ICE kerää ehdokkaiden verkon polut — host-ehdokkaat (paikallinen IP), palvelinrefleksiiviset ehdokkaat (julkinen IP STUN:n kautta) ja releen ehdokkaat (TURN-varavaihtoehdot). ICE-agentti testaa jokaisen polun ja valitsee parhaan suoran reitin.

STUN-palvelimet (NAT-kautta kulkeminen)

STUN (istunnon kautta kulkemisen apuohjelmat NAT:lle) auttaa selainta löytämään julkisen IP:nsä ja porttimäärityksensä. Tämä antaa vertaisverkkojen kotiverkkojen takana olevan yhteyden muodostamiselle suoraan ilman mitään rele.

TURN-palvelimet (varaalla releen)

Kun suorat yhteydet epäonnistuvat (symmetrinen NAT, tiukat yritys-palomuurit), TURN välittää salatut mediad ata-paketit vertaisverkkojen välillä. Noin 15 % todellisista istunnoista vaatii TURN:ia — media on edelleen salattu päästä päähän.

Yksityisyys-näkemys: Koska videodata kulkee suoraan selaimen välillä, alustan operaattori ei koskaan näe, käsittele tai tallenna videovirran kautta. Jopa signalointipalvelin käsittelee vain kevyitä JSON-metatietoja — ei kuvia.

Miten yhdistämis-järjestelmä toimii?

Yhdistäminen parittaa kaksi tuntematonta maailmanlaajuisesta jonosta alle 50 millisekunnissa. Nightcap käyttää Cloudflare Durable Objects:ia — maailmanlaajuisesti hajautettua tilallista laskentaprimisaa — ylläpitämään yhtä johdonmukaista jonoa, joka pisteitää käyttäjät jakamalla kiinnostuksilla, maantieteellisillä mieltymyksillä ja sukupuoli-suodattimilla, sitten nappaa korkeimman pisteytetyn parin.

Kiinnostuksiin perustuva pisteitys

Syötä kiinnostuksesi, kuten "musiikki, koodaus, anime" — yhdistäminen laskee Jaccard-samankaltaisuuspisteen jonottuneita muita käyttäjiä vastaan ja priorisa paremman päällekkäisyyden.

Maa- ja sukupuoli-suodattimet

Valinnaiset suodattimet antavat sinun suosia käyttäjiä tietysta maasta tai sukupuolesta. Jono osiota ehdokkaat vastaavasti samalla kun pidetään yhdistämisaika alle sekunnissa.

Durable Object-arkkitehtuuri

Yksittäinen Cloudflare Durable Object pitää maailmanlaajuisen yhdistämis-jonon muistissa vahvalla johdonmukaisuudella. Jokainen reunaloki maailmassa yhdistää samaan tilaan, mikä eliminoi kilpailu-ehdot.

Boost: Etusija-jonon sijoitus

Maksulliset Boost-käyttäjät asetetaan jonon eteen. Tämä tarkoittaa nopeampia otteluja ja korkeamman laadun parittamista muuttamatta yhdistämis-algoritmia itse.

Miten reaaliaikaiset videoefektit toimivat selaimessa?

Nightcap ajaa tekoälypohjaisia videoefektejä täysin selaimessa GPU-kiihdytetyillä MediaPipe-malleilla. Taustan sumennus, värisuodattimet ja kauneustila sovelletaan paikallisesti MediaStream ennen kuin se lähetetään vertaiselle — alusta ei koskaan vastaanota raakaa tai käsiteltyä videota millä tahansa palvelimella.

Taustan sumennus (tekoäly-segmentaatio)

MediaPipe:n itseseive-segmentaatiomallit ajaa GPU:llasi, tunnistaa henkilön vs. taustan 30fps:llä. Kaikki henkilönaamion ulkopuolella oleva segmentaatiosta sumennetaan säädettävällä voimakkuudella (1–20). Segmentoidun tuloksen korvaa alkuperäisen virran.

6 värisuodatinta

Lämpö-, viileä-, vintage-, mustav., eloisa- ja pehmeä-suodattimet sovelletaan CSS-suodattimen muunnoksena piilotetulla kanvaalla. Suodatetut kehykset kaapataan uutena MediaStream:inä ja syötetään RTCPeerConnection:iin.

Kauneustila

Ohjattu Gaussian-sumennus-sekoitus yhdistetään videoruudun päälle, tuottaen hienovaraista ihon tasoitusta. Efekti käyttää 3px-sumentaa sekoitettuna 15 % opasiteetin kanssa välttääksi kummaisen näköisen samalla kun hiotaan ihon rakennetta.

Miten moderointi toimii ilman jokaisen chatin katsomista?

Tekoälymoderointi-järjestelmät analysoivat tekstiviestejä ja säännöllisiä videoruutuja reaaliajassa ilman ihmisen katsoa keskustelun. Nightcap lähettää jokaisen chattiviestin OpenAI:n ilmaisen Moderointi-API:n kautta ja näytteistää säännöllisesti videoruutuja sisällön analyysista AWS Rekognition:n kautta — mahdollistaen automatisoitu täytäntöönpano ilman massavalvontaa.

Tekstimoderointi

Jokainen viesti tarkistetaan OpenAI:n Moderointi-API:tä vastaan ennen toimittamista. API merkitsee vihapuheen, häirinnän, itsensä vahingoittamisen, seksuaalisen sisällön ja väkivallan millisekunnissa — ja se on ilmaista soittaa.

Videoruutujen näytteistäminen

Säännölliset ruudun kaappaukset lähetetään AWS Rekognition:lle sisällönanalyysille. Järjestelmä merkitsee eksplisiittinen tai epäturvallinen sisällön ja laukaisee automatisoitu täytäntöönpano ilman videovirran tallentamista tai varastointia.

Yhden napsautuksen ilmoitus

Käyttäjät voivat ilmoittaa ottelun välittömästi. Raportit laukaisevat välittömän tarkistuksen, ja vahvistetut rikkomukset johtavat väliaikaisiin tai pysyviin porttikieltoon vakavuuden ja toistuvan rikoksen historian perusteella.

Yksityistila

Kun molemmat käyttäjät itsenäisesti päätyvät, NSFW-sisältösuodatin poistetaan. Kuitenkin CSAM-havaitseminen ja uhkauksen valvonta jäävät aktiivisiksi aina — nämä eivät koskaan poistu käytöstä tilasta riippumatta.

Miksi P2P voittaa mediapalvelimet 1-1-videolle?

Yhden kanssa videochattille, vertaisverkko WebRTC maksaa mitään palvelimen videobandwidthissa, tarjoaa alimman mahdollisen viiveen (suora verkon reitti) ja varmistaaa, ettei alusta koskaan käsittele videotasi. Palvelinpohjaiset arkkitehtuuri kuten SFU ja MCU lisäävät kustannusta, viivettä ja yksityisyyden kauppaa, jotka tekevät vain ryhmäpuheluille.

ArkkitehtuuriBandwidthin hintaYksityisyys
P2P (Nightcap)0 $ videobandwidthVideo ei koskaan palvelimella
SFUKorkea — palvelin välittää kaikki virratPalvelin näkee kaiken videon
MCUKorkein — palvelin dekoodaa ja koodaa uudelleenPalvelin käsittelee videota täysin

Arkkitehtuuri silmäyksellä

Nightcap:n arkkitehtuuri jakautuu neljään tasoon: signalointi (Cloudflare Workers yli WebSocket:n), yhdistäminen (Durable Objects), media (puhdas P2P WebRTC) ja sovelluksen logiikka (Next.js API-reitit maksuille, moderointiin ja ilmoituksille). Mediaataso maksaa nollaa palvelimen bandwidthissa, koska video ei koskaan kosketa palvelinta.

Selain←→Cloudflare Worker(WebSocket signalointi — SDP + ICE-releen)
Selain←→Durable Object(yhdistämis-jonon — kiinnostuksen pisteitys)
Selain←→Selain(P2P WebRTC — nolla mediapalvelin-hinta)
SelainNext.js API(Stripe boostit, moderointi, raportit)

Usein kysytyt kysymykset

Onko WebRTC videochat todella vertaisverkko?

Kyllä. Kun WebRTC-yhteys on muodostettu, video- ja äänid ata kulkevat suoraan kahden selaimen välillä. Signalointipalvelin käytetään vain yhteyden metatietojen vaihtoon (SDP-tarjoukset ja ICE-ehdokkaat) — se ei koskaan kosketa todellista mediavirta.

Voivatko videochat-alustat nähdä tai tallentaa videoni?

Nightcapin kaltaisilla P2P-alustoilla videovirrat kulkevat suoraan selaimen ja selaimen välillä eikä koskaan kulje keskitetyn palvelimen läpi. Alusta ei voi nähdä, siepata tai tallentaa videotasi. Tämä on perustavanlaatuinen arkkitehtuuri-etu vertaisverkko WebRTC:lle verrattuna palvelinreitityksen arkkitehtuureille.

Mitä tapahtuu, jos suora P2P-yhteys epäonnistuu?

Jos sekä STUN-avusteiset suorat yhteydet että host-ehdokkaat epäonnistuvat (yleensä tiukkien yritys-NAT tai symmetristen palomuurien vuoksi), WebRTC putoaa automaattisesti TURN-releen palvelimelle. TURN-palvelin välittää salatut mediad ata-paketit vertaisverkkojen välillä. Noin 15 % istunnoista vaatii TURN-releen.

Käyttääkö Nightcap mitään liitännäisiä tai latauksia?

Ei. Nightcap käyttää WebRTC:tä, joka on natiivin sisään rakennettu Chrome, Safari, Firefox ja Edge. Ei ole liitännäisiä, ei Flashia, ei Java-appletteja eikä sovelluksen latauksia vaadita. Avaat sivuston ja selain hoitaa kaiken.

Miten satunnaisen videochatin yhdistäminen toimii?

Kun napsautat Aloita, siirtyt yhdistämisjonoon. Nightcap käyttää Cloudflare Durable Objects:ia ylläpitämään globaalia jonoa alle 50ms:n yhdistämisen kanssa. Järjestelmä ottaa huomioon kiinnostuksesi, maan preferenssi ja sukupuoli-suodattimen löytääkseen parhaan ottelun. Maksulliset Boost-käyttäjät saavat etusija-sijoituksen jonossa.

Lisää Nightcapista

Koe tekniikka — Kokeile Nightcapia ilmaiseksi

Ei tiliä. Ei lataamista. Ei mediapalvelimia. Vain avaa sivun ja aloita oikea keskustelu sekunneissa.

Aloita Chattaileminen ilmaiseksi →