Internet Windows Android
Kengaytirish

Rtsp orqali IP kameralarni ko'ring. RTSP video kuzatuvi




Ba'zi ma'lumotlarga ko'ra, bugungi kunga qadar dunyo o'rnatildi yuzlab millionlar Video kuzatuv uchun IP kameralar. Biroq, ularning barchasidan uzoqda, videoni ijro etishdagi kechikish juda muhim. Videokuzatuv, qoida tariqasida, "statik" sodir bo'ladi - oqim saqlashda qayd etiladi va harakatlanish uchun tahlil qilinishi mumkin. Videokuzatuv uchun o'z vazifalarini yaxshi bajaradigan ko'plab dasturiy ta'minot va apparat echimlari ishlab chiqilgan.

Ushbu maqolada biz biroz boshqacha dasturni ko'rib chiqamiz. IP kameralar, ya'ni kerak bo'lganda onlayn eshittirishlarda foydalanish kam aloqa kechikishi.

Avvalo, veb-kameralar va IP kameralar haqidagi terminologiyada yuzaga kelishi mumkin bo'lgan tushunmovchilikni aniqlaylik.

Veb kamera o'z protsessoriga va tarmoq interfeysiga ega bo'lmagan video tasvirga olish qurilmasi. Veb-kamera kompyuter, smartfon yoki tarmoq kartasi va protsessorga ega boshqa qurilmaga ulanishni talab qiladi.


IP kamera olingan videoni siqish va tarmoqqa yuborish uchun o'z tarmoq kartasi va protsessoriga ega bo'lgan mustaqil qurilma. Shunday qilib, IP-kamera tarmoqqa to'liq ulanadigan va boshqa qurilmaga ulanishi shart bo'lmagan va tarmoqqa to'g'ridan-to'g'ri efirga uzatilishi mumkin bo'lgan mustaqil mini-kompyuterdir.

Kam kechikish(past kechikish) IP kameralar va onlayn eshittirishlar uchun juda kam uchraydigan talab. Kam kechikish bilan ishlash zarurati, masalan, video oqimining manbai ushbu oqim tomoshabinlari bilan faol aloqada bo'lsa paydo bo'ladi.


Ko'pincha, o'yindan foydalanish holatlarida past kechikish kerak bo'ladi. Misollar: real vaqt rejimidagi video auksion, jonli dilerlik video kazino, uy egasi bilan interaktiv onlayn teleko'rsatuv, kvadrokopterni masofadan boshqarish va boshqalar.


Ish joyida jonli onlayn kazino dileri.

Oddiy RTSP IP kamerasi, qoida tariqasida, videoni bosadi H.264 kodek va ma'lumotlarni uzatishning ikkita rejimida ishlashi mumkin: aralashtiriladi Va aralashtirilmagan.

Rejim aralashtiriladi eng mashhur va qulay, chunki ushbu rejimda video ma'lumotlar kameraga tarmoq ulanishi doirasida TCP protokoli orqali uzatiladi. IP-kameradan interleavedga tarqatish uchun siz kameraning bitta RTSP portini (masalan, 554) tashqi tomonga ochishingiz / yo'naltirishingiz kerak. Pleyer faqat TCP orqali kameraga ulanishi va ushbu ulanish ichidagi oqimni olishi kerak.


Kameraning ikkinchi ish rejimi aralashtirilmagan. Bunday holda, ulanish protokol yordamida o'rnatiladi RTSP/TCP, va protokolga ko'ra, trafik allaqachon alohida ketadi RTP/UDP yaratilgan TCP kanalidan tashqarida.


Rejim aralashtirilmagan minimal kechikish bilan videoni translyatsiya qilish uchun qulayroqdir, chunki u protokoldan foydalanadi RTP/UDP, lekin ayni paytda o'yinchi orqada joylashgan bo'lsa, muammoliroq NAT.


Pleyerning NAT orqasida joylashgan IP kamerasiga ulanganda, pleer audio va video trafigini qabul qilish uchun qaysi tashqi IP manzillari va portlaridan foydalanishi mumkinligini bilishi kerak. Ushbu portlar RTSP ulanishi o'rnatilganda kameraga yuboriladigan matn SDP konfiguratsiyasida ko'rsatilgan. Agar NAT to'g'ri ochilgan bo'lsa va to'g'ri IP-manzillar va portlar aniqlangan bo'lsa, unda hamma narsa ishlaydi.

Shunday qilib, kameradan videoni minimal kechikish bilan olish uchun siz foydalanishingiz kerak aralashmaslik rejimi va UDP orqali video trafikni qabul qiling.

Brauzerlar to'g'ridan-to'g'ri RTSP/UDP protokol stekini qo'llab-quvvatlamaydi, lekin o'rnatilgan texnologiya protokoli stekini qo'llab-quvvatlaydi. WebRTC.


Brauzer va kamera texnologiyalari, xususan, juda o'xshash SRTP u shifrlangan RTP. Ammo brauzerlarga to'g'ri tarqatish uchun IP-kamera WebRTC to'plami uchun qisman yordamga muhtoj bo'ladi.

Ushbu nomuvofiqlikni bartaraf etish uchun IP-kamera protokollari va brauzer protokollari o'rtasida ko'prik bo'ladigan oraliq o'rni serveri talab qilinadi.


Server IP kameradan oqimni o'ziga oladi RTP/UDP va WebRTC orqali ulangan brauzerlarga beradi.

WebRTC texnologiyasi protokolga muvofiq ishlaydi UDP va shu bilan yo'nalishda past kechikishni ta'minlaydi Server > Brauzer. IP kamera ham protokolda ishlaydi RTP/UDP va yo'nalishda past kechikishni ta'minlaydi Kamera > Server.

Kamera cheklangan manbalar va tarmoqli kengligi tufayli cheklangan miqdordagi oqimlarni berishi mumkin. Oraliq serverdan foydalanish sizga IP-kameradan ko'p sonli tomoshabinlargacha bo'lgan translyatsiyani kengaytirish imkonini beradi.

Boshqa tomondan, serverdan foydalanganda ikkita aloqa oyoqlari yoqiladi:
1) Tomoshabinlar va server o'rtasida
2) Server va kamera o'rtasida
Bunday topologiyaning bir qator "xususiyatlari" yoki "tuzoqlari" mavjud. Biz ularni quyida sanab o'tamiz.

№1 tuzoq - kodeklar

Amaldagi kodeklar past kechikish uchun to'siq bo'lishi va umumiy tizim ish faoliyatini yomonlashishiga olib kelishi mumkin.

Misol uchun, agar kamera H.264-da 720p video oqimini bersa va Chrome brauzeri faqat VP8-ni qo'llab-quvvatlaydigan Android smartfoniga ulangan bo'lsa.


Transkodlash yoqilganda, ulangan IP kameralarning har biri uchun kodni dekodlash seansi yaratilishi kerak. H.264 va kodlaydi VP8. Bunday holda, 16 yadroli ikki protsessorli server faqat 10-15 IP-kameraga xizmat ko'rsatishi mumkin, bunda har bir jismoniy yadro uchun taxminan 1 kamera.

Shuning uchun, agar server imkoniyatlari rejalashtirilgan kameralar sonini transkodlashga imkon bermasa, transkodlashdan qochish kerak. Masalan, faqat H.264-ni qo'llab-quvvatlaydigan brauzerlarga xizmat ko'rsating va qolganlarini H.264 kodek qo'llab-quvvatlanadigan iOS yoki Android uchun mahalliy mobil ilovadan foydalanishni taklif qiling.


Mobil brauzerda transkodlashni chetlab o'tish varianti sifatida siz foydalanishingiz mumkin HLS. Ammo HTTP oqimlari past kechikish emas va hozirda interaktiv oqim uchun foydalanilmaydi.

Pitfall №2 - Kamera bit tezligi va yo'qolishi

UDP protokoli kechikish bilan kurashishga yordam beradi, lekin video paketlarni yo'qotishga imkon beradi. Shuning uchun, past kechikishga qaramay, kamera va server o'rtasida katta tarmoq yo'qotishlari bilan rasm buzilgan bo'lishi mumkin.


Yo'qotishlarni bartaraf etish uchun siz kamera tomonidan yaratilgan video oqimi kamera va server o'rtasida ajratilgan tarmoqli kengligiga mos keladigan bit tezligiga ega ekanligiga ishonch hosil qilishingiz kerak.

Pitfall №3 - Tomoshabinning bit tezligi va yo'qolishi

Serverga ulangan har bir eshittirish ko'ruvchisi ham ma'lum bir yuklab olish o'tkazish qobiliyatiga ega.

Agar IP kamera tomoshabin kanalining imkoniyatlaridan oshib ketadigan oqim yuborsa (masalan, kamera 1 Mbit/s, va tomoshabin faqat qabul qilishi mumkin 500 kbps), keyin bu kanalda katta yo'qotishlar va natijada video frizlar yoki kuchli artefaktlar bo'ladi.


Bunday holda, uchta variant mavjud:
  1. Video oqimini kerakli bit tezligida har bir tomoshabin uchun alohida-alohida transkod qiling.
  2. Transkod oqimlarni har bir ulangan uchun emas, balki bir guruh tomoshabinlar uchun.
  3. Kameradan oqimlarni bir nechta ruxsat va bit tezligida oldindan tayyorlang.
Birinchi variant har bir tomoshabin uchun transkodlash mos kelmaydi, chunki u 10-15 ulangan tomoshabin bilan protsessor resurslarini ishlatadi. Shuni ta'kidlash kerakki, ushbu parametr maksimal CPU yuki bilan maksimal moslashuvchanlikni ta'minlaydi. Bular. bu ideal, masalan, agar siz faqat 10 ta geografik taqsimlangan odamga translatsiya qilsangiz, ularning har biri dinamik bit tezligini oladi va ularning har biri minimal kechikishga muhtoj.


Ikkinchi variant transkodlash guruhlari yordamida server protsessoriga yukni kamaytirishdir. Server bit tezligi bo'yicha bir nechta guruhlarni yaratadi, masalan, ikkita:
  • 200 Kbit/s
  • 1 Mbit/s
Agar tomoshabinning o'tkazish qobiliyati etarli bo'lmasa, u video oqimini qulay qabul qiladigan guruhga o'tadi. Shunday qilib, transkodlash seanslari soni birinchi holatda bo'lgani kabi tomoshabinlar soniga teng emas, lekin belgilangan raqam, masalan, 2, agar transkodlash guruhlari bo'lsa. ikki.


Uchinchi variant server tomonida transkodlashni to'liq rad etishni va turli ruxsatlarda va bit tezligida allaqachon tayyorlangan video oqimlardan foydalanishni o'z ichiga oladi. Bunday holda, kamera turli ruxsat va bit tezligiga ega bo'lgan ikki yoki uchta oqimni chiqarish uchun tuzilgan va tomoshabinlar o'tkazish qobiliyatiga qarab bu oqimlarni almashtiradilar.

Bunday holda, serverdagi transkod yuki ketadi va kameraning o'ziga o'tadi, chunki kamera endi bitta o‘rniga ikki yoki undan ortiq oqimni kodlashga majbur.


Natijada, biz tomoshabinlarning tarmoqli kengligiga moslashishning uchta variantini ko'rib chiqdik. Agar bitta transkodlash seansi 1 server yadrosini oladi deb faraz qilsak, biz CPU yukining quyidagi jadvalini olamiz:

Jadval shuni ko'rsatadiki, biz transkod yukini kameraga o'tkazishimiz yoki transkodlashni serverga o'tkazishimiz mumkin. 2 va 3 variantlari eng maqbul ko'rinadi.

RTSP WebRTC sifatida sinovdan o'tkazilmoqda

Nima bo'layotganining haqiqiy rasmini ochish uchun ba'zi sinovlarni o'tkazish vaqti keldi. Keling, haqiqiy IP kamerani olib, uni translyatsiya kechikishini o'lchash uchun sinab ko'raylik.

Sinov uchun qadimiy IP kamerani olaylik D-link DCS-2103 qo'llab-quvvatlash bilan RTSP va kodeklar H.264 va G.711.


Kamera boshqa foydali qurilmalar va simlar bilan shkafda uzoq vaqt yotganligi sababli, men uni yuborishim kerak edi qayta o'rnatish kameraning orqa tarafidagi tugmani 10 soniya bosib ushlab turish orqali.

Tarmoqqa ulangandan so'ng, kameradagi yashil chiroq yondi va yo'riqnoma mahalliy tarmoqdagi 192.168.1.37 IP manzilli boshqa qurilmani ko'rdi.

Biz kameraning veb-interfeysiga o'tamiz va sinov uchun kodek va piksellar sonini o'rnatamiz:


Keyin tarmoq sozlamalariga o'ting va kameraning RTSP manzilini bilib oling. Bunday holda, RTSP manzili live1.sdp, ya'ni. Kamera quyidagi manzilda mavjud rtsp://192.168.1.37/live1.sdp


Kameradan foydalanish imkoniyatini osongina tekshirish mumkin VLC o'yinchisi. Media - Tarmoq oqimini oching.



Biz kameraning ishlashiga va RTSP orqali video berishiga ishonch hosil qildik.

Sinov uchun server sifatida Web Call Server 5 dan foydalanamiz. Bu qo'llab-quvvatlanadigan oqim serveridir RTSP va WebRTC protokollar. U orqali IP kameraga ulanadi RTSP va video oqimini oling. Oqimni yanada tarqating WebRTC.

O'rnatishdan so'ng serverni RTSP rejimiga o'tkazishingiz kerak aralashtirilmagan biz yuqorida muhokama qilganmiz. Buni sozlashni qo'shish orqali amalga oshirish mumkin

rtsp_interleaved_mode=false
Ushbu sozlama flashphoner.properties konfiguratsiyasiga qo'shilgan va serverni qayta ishga tushirishni talab qiladi:

Xizmat veb-qo'ng'iroqlar serverini qayta ishga tushirish
Shunday qilib, bizda interleaved bo'lmagan sxema bo'yicha ishlaydigan, paketlarni IP kameradan UDP orqali qabul qiladigan va keyin WebRTC (UDP) orqali tarqatadigan server mavjud.


Sinov serveri Frankfurt ma'lumotlar markazida joylashgan VPS serverida joylashgan bo'lib, 2 yadro va 2 gigabayt operativ xotiraga ega.

Kamera mahalliy tarmoqda 192.168.1.37 da joylashgan.

Shuning uchun, biz qilishimiz kerak bo'lgan birinchi narsa - kirish uchun 554 portini 192.168.1.37 ga yo'naltirish. TCP/RTSP server bizning IP kameramizga ulanishi uchun ulanishlar. Buning uchun yo'riqnoma sozlamalarida faqat bitta qoida qo'shing:


Qoida marshrutizatorga 554-portdagi barcha kiruvchi trafikni 37-IP manziliga yo'naltirishni aytadi.

Agar sizda do'stona NAT bo'lsa va siz tashqi IP-manzilni bilsangiz, server bilan sinovni boshlashingiz mumkin.

Google Chrome brauzeridagi standart demo pleer quyidagicha ko'rinadi:


RTSP oqimini o'ynashni boshlash uchun maydonga uning manzilini kiritish kifoya Oqim.
Bunday holda, oqim manzili: rtsp://ip-cam/live1.sdp
Bu yerga IP kamera bu kamerangizning tashqi IP manzili. Server ushbu manzilga ulanishga harakat qiladi.

VLC va WebRTC kechikish sinovi

Biz IP kamerani sozlaganimizdan va sinovdan o'tganimizdan so'ng VLC, serverni o'rnating va sinovdan o'tkazildi RTSP tomonidan tarqatish bilan server orqali oqadi WebRTC, biz nihoyat kechikishlarni solishtirishimiz mumkin.

Buning uchun biz monitor ekranida soniyaning kasrlarini ko'rsatadigan taymerdan foydalanamiz. Taymerni yoqing va bir vaqtning o'zida video oqimini yoqing Mahalliy VLC va Firefox brauzerida masofaviy server orqali.

Serverga ping 100ms.
Mahalliy ping 1ms.


Birinchi taymer testi quyidagicha ko'rinadi:
Qora fonda asl taymer mavjud bo'lib, u nol kechikishni ko'rsatadi. Chapga VLC, o'ngda Firefox qabul qilish WebRTC masofaviy serverdan oqim.
Nol VLC Firefox, WCS
Vaqt 50.559 49.791 50.238
kechikish ms 0 768 321
Ushbu testda biz kechikishni ko'ramiz VLC kechikishdan ikki baravar ko'p Firefox + veb-qo'ng'iroqlar serveri, VLC-dagi video mahalliy tarmoqda o'ynatilishiga qaramay, Firefox-da ko'rsatiladigan video Germaniyadagi ma'lumotlar markazidagi serverdan o'tib, qaytib keladi. Ushbu nomuvofiqlik VLC ning TCP (interleaved rejimi) orqali ishlashi va videoni silliq ijro etish uchun ba'zi qo'shimcha buferlarni o'z ichiga olganligi bilan bog'liq bo'lishi mumkin.

Biz kechikish qiymatlarini olish uchun bir nechta suratga oldik.

RTSP (Real Time Streaming Protocol) video oqimini boshqarish uchun oddiy asosiy buyruqlar to'plamini o'z ichiga olgan real vaqtda oqim protokoli.

Video konferentsiyada RTSP manbalari va IP kameralarni ulash

RTSP protokoli har qanday TrueConf foydalanuvchisiga masofaviy ob'ektlarni kuzatish uchun ushbu protokol yordamida IP-video kameralar va boshqa media kontent manbalariga ulanish imkonini beradi. Shuningdek, foydalanuvchi videokonferensiya vaqtida tasvirlarni translyatsiya qilish uchun bunday kameralarga ulanishi mumkin.

RTSP protokolining qo'llab-quvvatlanishi tufayli TrueConf Server foydalanuvchilari nafaqat IP-kameralarga ulanishi, balki RTSP pleerlari va media serverlariga video konferentsiyalarni translyatsiya qilishlari mumkin. RTSP eshittirishlari haqida ko'proq o'qing.

TrueConf dasturiy yechimlari bilan IP kameralardan foydalanishning afzalliklari

  • IP-kamerani ofis yoki sanoat ustaxonasiga o'rnatish va unga istalgan qulay vaqtda ulanish orqali siz kompaniyangizning ishlab chiqarish jarayonini kuzatishingiz mumkin.
  • Masofaviy ob'ektlarning kechayu kunduz monitoringini o'tkazishingiz mumkin. Misol uchun, agar siz ta'tilga ketayotgan bo'lsangiz va kvartirangizni qarovsiz qoldirishni xohlamasangiz, u erda bir yoki bir nechta IP kameralarni o'rnatish kifoya. TrueConf mijoz ilovasi oʻrnatilgan shaxsiy kompyuteringizdan ushbu kameralardan biriga qoʻngʻiroq qilish orqali siz xohlagan vaqtda kvartirangizga ulanishingiz va u yerda real vaqtda nima sodir boʻlayotganini koʻrishingiz mumkin.
  • Windows, Linux va macOS uchun TrueConf mijoz ilovalari barcha foydalanuvchilarga videokonferensiyalarni yozib olish imkoniyatini beradi, buning yordamida siz videokuzatuv paytida har qanday hodisalarni yozib olishingiz va ularning hujjatli dalillarini olishingiz mumkin.

Video eshittirishlarni qulay ko'rish yoki shaxsiy kompyuteringizdagi multimedia pleyerlari dasturiy ta'minoti yordamida sozlanishi mumkin. Bugun biz eng mashhur VLC Media Player-dan birida Dahua Technology tarmoq uskunalari uchun RTSP oqimini qanday o'rnatishni ko'rib chiqamiz.

RTSP (Real Time Streaming Protocol - real vaqtda oqim protokoli) foydalanuvchiga giperhavola va multimedia pleer (bizning holimizda VLC Media Player) yordamida multimedia ma'lumotlar oqimini (audio va video) masofadan o'ynash imkonini beruvchi protokoldir.

Agar siz video oqimini sozlashingiz kerak bo'lsa, quyidagi amallarni bajaring:




  1. Avvalo, rasmiy veb-saytda bepul mavjud bo'lgan VLC Media Player-ni yuklab olishingiz va o'rnatishingiz kerak.
  2. Menyu bandini bosing Media (Media) - Tarmoq oqimini ochish (Ochiq URL).
  3. So'rov satriga RTSP tarmoq manzilini kiriting.
  4. Ekranda video tasvir paydo bo'lganda ijro etish tugmasini bosing.

Havola shifrini ochish RTSP

Misol:

rtsp:// :@:/cam/realmonitor?channel= &pastki turi=

Qaerda:

: Foydalanuvchi nomi (kirish).

: parol.

: tarmoq kamerasining IP manzili.

: Port 554 sukut boʻyicha oʻrnatiladi. Bu qiymatni eʼtiborsiz qoldirib boʻlmaydi.

: kanal raqami. Raqamlash 1 dan boshlanadi.

: oqim turi. Ma'nosi Asosiy ip 0, Ikkilamchi ip 1 1, Ikkilamchi ip 2 2. Masalan, 1-sonli ikkilamchi ip uchun havola:

rtsp://admin: [elektron pochta himoyalangan]:554/cam/realmonitor?channel=1&subtype=1

Dahua Technology IP video kameralari TCP va UDP ma'lumotlar uzatish protokollarini qo'llab-quvvatlaydi. Agar 554-port o'zgartirilgan bo'lsa, uni kamera sozlamalarining (veb-interfeysi) mos keladigan maydonida o'zgartiring.


Agar RTSP oqimini o'rnatish bilan bog'liq muammolarga duch kelsangiz, tegishli bo'limga murojaat qiling.