Internet Windows Android
Kengaytirish

IP kameralar uchun Rtsp protokoli. WebRTC yordamida IP kameradan video oqimini translyatsiya qilish

Agar siz mahsulotni sozlash yoki ishlatishda qiyinchiliklarga duch kelsangiz, tez-tez beriladigan savollar va ularga javoblarni o'qing.


REVISOR VMS sovg'a litsenziyasini qanday olish mumkin?

Revisor VMS sovg'a litsenziyasini olish uchun ko'rsatmalarga amal qiling. Yuklab olish ko'rsatmalari.


Menda 1,3 MP RedLine IP kamerasi bor. Men ActiveX ni o'rnatmoqchiman, lekin "HTTP 404 - topilmadi" xatosi paydo bo'ldi, nima qilishim kerak?

1,3 MP video kameralarda ActiveX moduli o'rnatilgan emas, u to'plamga kiritilgan diskdan o'rnatilishi yoki havoladan yuklab olinishi kerak.

4MP kameralar uchun:

rtsp://admin:123456@IP-manzil:554/ch01/0 - asosiy mavzu

rtsp://admin:123456@IP-manzil:554/ch01/1 - qo'shimcha oqim

rtsp://admin:123456@IP-manzil:554/streaming/mjpeg - mjpeg oqimi

1,3 MP va 2 MP kameralar uchun

rtsp://admin:123456@IP-manzil:554/streaming/video0 - asosiy oqim

rtsp://admin:123456@IP-manzil:554/streaming/video1 - qo'shimcha oqim

Mobil qurilmalar uchun qanday dastur mos keladi?

Tarmoq orqali ishlash uchun qanday portlar kerak?

80 - veb-interfeys

554-rtsp (video) oqim

4900 - mobil port

9988 - 4MP IP kameralarga mijoz ulanishlari uchun

Agar magnitafon yoki uchinchi tomon dasturlaridagi ovoz ishlamasa nima qilishim kerak?


Ovozni uzatish uchun NETWORK - RTSP oqim ko'rinishidagi sozlamalarda audio uzatishni faollashtirishingiz kerak.

Bo'sh joy miqdori tanlangan yozish sifati va harakat chastotasiga bog'liq (aniqlash orqali yozib olishda). Arxivni hisoblash uchun siz Disk kalkulyator dasturidan foydalanishingiz mumkin.

Mahalliy tarmoqda IP kamerani qanday topish mumkin?

Dasturni o'rnating va administrator sifatida ishga tushiring. Ko'rsatilgan oynada siz mahalliy tarmoqqa ulangan uskunalar ro'yxatini ko'rasiz.

Tarmoq sozlamalarini o'zgartirish uchun siz yuqori maydonda uskunani tanlashingiz va pastki maydonda tarmoq sozlamalarini (IP-manzil, niqob, shlyuz) belgilashingiz kerak, foydalanuvchi nomi, parolni kiriting va "O'zgartirish" tugmasini bosing. Kelajakda ulanish uchun belgilangan IP-dan foydalanishingiz kerak

.

1,3 MP va 2 MP IP kameralar uchun foydalanish tavsiya etiladi

CVMS-ga 1,3 MP IP kamerani qanday qo'shish mumkin?

Agar kamera mahalliy tarmoqda bo'lsa, u holda ko'rish rejimida, Qurilmalar menyusida (chapda) sichqonchaning o'ng tugmachasini bosing va "Tezkor qidiruv" ni tanlang, so'ngra kerakli kamerani tanlang va parolni belgilang.

Agar ulanish Internet orqali amalga oshirilsa, u holda ko'rish rejimida, Qurilmalar menyusida (chapda) sichqonchaning o'ng tugmachasini bosing va "Qurilma qo'shish" ni tanlang va ulanish ma'lumotlarini kiriting, TCP PORTI KO'RSATILISHI SHART (standart 1115)

CCTV kamerasi bilan birga kelgan qo'llanmada har doim ham qurilma ishlaydigan RTSP protokoli haqida ma'lumot bo'lmasligi mumkin. Biroq, ushbu protokoldan foydalanish kerak bo'lgan holatlar juda ko'p, shuning uchun uning manzilini aniqlash kerak bo'ladi.

Video kuzatuv tizimining egasi turli vaziyatlarda RTSP oqimini bilishi kerak bo'lishi mumkin:

  • videokamerani bulutli serverga ulash uchun;
  • veb-saytga videoma'lumot uzatishni yo'lga qo'yish;
  • turli qurilmalarda - mobil telefon, noutbuk yoki planshetda pleer oqimida videolarni o'ynash uchun.

RTSP protokoli nima uchun?

Protokol nomi RTSP boshqaruvni onlayn rejimga o'tkazadi. Shunday qilib, Real Time Streaming Protocol onlayn video oqimini boshqarishga yordam beradi. Ushbu protokol IP-video kuzatuvida juda tez-tez ishlatiladi, chunki u kerakli buyruqlar tavsifini o'z ichiga oladi.

RTSP protokoli xavfsizlik kamerasi egasiga bir nechta muhim funktsiyalarni hal qilish imkonini beradi:

  • VLC yordamida ma'lumotlarni uzatish;
  • resurslaringiz va platformalaringizga video translyatsiya qilish;
  • NVR video yozuvchisini sozlash;
  • video kuzatuv kamerasini virtual xotiraga ulash;
  • Android yoki iOS asosidagi mobil ilovalarga videokamera qo'shing.

Shu bilan birga, video kuzatuv tizimlarining ko'plab foydalanuvchilari uchun RTSP oqimini ochish juda oddiy va juda qiyin emas.

CCTV kamerasining RTSP manzilini bilib oling

Tegishli ko'rsatmalarda ko'rsatilmagan videokameraning RTSP oqimini aniqlashga imkon beradigan bir nechta variant mavjud.

Rossiyada sotiladigan ko'p sonli IP videokameralarida Xitoyning XMEye elementlari mavjud. Ushbu komponentlarni hatto Vesta, HiQ, SVplus va shunga o'xshash kameralar ishlab chiqaruvchi mahalliy ishlab chiqaruvchilardan ham ko'rish mumkin. Shunga o'xshash modellarning kamerasi quyidagi RTSP oqim formatiga ega bo'ladi:

rtsp://192.168.132.32:554/user=admin&password=12345&channel=1&stream=0.cgi

Ushbu manzil quyidagi komponentlarni o'z ichiga oladi:

  • 192.168.132.32 - qurilmaning to'g'ridan-to'g'ri IP-manzili;
  • 554 - protokol porti (sukut bo'yicha u 554 raqamlangan, ammo bu parametr qurilma sozlamalarida o'zgartirilishi mumkin);
  • admin – CCTV kamerasiga kirish;
  • 12355 - foydalanuvchi login uchun parol.

Agar IP-video kamera boshqa komponentlarni o'z ichiga olgan bo'lsa, quyida keltirilgan ikkita variantdan birini ishlatishingiz kerak bo'ladi.

Birinchi variant eng soddalashtirilgan. CCTV kamerasidan RTSP oqimini bilish uchun ushbu qurilmaning ishlab chiqaruvchisi yoki yetkazib beruvchisi bilan bog'lanishingiz kerak. So'rov bo'yicha ular kerakli oqim formatini taqdim etishlari mumkin, hatto xitoylik sotuvchilar ham ushbu xizmatni - Xitoydagi zavodlardan yoki AliExpress veb-saytidan taqdim etishlari mumkin.

Ikkinchi variant - maxsus dasturlardan foydalanish. Ushbu usul video kuzatuv tizimining egasi etkazib beruvchidan RTSP oqim manzilini so'rash qobiliyatiga yoki xohishiga ega bo'lmagan hollarda yordam berishi mumkin. Keyin dasturiy ta'minot yordamida o'zingiz qilishingiz mumkin.

Birinchidan, siz One Device Manager deb nomlangan dasturni yuklab olishingiz kerak bo'ladi. O'rnatishdan so'ng, ushbu dastur sizga RTSP manzilini aniqlashga yordam beradi.

Qoida tariqasida, ko'pchilik video kameralar onvif protokolini qo'llab-quvvatlaydi, shuning uchun dasturiy ta'minotdan foydalanishda hech qanday qiyinchiliklar bo'lmasligi kerak. Muhim nuance - uning to'g'ri ishlashi uchun dastur o'rnatiladigan noutbuk yoki kompyuterni, shuningdek, IP-qurilmaning o'zini bir xil mahalliy tarmoqqa ulashingiz kerak.

Internetda RTSP oqimlarining manzillarini o'z ichiga olgan to'liq ro'yxatlarni topishingiz mumkin, chunki bu ma'lumotlar video kuzatuv kamerasining qaysi markasi ishlab chiqarilganiga bog'liq.

Videokamerada RTSP oqimini qanday ochish mumkin?

RTSP oqim manzili kuzatuv tizimining egasiga ma'lum bo'lganda, u IP kameradan video ma'lumot olishi mumkin. Oqimli video translyatsiyani ochish uchun siz quyidagi bosqichlar ro'yxatini bajarishingiz kerak bo'ladi:

  • videokamera uchun doimiy IP-manzilni o'rnating va uni Internet-provayderingizdan buyurtma qiling;
  • videokameradan kelgan mahalliy so'rovlarni RTSP portiga yo'naltirish;
  • ishlash testidan o'tish.

Statik manzil IP Hunter dasturi yordamida sozlanishi yoki provayderingiz bilan bog'lanib, qo'shimcha variant sifatida doimiy IP manzilini taqdim etishlarini so'rashingiz mumkin. Shundan so'ng, siz portlarni yo'naltirish va portlarni videokameraning mahalliy portlaridan RTSP portiga yo'naltirishni sozlashingiz kerak. Keyin oqimni tekshirishga o'tishingiz mumkin.

RTSP havolasi ishlab yoki yo'qligini tushunish uchun siz VLC pleerini ochib, u erda tekshirishingiz mumkin. Buning uchun pleerning asosiy menyusida siz "Media" toifasini bosishingiz va "URLni ochish" ni tanlashingiz kerak. Keyinchalik, "Manba" oynasining "Tarmoq" yorlig'iga o'tishingiz va havolangizni ko'rsatishingiz kerak.

IP-kameradan onlayn eshittirish muammosini hal qilish, umuman olganda, WebRTC-dan foydalanishni talab qilmaydi. Kameraning o'zi server bo'lib, IP-manzilga ega va video kontentni tarqatish uchun to'g'ridan-to'g'ri routerga ulanishi mumkin. Xo'sh, nima uchun WebRTC texnologiyasidan foydalanish kerak?

Buning kamida ikkita sababi bor:

1. Ethernet translyatsiyasini tomoshabinlar soni ortishi bilan avval kanal qalinligining etishmasligi, keyin esa kameraning o'zi resurslari seziladi.

2. Yuqorida aytib o'tganimizdek, IP kamera serverdir. Lekin videoni ish stoli brauzeriga yuborish uchun qanday protokollardan foydalanishi mumkin? Mobil qurilma? Ehtimol, bu HTTP oqimi bo'ladi, bu erda video ramkalar yoki JPEG tasvirlar HTTP orqali uzatiladi. Ma'lumki, HTTP oqimi real vaqtda video oqimi uchun mutlaqo mos emas, garchi u talab bo'yicha videoda o'zini yaxshi isbotlagan bo'lsa-da, bu erda oqimning interaktivligi va kechikishi ayniqsa muhim emas. Darhaqiqat, agar siz film tomosha qilayotgan bo'lsangiz, bir necha soniya kechikish, agar siz filmni boshqa birov bilan bir vaqtda tomosha qilmasangiz, vaziyatni yomonlashtirmaydi. "O yoq! Jek uni o'ldirdi! - Elis fojiali yakunlanishidan 10 soniya oldin Bobga chatda spoyler yozadi.

Yoki bu RTSP/RTP va H.264 bo'ladi, bu holda brauzerda VLC yoki QuickTime kabi video pleer plaginini o'rnatish kerak. Bunday plagin xuddi pleerning o'zi kabi videoni yozib oladi va o'ynaydi. Lekin bizga qo'shimcha tayoqchalar/plaginlarni o'rnatmasdan haqiqiy brauzerga asoslangan oqim kerak.

Birinchidan, ushbu qurilma brauzerga aynan nima yuborayotganini bilish uchun IP-kameraning suratini olaylik. Sinov mavzusi D-Link DCS 7010L kamerasi bo'ladi:

Siz quyida kamerani o'rnatish va sozlash haqida ko'proq o'qishingiz mumkin, ammo bu erda biz video oqim uchun nimadan foydalanishini ko'rib chiqamiz. Veb-interfeys orqali kameraning administrator paneliga kirganda, biz shunga o'xshash narsani ko'ramiz (peyzaj uchun uzr):

Rasm barcha brauzerlarda ochiladi va soniyada bir marta teng ravishda muzlaydi. Biz oqimni tomosha qilayotgan kamera ham, noutbuk ham bir xil routerga ulanganligini hisobga olsak, hamma narsa silliq va chiroyli bo'lishi kerak, ammo bu unday emas. HTTPga o'xshaydi. Taxminlarimizni tasdiqlash uchun Wireshark-ni ishga tushiramiz:

Bu erda biz 1514 bayt uzunlikdagi TCP fragmentlari ketma-ketligini ko'ramiz

Va qabul qilingan JPEG uzunligi bilan yakuniy HTTP 200 OK:

Bizga bunday oqim kerak emas. Silliq emas, HTTP so'rovlarini buzadi. Kamera soniyada qancha shunday so'rovlarni bajara oladi? 10 tomoshabin yoki undan oldinroq kamera xavfsiz tarzda egilib yoki dahshatli tarzda ishdan chiqa boshlaydi va slaydlar hosil qiladi, deb ishonishga asos bor.

Agar siz kameraning boshqaruv panelining HTML sahifasiga qarasangiz, ushbu qiziqarli kodni ko'rasiz:

If(brauzer_IE) DW(""); else ( if(mpMode == 1) var RTSPName = g_RTSPName1; else if(mpMode == 2) var RTSPName = g_RTSPName2; else if(mpMode == 3) var RTSPName = g_RTSPName3; var o=""; agar (g_isIPv6) //chunki ipv6 rtsp.ni qoʻllab-quvvatlamaydi var host = g_netip; other var host = g_host; o+=""; o+=""; o+=""; o+=""; o+=""; o+=""; //alert(o); DW(o); )

RTSP/RTP videoni to'g'ri ijro etish uchun aynan sizga kerak bo'lgan narsadir. Lekin bu brauzerda ishlaydimi? - Yo'q. Ammo QuickTime plaginini o'rnatsangiz, hamma narsa ishlaydi. Lekin biz faqat brauzerga asoslangan translatsiya qilamiz.

Bu erda Flash Player-ni ham eslatib o'tishimiz mumkin, u Wowza kabi mos server orqali RTSP, RTP, H.264-dan o'zgartirilgan RTMP oqimini qabul qilishi mumkin. Ammo Flash Player, siz bilganingizdek, brauzer plaginidir, garchi u VLC yoki QuickTime-dan ko'ra ko'proq mashhur bo'lsa ham.

Bunday holda, biz bir xil RTSP/RTP qayta oqimini sinab ko'ramiz, lekin WebRTC-mos brauzer hech qanday qo'shimcha brauzer plaginlari yoki boshqa tayoqchalarsiz o'yin qurilmasi sifatida ishlatiladi. Biz IP-kameradan oqimni oladigan va WebRTC-ni qo'llab-quvvatlaydigan brauzerlardan foydalangan holda Internetga o'zboshimchalik bilan foydalanuvchilarga yuboradigan rele serverini o'rnatamiz.

IP kamerani ulash

Yuqorida aytib o'tilganidek, sinov uchun oddiy D-Link DCS-7010L IP kamerasi tanlangan. Bu erda asosiy tanlov mezoni qurilmaning RTSP protokolini qo'llab-quvvatlashi edi, chunki bizning serverimiz kameradan video oqimini aynan shu orqali oladi.

Biz kamerani marshrutizatorga ulangan patch shnuri yordamida ulaymiz. Quvvatni yoqqaningizdan va marshrutizatorga ulanganingizdan so'ng, kamera DHCP orqali IP-manzilni oldi, bizning holatlarimizda u 192.168.1.34 edi (Agar yo'riqnoma sozlamalariga kirsangiz, DCS 7010L qurilmasi ulanganligini ko'rasiz - tamom. ). Kamerani sinab ko'rish vaqti keldi.

Kamera ma'murining veb-interfeysiga o'tish uchun 192.168.1.34 brauzerida ko'rsatilgan IP-manzilni oching. Odatiy bo'lib, parol yo'q.

Ko'rib turganingizdek, kameradan olingan video administrator panelida to'g'ri efirga uzatiladi. Shu bilan birga, davriy silkinish sezilarli. Buni biz WebRTC yordamida tuzatamiz.

Kamerani sozlash

Birinchidan, biz kamera sozlamalarida autentifikatsiyani o'chirib qo'yamiz - sinovning bir qismi sifatida biz so'raganlarning barchasiga oqim beramiz. Buning uchun kamera veb-interfeysidagi sozlamalarga o'ting O'rnatish - Tarmoq va parametr qiymatini o'rnating O'chirish uchun autentifikatsiya.

U erda biz RTSP protokoli portining qiymatini ham tekshiramiz, sukut bo'yicha u 554. O'tkazilayotgan videoning formati foydalanilgan profil bilan belgilanadi. Siz ulardan uchtasini kamerada o'rnatishingiz mumkin, biz birinchisidan foydalanamiz, live1.sdp - sukut bo'yicha u video uchun H.264 va audio uchun G.711 dan foydalanishga sozlangan. Agar kerak bo'lsa, bo'limda sozlamalarni o'zgartirishingiz mumkin O'rnatish - Audio va video.

Endi siz RTSP orqali kameraning ishlashini tekshirishingiz mumkin. VLC Player-ni oching (RTSP - QuickTime, Windows Media Player, RealPlayer va boshqalarni qo'llab-quvvatlaydigan har qanday boshqa pleerdan foydalanishingiz mumkin) va Open URL dialog oynasida kameraning RTSP manzilini o'rnating: rtsp://192.168.1.34/live1.sdp

Xo'sh, hamma narsa kerak bo'lganidek ishlaydi. Kamera muntazam ravishda RTSP protokoli orqali pleerdagi video oqimini takrorlaydi.

Aytgancha, oqim juda silliq va artefaktlarsiz ijro etiladi. Biz WebRTC dan ham xuddi shunday narsani kutamiz.

Serverni o'rnatish

Shunday qilib, kamera o'rnatildi, ish stoli pleyerlari bilan sinovdan o'tkazildi va server orqali translyatsiya qilishga tayyor. whatismyip.com dan foydalanib, biz kameraning tashqi IP manzilini aniqlaymiz. Bizning holatda bu 178.51.142.223 edi. Routerga 554-portda RTSP orqali kirishda kiruvchi so'rovlar IP-kameraga uzatilishini aytishgina qoladi.

Routerga tegishli sozlamalarni kiriting...

... va telnet yordamida tashqi IP-manzil va RTSP portini tekshiring:

Telnet 178.51.142.223 554

Ushbu portda javob borligiga ishonch hosil qilib, biz WebRTC serverini o'rnatishni davom ettiramiz.

Amazon EC2-dagi Centos 64 bitli virtual server xosting uchun javobgar bo'ladi.
Ishlash muammolarini oldini olish uchun biz bitta VCPU bilan m3.medium nusxasini tanladik:

Ha, ha, Linode va DigitalOcean ham bor, lekin bu holda men Amazonni sinab ko'rmoqchi edim.
Oldinga qarab, Amazon EC2 boshqaruv panelida siz bir nechta qoidalarni (oldinga portlar) qo'shishingiz kerakligini yozaman, ularsiz misol ishlamaydi. Bular WebRTC (SRTP, RTCP, ICE) trafigi uchun portlar va RTSP/RTP trafiki uchun portlardir. Agar urinib ko'rsangiz, Amazon qoidalari kiruvchi trafik uchun shunga o'xshash narsaga ega bo'lishi kerak:

Aytgancha, DigitalOcean bilan hamma narsa osonroq bo'ladi, faqat xavfsizlik devorida ushbu portlarni oching yoki ikkinchisini o'chiring. DO misollarini ishlatish bo'yicha so'nggi tajribaga ko'ra, ular hali ham statik IP-manzilni chiqaradilar va NAT-lar bilan bezovta qilmaydilar, ya'ni Amazon misolida bo'lgani kabi portni yo'naltirish kerak emas.

Biz Flashphoner-dan WebRTC Media va Broadcasting Server-dan RTSP/RTP oqimini WebRTC-ga uzatuvchi server dasturi sifatida foydalanamiz. Oqimli server Wowza-ga juda o'xshaydi, u RTSP/RTP oqimini Flash-ga uzata oladi. Yagona farq shundaki, bu oqim Flash-ga emas, balki WebRTC-ga yuboriladi. Bular. halol DTLS brauzer va server o'rtasida o'tadi, SRTP seansi o'rnatiladi va VP8 da kodlangan oqim tomoshabinga o'tadi.

O'rnatish uchun bizga SSH ruxsati kerak bo'ladi.

Spoyler ostida bajarilgan buyruqlarning batafsil tavsifi berilgan

1. Server o'rnatish arxivi yuklab olindi:
$wget flashphoner.com/downloads/builds/WCS/3.0/x8664/wcs3_video_vp8/FlashphonerMediaServerWebRTC-3.0/FlashphonerMediaServerWebRTC-3.0.868.tar.gz
2. Kengaytirilgan:
$tar -xzf FlashphonerMediaServerWebRTC-3.0.868.tar.gz
3. O'rnatilgan:
$cd FlashphonerMediaServerWebRTC-3.0.868
$./install.sh
O'rnatish jarayonida biz serverning tashqi IP manzilini kiritdik: 54.186.112.111 va ichki 172.31.20.65 (Shaxsiy IP bilan bir xil).
4. Server ishga tushirildi:
$service webcallserver ishga tushirildi
5. Jurnallar tekshirildi:
$tail - f /usr/local/FlashphonerWebCallServer/logs/server_logs/flashphoner.log
6. Server ishga tushganiga va ishlashga tayyor ekanligiga ishonch hosil qiling:
$ps aux | grep Flashphoner
7. O'rnatilgan va ishga tushirilgan apache:
$yum o'rnatish httpd
$service httpd start
8. Veb-fayllarni yuklab oling va ularni standart Apache papkasiga /var/www/html joylashtirdi
cd /var/www/html
$wget github.com/flashphoner/flashphoner_client/archive/wcs_media_client.zip
$unzip webrtc_media_client.zip
9. Flashphoner.xml konfiguratsiyasiga serverning IP-manzilini kiritdi:
10. Xavfsizlik devori to'xtatildi.
$service iptables to'xtaydi

Nazariy jihatdan, 10-band o'rniga, barcha kerakli portlar va xavfsizlik devori qoidalarini o'rnatish to'g'ri bo'lar edi, ammo sinov maqsadida biz xavfsizlik devorini o'chirishga qaror qildik.

Serverni sozlash

Eslatib o'tamiz, bizning WebRTC translyatsiyamizning tuzilishi quyidagicha:

Biz ushbu diagrammaning asosiy elementlarini allaqachon o'rnatdik, qolgan narsa o'zaro ta'sirlarning "o'qlarini" o'rnatishdir.

Brauzer va WebRTC serveri o'rtasidagi aloqa Github-da mavjud bo'lgan veb-mijoz tomonidan ta'minlanadi:. JS, CSS va HTML fayllar to'plami oddiygina ichiga tashlanadi /var/www/html o'rnatish bosqichida (spoiler ostidagi yuqoridagi 9-bandga qarang).

Brauzer va server o'rtasidagi o'zaro aloqa flashphoner.xml XML konfiguratsiya faylida sozlangan. U erda veb-mijoz WebRTC serveriga HTML5 Websockets orqali ulanishi uchun serverning IP-manzilini kiritishingiz kerak (yuqoridagi 9-band).

Serverni sozlash shu yerda tugaydi; uning ishlashini tekshirishingiz mumkin:

Brauzerda index.html veb-mijoz sahifasini oching (buning uchun Apache bir xil Amazon serveriga buyruq bilan o'rnatilgan edi. yum -y httpd o'rnating):

54.186.112.111/wcs_media_client/?id=rtsp://webrtc-ipcam.ddns.net/live1.sdp

Bu yerga webrtc-ipcam.ddns.net bu bizning tashqi IP-manzilimizga bog'langan noip.com dinamik DNS serveri orqali olingan bepul domendir. Biz marshrutizatorga NAT tarmoq manzilini tarjima qilish qoidalariga muvofiq RTSP so'rovlarini 192.168.1.34 ga yo'naltirishni aytdik (yuqoriga qarang).
Parametr id=rtsp://webrtc-ipcam.ddns.net/live1.sdp ijro etish uchun oqim URL manzilini belgilaydi. WebRTC serveri kameradan oqimlarni talab qiladi, ularni qayta ishlaydi va WebRTC orqali ijro etish uchun brauzerga yuboradi. Ehtimol, yo'riqnoma DDNS-ni qo'llab-quvvatlaydi. Agar yo'q bo'lsa, IP kameraning o'zi shunday yordamga ega:

Routerning o'zida DDNS qo'llab-quvvatlashi shunday ko'rinadi:

Endi siz sinovni boshlashingiz va natijalarni baholashingiz mumkin.

Sinov

Brauzerda havolani ochgandan so'ng, WebRTC serveriga ulanish amalga oshiriladi, u IP-kameraga video oqimini olish uchun so'rov yuboradi. Butun jarayon bir necha soniya davom etadi.

Bu vaqtda brauzer va server o'rtasida veb-rozetkalar orqali ulanish o'rnatiladi, so'ngra server RTSP orqali IP kamerani so'raydi, RTP orqali H.264 oqimini oladi va uni VP8 / SRTP ga transkod qiladi - bu oxir-oqibat WebRTC brauzerini o'ynaydi.

Videoning pastki qismida video oqimining URL manzili ko'rsatiladi, uni nusxalash va boshqa brauzer yoki yorliqdan ko'rish uchun ochish mumkin.

Biz bu haqiqatan ham WebRTC ekanligiga ishonch hosil qilamiz.

Agar biz aldangan bo'lsak va IP-kameradagi video yana HTTP orqali uzatilsa-chi? Keling, rasmga qarab turmaylik, lekin aslida qanday trafikni qabul qilishimizni tekshirib ko'raylik. Albatta, biz yana Chrome brauzerida Wireshark va disk raskadrovka konsolini ishga tushiramiz. Chrome brauzer konsolida biz quyidagilarni ko'rishimiz mumkin:

Bu safar hech narsa miltillamaydi va HTTP orqali uzatiladigan tasvirlar ko'rinmaydi. Bu safar biz ko'rib turganimiz faqat Websocket ramkalari va ularning aksariyati Websocket seansini saqlash uchun ping/pong turlari. Qiziqarli kadrlar: ulanish, tayyorlashRtspSession va onReadyToPlay - bu serverga ulanishni o'rnatish tartibi: birinchi navbatda Websocket ulanishi, keyin esa ijro etish uchun oqim so'rovi.

Bu nimani ko'rsatadi chrome://webrtc-internals

Grafiklarga ko'ra, bizda IP-kameradan 1Mbps bit tezligi mavjud. Bundan tashqari, chiquvchi trafik mavjud, ehtimol bu RTCP va ICE paketlari. Amazon serveriga RTT taxminan 300 millisekundni tashkil qiladi.

Endi Wireshark-ga qaraylik, siz serverning IP-manzilidan UDP trafigini aniq ko'rishingiz mumkin. Quyidagi rasmda paketlar 1468 baytdan iborat. Bu WebRTC. Aniqrog'i, biz brauzer ekranida kuzatishimiz mumkin bo'lgan VP8 video ramkalarini o'z ichiga olgan SRTP paketlari. Bundan tashqari, STUN so'rovlari o'tib ketadi (rasmdagi eng past paket) - bu WebRTC ICE ulanishni diqqat bilan tekshiradi.

Bundan tashqari, videoni ijro etish uchun nisbatan past kechikish (ma'lumotlar markaziga ping taxminan 250 ms edi) e'tiborga loyiqdir. WebRTC SRTP/UDP orqali ishlaydi va bu HTTP, RTMP va boshqa TCP-ga o'xshash oqim usullaridan farqli o'laroq, paketlarni yetkazib berishning eng tezkor usuli. Bular. Ko'zga ko'rinadigan kechikish RTT + brauzer tomonidan buferlash, dekodlash va ijro etish vaqti bo'lishi kerak. Vizual ravishda, bu holatda - ko'z deyarli kechikishni ko'rmaydi, u 500 millisekunddan kam.

Keyingi sinov boshqa tomoshabinlarni ulashdir. Men 10 ta Chrome oynasini ochishga muvaffaq bo'ldim va ularning har biri rasmni ko'rsatdi. Shu bilan birga, Chrome o'zi ham biroz zerikarli bo'la boshladi. Boshqa kompyuterda 11-oynani ochganda, ijro etish silliq bo'lib qoldi.

Mobil qurilmalarda WebRTC haqida

Ma'lumki, WebRTC Android platformasidagi Chrome va Firefox brauzerlari tomonidan qo'llab-quvvatlanadi.
Keling, bizning translyatsiyamiz u erda ko'rsatiladimi yoki yo'qligini tekshiramiz:

Rasmda HTC telefoni ko'rsatilgan; Firefox brauzeri kameradan videoni ko'rsatadi. Ish stolidan tinglash silliqligida hech qanday farq yo'q.

Xulosa

Natijada, biz minimal harakat bilan IP-kameradan bir nechta brauzerlarga WebRTC onlayn translyatsiyasini ishga tushirishga muvaffaq bo'ldik. Daf yoki raketa bilan raqsga tushish shart emas edi - faqat Linux va SSH konsoli haqida asosiy bilim.

Eshittirish sifati maqbul darajada edi va ijro etishning kechikishi ko'zga ko'rinmas edi.

Xulosa qilib aytishimiz mumkinki, brauzerga asoslangan WebRTC eshittirishlari mavjud bo'lish huquqiga ega, chunki bizning holatlarimizda WebRTC endi qo'ltiq yoki plagin emas, balki brauzerda video o'ynash uchun haqiqiy platformadir.

Nega biz WebRTC ning keng qo'llanilishini ko'rmayapmiz?

Asosiy to'siq, ehtimol kodeklarning etishmasligi. WebRTC hamjamiyati va sotuvchilari harakat qilishlari va H.264 kodekini WebRTC-ga kiritishlari kerak. VP8 ga qarshi aytadigan hech narsa yo'q, lekin nima uchun H.264 bilan ishlaydigan millionlab mos keluvchi qurilmalar va dasturlardan voz kechish kerak? Patentlar, bunday patentlar...

Ikkinchi o'rinda brauzerlarda to'liq qo'llab-quvvatlanmaydi. Masalan, IE va Safari bilan savol ochiq qoladi va u erda siz boshqa oqim turiga o'tishingiz yoki webrtc4all kabi plagindan foydalanishingiz kerak bo'ladi.

Shunday qilib, kelajakda transkodlash va oqimlarni o'zgartirish kerak bo'lmaydigan va ko'pchilik brauzerlar turli qurilmalardan oqimlarni to'g'ridan-to'g'ri o'ynay oladigan yanada qiziqarli echimlarni ko'rishga umid qilamiz.