- Припрема ДВР-а за РТСП стреаминг
- Припрема вашег Распберри Пи
- Инсталирање ОпенЦВ-а и других библиотека на Распберри Пи
- Програмирање Распберри Пи за стреаминг РТСП видеа са ЦЦТВ-а
- Тестирање Распберри Пи ЦЦТВ приказивача
На већини радних места и комерцијалних зграда данас је инсталиран систем ЦЦТВ надзора који надгледа активности. Али често је тешко дотичним властима или безбедносним особама да непрекидно надгледају пренос уживо свих камера у потрази за сумњивим активностима. Како рачунарски вид и машинско учење напредују у брзој фази, крајње је време да наше ЦЦТВ системе учинимо паметнијима. У овом чланку ћемо размотрити како добити видео феед са постојећег ДВР-а (попут Хиквисион ДВР-а) путем РТСП стриминга са Распберри пи користећи Питхон и ОпенЦВ. Једном када ово добијемо, моћи ћемо да искористимо снагу ОпенЦВ-а на овим видео фидовима за откривање одређеног објекта, читање таблице са бројем возила, препознавање лица и шта још не!
Зарад овог упутства, користићу Хиквисион 4-канални ЦЦТВ ДВР који је већ инсталиран у згради. Преусмерићемо сва 4 екрана камере на Распберри и приказати га на 5-инчном екрану осетљивом на додир где корисник може да се пребацује између сваког канала по потреби. То не знам много, с обзиром на снагу ОпенЦВ-а, и имам планове да га повећам откривањем покрета, видео упозорењем о буглер-у, праћењем људи итд., Али оставимо све то за други водич.
Припрема ДВР-а за РТСП стреаминг
Пре него што заронимо у Распберри Пи хардвер и питхон код, важно је проверити да ли ДВР подржава РТСП и како му приступити. Већину свог времена провео сам заглављен овде, јер се чини да се поступак разликује за сваку врсту ДВР-а, а морате урадити и пуно погодака и покушати. Али кад једном схватите, то сваки пут делује као шарм.
Прво, прво проверите да ли знате корисничко име и лозинку за свој ДВР систем и да ли је повезан на Интернет. Такође у овом упутству, РТСП ћу преносити само са локалне мреже, ако имате статичну ИП адресу, можете да проследите портове и следите исту за друге мреже. Што се тиче овог водича, радићемо све унутар локалне мреже.
Корак 1: Пронађите ИП адресу вашег ДВР-а. Једном када се ДВР повеже са Интернетом, додијелиће му се његова властита ИП адреса. Ову ИП адресу можете пронаћи на страници са конфигурацијом рутера или на самом ДВР екрану (под претпоставком да имате монитор повезан са ДВР-ом). ИП адреса мог рутера је била хттп://192.168.11.110/ (промењена из безбедносних разлога)
Корак 2: Отворите било који веб прегледач по вашем избору и унесите ИП адресу и притисните Ентер. Бићете преусмерени на страницу за пријаву ДВР-а. Тамо где морате да унесете корисничко име (моје је промењено) и лозинку за ваш ДВР. Подразумевано корисничко име биће админ, али лозинка коју морате знати. Мој екран за пријаву за ДВР је приказан испод, ваш изглед се може разликовати.
Корак 3: Након успешне пријаве, потражите број прикључка РТСП на свом ДВР-у, најчешће ће подразумевана вредност бити 554, али ће се можда променити. Док сте овде, играјте се са подешавањима конфигурације да бисте проверили да ли постоји опција за омогућавање РТСП-а, ако не, можете је прескочити. Овде морате провести неко време јер се поступак разликује од ДВР-а.
Корак 4: Припремите свој РТСП линк, основни РТСП линк ће бити у следећем формату -
ртсп: //
Опет, то зависи од врсте ДВР-а, помоћу гоогле-а можете пронаћи онај који ће вам одговарати. Онај за који је радио имао је формат испод, можете и покушати са овим-
ртсп: //
Где
ртсп: // админ: пас[email protected]: 554 / Стреаминг / Канали / 202 /
Корак 5: Репродукујте стрим на ВЛЦ-у да бисте били сигурни да ваша РТСП веза ради. Инсталирајте ВЛЦ на рачунар који је повезан на исту мрежу као и ДВР, покрените га и притисните Цтрл + Н за мрежно стримовање. Унесите УРЛ како је приказано доле и притисните тастер у реду.
Ако веза РТСП ради како треба, требало би да видите пренос уживо свог ЦЦТВ-а на ВЛЦ плејеру, као што је приказано доле. Ако избаци грешку, онда морате да откријете тачну везу.
Када ово завршимо, више не морамо да разговарамо о нашем ДВР-у који омогућава да наставимо са нашим Распберри пи.
Припрема вашег Распберри Пи
Даље, треба да подесимо наш малина пи са 5-инчним дисплејем. Нећу улазити у детаље тога, јер смо то већ обрађивали много пута. Следеће чланке можете прочитати као смернице-
- Први кораци са Распберри Пи
- Повезивање 5-инчног екрана са Распберри Пи
Користимо Распберри Пи 3 Б + са оперативним системом Дебиан Бустер. Такође би могла бити добра идеја да користите Пи 4 ако можете, а такође додајте и неке опције хлађења попут хладњака или вентилатора, јер сам приметио да температура достиже скоро 70 * Ц. До сада нисам следио ниједан поступак хлађења, а моја поставка изгледа овако-
Инсталирање ОпенЦВ-а и других библиотека на Распберри Пи
Следећи корак је инсталирање ОпенЦВ-а на Распберри Пи. Претходно смо разговарали о томе како компајлирати ОпенЦВ на Распберри пи.
- Инсталирање ОпенЦВ-а на Распберри Пи
- Први кораци са ОпенЦВ-ом
Можете пратити горњу везу и компајлирати ОпенЦВ помоћу Цмаке-а или га једноставно инсталирати методом апт-гет. Препоручио бих касније, ако се не бавите врло озбиљним ОпенЦВ програмирањем. Следеће команде сам користио за инсталирање ОпенЦВ-а.
судо апт упдате судо апт инсталл питхон3-опенцв
У нашем програму ћемо такође користити библиотеку „цвуи“ за стварање основног корисничког интерфејса са два дугмета која нам омогућавају навигацију између четири екрана. Да бисте инсталирали цвуи, следите наредбу испод.
Питхон3 пип инсталира цвуи
Са инсталирана оба пакета можемо ући у главни програм. Уверите се да оба инсталирана пакета раде, покушавајући да их увезете са командног терминала Пи.
Програмирање Распберри Пи за стреаминг РТСП видеа са ЦЦТВ-а
Комплетни програм за овај пројекат налази се на крају ове странице. Објашњење истог је следеће. Програм започињемо укључивањем потребних датотека заглавља.
увоз цв2 увоз цвуи
Следећи део програма захтева измену. Морате да унесете корисничко име и лозинку свог ДВР-а. За екран од 5 инча, ширина и висина су 800, односно 480, па смо унели исто.
ртсп_усернаме = "админ" ртсп_пассворд = "асвинтх347653" видтх = 800 хеигхт = 480 цам_но = 1
Настављајући даље, имамо функцију која се зове стварање камере која ће се користити сваки пут када променимо број камере који се мора прегледати.
деф цреате_цамера (цханнел): ртсп = "ртсп: //" + ртсп_усернаме + ":" + ртсп_пассворд + "@ 192.168.29.100: 554 / Стреаминг / цханнелс /" + цханнел + "02" цап = цв2.ВидеоЦаптуре () цап.опен (ртсп) цап.сет (3, 640) # ИД број за ширину је 3 цап.сет (4, 480) # ИД број за висину је 480 цап.сет (10, 100) # ИД број за осветљеност је 10кк повратна капа
Унутар главне вхиле петље имамо наш програм за читање оквира са уређаја за хватање и претварање у пуни екран. Прозор за приказ у нашем програму назваће се екраном.
суццесс, цуррент_цам = цам.реад () дим = (ширина, висина) Фулл_фраме = цв2.ресизе (цуррент_цам, дим, интерполатион = цв2.ИНТЕР_АРЕА) цв2.намедВиндов ('сцреен', цв2.ВИНДОВ_НОРМАЛ) цв2.сетВиндовПроперти ('сцреен ', цв2.ВНД_ПРОП_ФУЛЛСЦРЕЕН, цв2.ВИНДОВ_ФУЛЛСЦРЕЕН)
Након тога имамо код за два дугмета која ће бити постављена на екран. Наредба цвуи.буттон се користи за постављање дугмета на жељено мјесто, а наредба цвуи.моусе за откривање клика миша. Имамо два ако изјаве за два тастера ако се кликне на дугме, одговарајући да ће бити извршена саопштењу.
иф (цвуи.буттон (Фулл_фраме, ширина - 100, висина - 40, "Следеће") и цвуи.моусе (цвуи.ЦЛИЦК)): принт ("Притиснуто следеће дугме") цвуи.инит ('сцреен') цам_но = цам_но +1 ако (цам_но> 4): цам_но = 1 дел цам цам = цреате_цамера (стр (цам_но)) иф (цвуи.буттон (Фулл_фраме, ширина - 200, висина - 40, "Претходно") и цвуи.моусе (цвуи. КЛИК)): принт ("Притиснуто претходно дугме") цвуи.инит ('сцреен') цам_но = цам_но - 1 иф (цам_но <1): цам_но = 4 дел цам цам = цреате_цамера (стр (цам_но))
Унутар иф наредбе, на основу дугмета, повећавамо или смањујемо број цам_но, а затим бришемо постојећу камеру и креирамо нову камеру помоћу функције о којој смо горе расправљали. Такође имајте на уму да цвуи.инит мора да позове сваки пут да освежи екран корисничког интерфејса.
Завршни део кода је приказ оквира као излаза и за излазак из излазног екрана када се притисне к. Само чекамо притисак на тастер и ако је тастер „к“, уништићемо све прозоре.
цв2.имсхов ('сцреен', Фулл_фраме) иф цв2.ваитКеи (1) & 0кФФ == орд ('к'): цв2.дестроиАллВиндовс () бреак
Тестирање Распберри Пи ЦЦТВ приказивача
Тестирање кода је прилично директно, укључите пи и покрените питхон код дат на дну ове странице. Уверите се да сте унели исправне акредитиве за функцију везе РТСП. Ако желите да будете на сигурном, такође можете покушати да користите ВЛЦ плејер на Пи који долази унапред инсталиран на бустер ОС.
Ако ради на ВЛЦ-у, можемо бити сигурни да је наш пи повезан на исту мрежу и РТСП веза ради како треба. Затим отворите програм дат на дну ове странице и покрените га помоћу било ког ИДЕ-а питхон. Ако су акредитиви исправно унети, видећете следећи екран. Који приказује храњење камере уживо са два тастера на дну.
Будући да екран има ТФТ екран осетљив на додир, можете једноставно додирнути дугме „претходни“ и „следећи“ да бисте прешли на следећу камеру. Програм је написан да се петља између прве четири камере, лако га можете изменити ако је на ваш ДВР повезано више од 4 камере.
Комплетан рад овог пројекта може се наћи у видео линку доле. Надам се да сте уживали у водичу и научили нешто корисно ако имате питања, оставите их у одељку за коментаре или можете да користите и наше форуме да објавите своје друге упите. Такође, планирам да овом подешавању додам функцију откривања покрета и чувања видео записа, па будите у току и са тим.