Rakensimme VPN-tunneloidun RTSP-suoratoistoalustan, jossa oli VPN-keskitin turvallista kamerayhteyttä varten, automaattisesti skaalautuvat RTSP-uudelleenlähetyspalvelimet moniprotokollatoimitusta varten, HLS-pakkaus selaintoistoa varten ja jatkuva tallennus säilytyshallinnalla.
Arkkitehtuuri
- VPN-keskitin: Keskitetty VPN-palvelin, joka muodostaa turvalliset tunnelit etäisille kamerapaikoille
- RTSP-syöttö: VPN-yhteydellä olevat kamerat julkaisevat RTSP-virtoja salattujen tunneleiden kautta
- Uudelleenlähetysklusteri: Automaattisesti skaalautuvat MediaMTX-palvelimet RTSP-releeseen, HLS-muunnokseen ja virtojen jakeluun
- HLS-pakkaus: Reaaliaikainen RTSP-HLS-muunnos verkkoselainten toimitusta varten
- Tallennuspalvelu: Jatkuva virtojen tallennus segmenttipohjaisella tallennuksella ja säilytyskäytännöillä
- Kuormantasaaja: Jakaa katsoja- ja AI-työntekijöiden yhteydet uudelleenlähetyspalvelimille
- Orkestroija: Seuraa kysyntää ja skaalaa uudelleenlähetysklusteria ylös- tai alaspäin
- Tallennustila: Objekti tallennustila tallennetuille segmenteille elinkaaren hallinnalla
VPN-tunnelin arkkitehtuuri
Turvallinen kamerayhteys
- Pilveen käyttöönotettu VPN-keskitin muodostaa salatut tunnelit jokaiseen etäpaikkaan
- Etäpaikkojen kamerat suoratoistavat RTSP-virtaa VPN-tunnelissa — ei julkista internet-altistusta
- Jokainen sivusto saa VPN-asiakasohjelman, joka muodostaa yhteyden keskittimeen luoden yksityisen verkkokerroksen
- Kameran RTSP-virrat ovat pilvi-infrastruktuurin käytettävissä yksityisten VPN-IP-osoitteiden kautta
- Useat kamerat per sivusto jakavat yhden VPN-tunnelin
NAT-/palomuurin ylitys
- VPN-asiakasohjelmat aloittavat lähteviä yhteyksiä kamerapaikalta (ei tarvita saapuvia palomuurisääntöjä)
- Keskitin hyväksyy saapuvat yhteydet luoden kaksisuuntaisia tunneleita
- Pilvipalvelut pääsevät kameran RTSP-syötteisiin VPN-verkon kautta ikään kuin ne olisivat paikallisia
Luotettavuus
- Automaattinen tunnelin uudelleen yhdistäminen verkkovirheiden sattuessa
- Keepalive-tutkimukset havaitsevat ja palautuvat hiljaisista vioista
- Useita tunneliprotokollia tuettu yhteensopivuutta varten rajoittavien verkkojen kanssa
- Tunnelikohtainen terveyden valvonta hälytyksillä pitkistä katkoksista
Automaattisesti skaalautuva uudelleenlähetys
RTSP-rele
Uudelleenlähetyspalvelimet hakevat kameran RTSP-syötteet VPN-verkosta ja asettavat ne saataville alavirran kuluttajille:
- AI-työntekijät yhdistyvät RTSP:n kautta matalan viiveen ja kuvatarkan käsittelyn vuoksi
- Useat kuluttajat voivat käyttää samaa kameravirtaa ilman lisäkuormitusta kameraan
- Virran multipleksointi vähentää kaistanleveyttä kamerapaikalta (yksi haku, monta kuluttajaa)
HLS-muunnos
Verkkopohjaista katselua varten uudelleenlähetyspalvelimet muuntavat RTSP:n HLS:ksi reaaliaikaisesti:
- Segmenttipohjainen pakkaus HTTP-toimitukseen standardin verkkoinfrastruktuurin kautta
- Mukautuva bittinopeustuki vaihteleville katsojien verkko-olosuhteille
- CDN-yhteensopiva ulostulo reunakätkettyyn toimitukseen
- Matalan viiveen HLS-konfiguraatio lähes reaaliaikaista katselua varten
Automaattinen skaalaus
Uudelleenlähetysklusteri skaalautuu kysynnän mukaan:
- Ylöspäin skaalaus — Kun katsoja-/AI-yhteydet palvelinta kohden ylittävät kynnyksen tai suorittimen käyttöaste on korkea
- Alaspäin skaalaus — Kun käyttöaste laskee alle kynnyksen pitkäkestoisen ajanjakson ajan
- Uudet palvelimet hakevat kamerasyötteet VPN-verkosta ja rekisteröityvät kuormantasaajaan
- Hallittu sammutus tyhjentää yhteydet ennen palvelimien poistamista (katsojat yhdistyvät automaattisesti uudelleen vakaiden URL-osoitteiden kautta)
Tallennusputki
Jatkuva tallennus
- Uudelleenlähetyspalvelimet tai omistetut tallennustyöntekijät tallentavat RTSP-virtoja segmentoituina tiedostoina
- Segmentit kirjoitetaan konfiguroitavissa olevin väliajoin hallittavien tiedostokokojen saavuttamiseksi
- Jokainen segmentti on merkitty kameratunnuksella, aikaleimalla ja kestometatiedoilla
Tallennustilan hallinta
- Segmentit ladataan objekti tallennustilaan kestävää arkistointia varten
- Säilytyskäytännöt poistavat automaattisesti segmentit, jotka ovat vanhempia kuin määritetty säilytysaika
- Tallennustilan elinkaarisäännöt siirtävät vanhemmat segmentit edullisemmille tallennustasoille ennen poistamista
- Kamera- ja sivustokohtaiset tallennuskiintiöt estävät hallitsemattomat kustannukset
Toisto
- Tallennetut segmentit ovat käytettävissä aikaperusteisten kyselyjen kautta (kamera + aika-alue)
- HLS-manifesti luodaan lennossa tallennetun materiaalin selainpohjaista toistoa varten
- Haku ja selailu tallennetun aikajanan läpi segmenttitasoisella tarkkuudella
Moniprotokollatoimitus
| Kuluttaja | Protokolla | Viive | Käyttötapaus |
|----------|----------|---------|----------|
| AI-työntekijät | RTSP | Matala (~500ms) | Reaaliaikainen objektintunnistus, analytiikka |
| Verkkokatselijat | HLS | Keskitaso (2-6s) | Selainpohjainen live-valvonta |
| Mobiilisovellukset | HLS | Keskitaso (2-6s) | Etävalvonta mobiililaitteilla |
| Arkistointi | Tallennetut segmentit | N/A | Tapahtumien tarkastelu, vaatimustenmukaisuus, rikostekninen |
Valvonta ja luotettavuus
Videon tila
- Kamerakohtainen virran tilan valvonta (yhteydessä, puskuroi, katkaistu)
- VPN-tunnelin terveys sivustoa kohti (viive, pakettihäviö, käytettävyysaika)
- Uudelleenlähetyspalvelimen mittarit (suoritin, kaistanleveys, yhteysmäärä)
- Tallennusputken terveys (segmentin kirjoitusnopeus, tallennustilan käyttö, lataustila)
Hälytykset
- Kameran irrotushälytykset sivustotunnuksella
- VPN-tunnelin vikatiedotukset
- Uudelleenlähetysklusterin kapasiteettivaroitukset
- Tallennuskiintiö- ja säilytyshälytykset
- Tallennusaukkojen havaitseminen segmentin jatkuvuustarkistusten avulla
Avainominaisuudet
- VPN-suojattu syöttö — Salattavat tunnelit suojaavat RTSP-virtoja etäkameroista
- NAT-/palomuurin ylitys — Lähtevät VPN-yhteydet ohittavat rajoittavat verkkokokoonpanot
- Automaattisesti skaalautuva uudelleenlähetys — Klusteri skaalautuu katsoja- ja AI-kysynnän mukaan
- HLS-muunnos — Reaaliaikainen RTSP-HLS-muunnos selainpohjaista katselua varten
- RTSP-rele — Matalan viiveen virran käyttö AI-käsittelytyöntekijöille
- Jatkuva tallennus — Segmenttipohjainen tallennus säilytyshallinnalla
- Moniprotokolla — RTSP, HLS ja tallennetut segmentit yhdestä syötöstä
- Automaattinen uudelleen yhdistäminen — VPN-tunnelit ja virran yhteydet palautuvat keskeytyksistä
- Tallennustilan elinkaari — Porrastettu tallennustila automaattisella säilytyskäytäntöjen valvonnalla
- Virran multipleksointi — Yksi kameran veto palvelee useita kuluttajia ilman lisäkuormitusta kameraan