- RTSP స్ట్రీమింగ్ కోసం DVR ను సిద్ధం చేస్తోంది
- మీ రాస్ప్బెర్రీ పైని సిద్ధం చేస్తోంది
- రాస్ప్బెర్రీ పై పై ఓపెన్ సివి మరియు ఇతర లైబ్రరీలను వ్యవస్థాపించడం
- CCTV నుండి RTSP వీడియోను ప్రసారం చేయడానికి ప్రోగ్రామింగ్ రాస్ప్బెర్రీ పై
- రాస్ప్బెర్రీ పై సిసిటివి వ్యూయర్ ను పరీక్షిస్తోంది
ఈ రోజు చాలా కార్యాలయాలు మరియు వాణిజ్య భవనాలు కార్యకలాపాలను పర్యవేక్షించడానికి సిసిటివి నిఘా వ్యవస్థను ఏర్పాటు చేశాయి. అనుమానాస్పద కార్యాచరణ కోసం అన్ని కెమెరాల యొక్క ప్రత్యక్ష ఫీడ్ను నిరంతరం పర్యవేక్షించడం సంబంధిత అధికారం లేదా భద్రతా వ్యక్తులు చాలా సార్లు కష్టమే. కంప్యూటర్ దృష్టి మరియు యంత్ర అభ్యాసం వేగవంతమైన దశలో అభివృద్ధి చెందుతున్నందున, మేము మా సిసిటివి వ్యవస్థలను తెలివిగా చేసే సమయం ఆసన్నమైంది. ఈ వ్యాసంలో, పైథాన్ మరియు ఓపెన్సివిని ఉపయోగించి రాస్ప్బెర్రీ పైతో RTSP స్ట్రీమింగ్ ద్వారా ఇప్పటికే ఉన్న DVR (హిక్విజన్ DVR వంటివి) నుండి వీడియో ఫీడ్ను ఎలా పొందాలో చర్చించాము. మేము దీన్ని పొందిన తర్వాత, ఒక నిర్దిష్ట వస్తువును గుర్తించడానికి, వాహన నంబర్ ప్లేట్ చదవడానికి, ముఖ గుర్తింపును మరియు ఏమి చేయకూడదో ఈ వీడియో ఫీడ్లలో ఓపెన్సివి యొక్క శక్తిని మేము ప్రభావితం చేయగలము!
ఈ ట్యుటోరియల్ కొరకు, నేను ఇప్పటికే భవనంలో వ్యవస్థాపించిన హిక్విజన్ 4 ఛానల్ సిసిటివి డివిఆర్ ను ఉపయోగిస్తాను. మేము అన్ని 4 కెమెరా స్క్రీన్లను రాస్ప్బెర్రీకి ప్రసారం చేస్తాము మరియు దానిని 5-అంగుళాల టచ్ స్క్రీన్ డిస్ప్లేలో ప్రదర్శిస్తాము, అక్కడ వినియోగదారు ప్రతి ఛానెల్ మధ్య అవసరమైన విధంగా మార్చవచ్చు. ఓపెన్సివి యొక్క శక్తిని పరిగణనలోకి తీసుకుంటే నాకు ఇది అంతగా తెలియదు మరియు మోషన్ డిటెక్షన్, బగ్లర్ వీడియో అలర్ట్, పర్సన్ ట్రాకింగ్ మొదలైన వాటితో స్కేల్ చేయడానికి నాకు ప్రణాళికలు ఉన్నాయి, కాని ఇవన్నీ మరొక ట్యుటోరియల్ కోసం వదిలివేద్దాం.
RTSP స్ట్రీమింగ్ కోసం DVR ను సిద్ధం చేస్తోంది
మేము కోరిందకాయ పై హార్డ్వేర్ మరియు పైథాన్ కోడ్లోకి ప్రవేశించే ముందు, DVR RTSP కి మద్దతు ఇస్తుందో లేదో మరియు దానిని ఎలా యాక్సెస్ చేయాలో తనిఖీ చేయడం ముఖ్యం. ప్రతి రకమైన డివిఆర్ కోసం ఈ విధానం భిన్నంగా ఉన్నట్లు అనిపిస్తున్నందున నేను ఇక్కడ ఎక్కువ సమయం గడిపాను మరియు మీరు చేయవలసి ఉంది మరియు చాలా హిట్స్ మరియు ప్రయత్నించండి. మీరు దీన్ని గుర్తించిన తర్వాత, ఇది ప్రతిసారీ మనోజ్ఞతను కలిగిస్తుంది.
మొదట మొదటి విషయం, మీ DVR సిస్టమ్ యొక్క వినియోగదారు పేరు మరియు పాస్వర్డ్ మీకు తెలుసా అని నిర్ధారించుకోండి మరియు ఇది ఇంటర్నెట్కు కనెక్ట్ చేయబడింది. ఈ ట్యుటోరియల్లో, నేను స్థానిక నెట్వర్క్ నుండి మాత్రమే RTSP ని ప్రసారం చేస్తాను, మీకు స్టాటిక్ ఐపి ఉంటే, మీరు పోర్ట్ ఫార్వార్డింగ్ చేయవచ్చు మరియు ఇతర నెట్వర్క్ల కోసం కూడా అనుసరించవచ్చు. ఈ ట్యుటోరియల్ విషయానికొస్తే, మేము స్థానిక నెట్వర్క్ లోపల ప్రతిదీ చేస్తాము.
దశ 1: మీ DVR యొక్క IP చిరునామాను కనుగొనండి. DVR ఇంటర్నెట్కు కనెక్ట్ అయిన తర్వాత, దాని స్వంత IP చిరునామా కేటాయించబడుతుంది. మీరు ఈ IP చిరునామాను మీ రౌటర్ కాన్ఫిగరేషన్ పేజీ నుండి లేదా మీ DVR స్క్రీన్ నుండే కనుగొనవచ్చు (మీకు DVR కి కనెక్ట్ చేయబడిన మానిటర్ ఉందని అనుకుందాం). నా రౌటర్ యొక్క IP చిరునామా http://192.168.11.110/ (భద్రతా కారణాల వల్ల మార్చబడింది)
దశ 2: మీకు నచ్చిన ఏదైనా వెబ్ బ్రౌజర్ను తెరిచి, IP చిరునామాను నమోదు చేసి ఎంటర్ నొక్కండి. మీరు DVR లాగిన్ పేజీకి తీసుకెళ్లబడతారు. మీరు మీ DVR కోసం వినియోగదారు పేరు (గని మార్చబడింది) మరియు పాస్వర్డ్ను నమోదు చేయాలి. డిఫాల్ట్ వినియోగదారు పేరు అడ్మిన్ అవుతుంది, కానీ మీరు తెలుసుకోవలసిన పాస్వర్డ్. DVR కోసం నా లాగిన్ స్క్రీన్ క్రింద చూపబడింది, మీ రూపానికి తేడా ఉండవచ్చు.
దశ 3: విజయవంతమైన లాగిన్ తరువాత, మీ DVR లో RTSP పోర్ట్ నంబర్ కోసం చూడండి, చాలా సార్లు, డిఫాల్ట్ విలువ 554 అవుతుంది, కానీ అది మారవచ్చు. మీరు ఇక్కడ ఉన్నప్పుడు RTSP ని ప్రారంభించడానికి ఒక ఎంపిక ఉందా అని తనిఖీ చేయడానికి కాన్ఫిగరేషన్ సెట్టింగులతో ప్లే చేయండి, కాకపోతే మీరు దానిని దాటవేయవచ్చు. DVR ఆధారంగా విధానం భిన్నంగా ఉన్నందున మీరు ఇక్కడ కొంత సమయం గడపాలి.
దశ 4: మీ RTSP లింక్ను సిద్ధం చేయండి, ప్రాథమిక RTSP లింక్ క్రింది ఆకృతిలో ఉంటుంది-
rtsp: //
మళ్ళీ, ఇది DVR రకాన్ని బట్టి ఉంటుంది, మీ కోసం పని చేసేదాన్ని కనుగొనడానికి మీరు google ను ఉపయోగించవచ్చు. పనిచేసినది కింది ఆకృతిని కలిగి ఉంది, మీరు దీనితో కూడా ప్రయత్నించవచ్చు-
rtsp: //
ఎక్కడ
rtsp: // admin: [email protected]: 554 / స్ట్రీమింగ్ / ఛానెల్స్ / 202 /
దశ 5: మీ RTSP కనెక్షన్ పనిచేస్తుందని నిర్ధారించుకోవడానికి VLC లో స్ట్రీమ్ను ప్లే చేయండి. DVR వలె అదే నెట్వర్క్కు అనుసంధానించబడిన కంప్యూటర్లో VLC ని ఇన్స్టాల్ చేయండి, దాన్ని ప్రారంభించండి మరియు నెట్వర్క్ స్ట్రీమింగ్ కోసం Ctrl + N నొక్కండి. క్రింద చూపిన విధంగా URL ను ఎంటర్ చేసి, సరే నొక్కండి.
RTSP లింక్ అది పనిచేసే విధంగా పనిచేస్తుంటే, క్రింద చూపిన విధంగా మీరు VLC ప్లేయర్లో మీ CCTV యొక్క ప్రత్యక్ష ప్రసారాన్ని చూడాలి. ఇది లోపం విసిరితే మీరు సరైన లింక్ను గుర్తించాలి.
ఇది పూర్తయిన తర్వాత, మేము ఇకపై మా DVR గురించి మాట్లాడవలసిన అవసరం లేదు, మా రాస్ప్బెర్రీ పైతో ముందుకు సాగండి.
మీ రాస్ప్బెర్రీ పైని సిద్ధం చేస్తోంది
తరువాత, మన కోరిందకాయ పైని 5-అంగుళాల డిస్ప్లేతో సెటప్ చేయాలి. మేము ఇప్పటికే చాలా సార్లు కవర్ చేసినందున నేను దాని వివరాలను పొందబోతున్నాను. మార్గదర్శకత్వం కోసం మీరు ఈ క్రింది కథనాలను చదవవచ్చు-
- రాస్ప్బెర్రీ పైతో ప్రారంభించండి
- రాస్ప్బెర్రీ పైతో 5-ఇంచ్ డిస్ప్లేని ఇంటర్ఫేసింగ్
మేము రాస్ప్బెర్రీ పై 3 B + ను డెబియన్ బస్టర్ OS తో ఉపయోగిస్తున్నాము. మీకు వీలైతే పై 4 ను ఉపయోగించడం కూడా మంచి ఆలోచన కావచ్చు మరియు హీట్సింక్ లేదా ఫ్యాన్ వంటి కొన్ని శీతలీకరణ ఎంపికలలో కూడా చేర్చండి ఎందుకంటే ఉష్ణోగ్రత దాదాపు 70 * C కి చేరుకోవడం నేను గమనించాను. నేను ఇప్పటి వరకు ఎటువంటి శీతలీకరణ విధానాన్ని అనుసరించలేదు మరియు నా సెటప్ ఇలా ఉంది-
రాస్ప్బెర్రీ పై పై ఓపెన్ సివి మరియు ఇతర లైబ్రరీలను వ్యవస్థాపించడం
తదుపరి దశ రాస్ప్బెర్రీ పైలో ఓపెన్సివిని ఇన్స్టాల్ చేయడం. రాస్ప్బెర్రీ పై పై ఓపెన్ సివిని కంపైల్ చేయడం గురించి మేము ఇంతకుముందు చర్చించాము.
- రాస్ప్బెర్రీ పై పై ఓపెన్ సివిని ఇన్స్టాల్ చేస్తోంది
- OpenCV తో ప్రారంభించడం
మీరు పై లింక్ను అనుసరించి, Cmake ని ఉపయోగించి OpenCV ని కంపైల్ చేయవచ్చు లేదా apt-get పద్ధతితో ఇన్స్టాల్ చేయవచ్చు. మీరు చాలా తీవ్రమైన ఓపెన్సివి ప్రోగ్రామింగ్లోకి రాకపోతే నేను తరువాత సిఫారసు చేస్తాను. ఓపెన్సివిని ఇన్స్టాల్ చేయడానికి నేను ఈ క్రింది ఆదేశాలను ఉపయోగించాను.
sudo apt update sudo apt install python3-opencv
మా ప్రోగ్రామ్లో, నాలుగు స్క్రీన్ల మధ్య నావిగేట్ చెయ్యడానికి అనుమతించే రెండు బటన్లతో ప్రాథమిక UI ని సృష్టించడానికి “cvui” లైబ్రరీని కూడా ఉపయోగిస్తాము. Cvui ని వ్యవస్థాపించడానికి క్రింది ఆదేశాన్ని అనుసరించండి.
పైథాన్ 3 పిప్ ఇన్స్టాల్ సివిఐ
రెండు ప్యాకేజీలను వ్యవస్థాపించడంతో, మేము ప్రధాన ప్రోగ్రామ్లోకి ప్రవేశించవచ్చు. ఇన్స్టాల్ చేయబడిన రెండు ప్యాకేజీలు పై యొక్క కమాండ్ టెర్మినల్ నుండి దిగుమతి చేయడానికి ప్రయత్నిస్తున్నాయని నిర్ధారించుకోండి.
CCTV నుండి RTSP వీడియోను ప్రసారం చేయడానికి ప్రోగ్రామింగ్ రాస్ప్బెర్రీ పై
ఈ ప్రాజెక్ట్ కోసం పూర్తి ప్రోగ్రామ్ ఈ పేజీ చివరిలో చూడవచ్చు. దాని వివరణ ఈ క్రింది విధంగా ఉంది. అవసరమైన హెడర్ ఫైళ్ళను చేర్చడం ద్వారా మేము ప్రోగ్రామ్ను ప్రారంభిస్తాము.
దిగుమతి cv2 దిగుమతి cvui
ప్రోగ్రామ్ యొక్క తదుపరి భాగానికి కొంత సవరణ అవసరం. మీరు మీ DVR యొక్క వినియోగదారు పేరు మరియు పాస్వర్డ్ను నమోదు చేయాలి. 5 ఇంచ్ డిస్ప్లే కోసం, వెడల్పు మరియు ఎత్తు వరుసగా 800 మరియు 480, కాబట్టి మేము అదే నమోదు చేసాము.
rtsp_username = "అడ్మిన్" rtsp_password = "aswinth347653" width = 800 height = 480 cam_no = 1
కదులుతున్నప్పుడు, కెమెరాను సృష్టించండి అనే ఫంక్షన్ మాకు ఉంది, ఇది మేము చూడవలసిన కెమెరా సంఖ్యను మార్చిన ప్రతిసారీ ఉపయోగించబడుతుంది.
def create_camera (channel): rtsp = "rtsp: //" + rtsp_username + ":" + rtsp_password + "@ 192.168.29.100: 554 / స్ట్రీమింగ్ / ఛానెల్స్ /" + ఛానల్ + "02" క్యాప్ = సివి 2.వీడియోకాప్చర్ () క్యాప్.open (rtsp) cap.set (3, 640) # వెడల్పు కోసం ID సంఖ్య 3 cap.set (4, 480) # ఎత్తు కోసం ID సంఖ్య 480 cap.set (10, 100) # ప్రకాశం కోసం ID సంఖ్య 10qq రిటర్న్ క్యాప్
మెయిన్ అయితే లూప్ లోపల, క్యాప్చర్ పరికరం నుండి ఒక ఫ్రేమ్ను చదివి పూర్తి స్క్రీన్కు మార్చడానికి మా ప్రోగ్రామ్ ఉంది. మా ప్రోగ్రామ్లోని ప్రదర్శన విండోను స్క్రీన్గా పిలుస్తారు.
విజయం, current_cam = cam.read () dim = (వెడల్పు, ఎత్తు) Full_frame = cv2.resize (current_cam, dim, interpolation = cv2.INTER_AREA) cv2.namedWindow ('screen', cv2.WINDOW_NORMAL) cv2.setWindowProperty ('screen ', cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)
దాని తరువాత స్క్రీన్పై ఉంచబడే రెండు బటన్ల కోడ్ మనకు ఉంది. కమాండ్ cvui.button ఒక అవసరమైన ప్రదేశంలో బటన్ ఉంచడానికి ఉపయోగిస్తారు మరియు కమాండ్ cvui.mouse మౌస్ క్లిక్ గుర్తించడం ఉపయోగిస్తారు. బటన్ క్లిక్ చేస్తే రెండు బటన్ల కోసం స్టేట్మెంట్స్ మనకు రెండు ఉంటే , సంబంధిత if స్టేట్మెంట్ ఎగ్జిక్యూట్ అవుతుంది.
if (cvui.button (పూర్తి_ఫ్రేమ్, వెడల్పు - 100, ఎత్తు - 40, "తదుపరి") మరియు cvui.mouse (cvui.CLICK)): ప్రింట్ ("తదుపరి బటన్ నొక్కినది") cvui.init ('స్క్రీన్') cam_no = cam_no +1 if (cam_no> 4): cam_no = 1 del cam cam = create_camera (str (cam_no)) if (cvui.button (Full_frame, width - 200, height - 40, "Previous") మరియు cvui.mouse (cvui. CLICK)): ప్రింట్ ("మునుపటి బటన్ నొక్కినది") cvui.init ('స్క్రీన్') cam_no = cam_no - 1 if (cam_no <1): cam_no = 4 del cam cam = create_camera (str (cam_no))
లోపల ఉంటే ప్రకటన, మేము గాని పెంచడం లేదా తగ్గించడం బటన్ ఆధారంగా cam_no లెక్కింపు ఆపై ఇప్పటికే కామ్ తొలగించండి మరియు మేము పైన చర్చించిన ఫంక్షన్ ఉపయోగించి ఒక కొత్త కామ్ సృష్టించడానికి. అలాగే, UI స్క్రీన్ను రిఫ్రెష్ చేయడానికి cvui.init ప్రతిసారీ కాల్ చేయాల్సి ఉంటుందని గమనించండి.
కోడ్ యొక్క చివరి భాగం ఫ్రేమ్ను అవుట్పుట్గా ప్రదర్శించడం మరియు q నొక్కినప్పుడు అవుట్పుట్ స్క్రీన్ నుండి నిష్క్రమించడం. మేము కీస్ట్రోక్ కోసం వేచి ఉన్నాము మరియు కీ 'q' అయితే, మేము అన్ని విండోలను నాశనం చేస్తాము.
cv2.imshow ('స్క్రీన్', పూర్తి_ఫ్రేమ్) ఉంటే cv2.nightKey (1) & 0xFF == ఆర్డర్ ('q'): cv2.destroyAllWindows () విచ్ఛిన్నం
రాస్ప్బెర్రీ పై సిసిటివి వ్యూయర్ ను పరీక్షిస్తోంది
కోడ్ను పరీక్షించడం చాలా సరళంగా ముందుకు ఉంటుంది, పైని శక్తివంతం చేయండి మరియు ఈ పేజీ దిగువన ఇచ్చిన పైథాన్ కోడ్ను ప్రారంభించండి. RTSP లింక్ పనిచేయడానికి మీరు సరైన ఆధారాలను నమోదు చేశారని నిర్ధారించుకోండి. మీరు సురక్షితమైన వైపు ఉండాలనుకుంటే, మీరు బస్టర్ OS లో ముందే ఇన్స్టాల్ చేయబడిన పైలోని VLC ప్లేయర్ని ఉపయోగించటానికి కూడా ప్రయత్నించవచ్చు.
ఇది VLC లో పనిచేస్తుంటే, మా పై అదే నెట్వర్క్కు కనెక్ట్ చేయబడిందని మరియు RTSP లింక్ పనిచేస్తుందని మేము అనుకోవచ్చు. అప్పుడు ఈ పేజీ దిగువన ఇచ్చిన ప్రోగ్రామ్ను తెరిచి, ఏదైనా పైథాన్ IDE ఉపయోగించి దాన్ని ప్రారంభించండి. ఆధారాలు సరిగ్గా నమోదు చేయబడితే, మీరు ఈ క్రింది స్క్రీన్ను చూస్తారు. ఇది దిగువ రెండు బటన్లతో ప్రత్యక్ష కెమెరా ఫీడ్ను చూపుతుంది.
స్క్రీన్కు టిఎఫ్టి టచ్ స్క్రీన్ ఉన్నందున, మీరు తదుపరి కెమెరాకు వెళ్లడానికి “మునుపటి” మరియు “తదుపరి” బటన్లను తాకవచ్చు. ఈ ప్రోగ్రామ్ మొదటి నాలుగు కెమెరాల మధ్య లూప్ చేయడానికి వ్రాయబడింది, మీ DVR కి 4 కంటే ఎక్కువ కెమెరాలు కనెక్ట్ చేయబడితే మీరు దాన్ని సులభంగా సవరించవచ్చు.
ఈ ప్రాజెక్ట్ యొక్క పూర్తి పనిని క్రింద లింక్ చేసిన వీడియోలో చూడవచ్చు. మీరు ట్యుటోరియల్ని ఆస్వాదించారని మరియు మీకు ఏవైనా ప్రశ్నలు ఉంటే వాటిని ఉపయోగకరంగా నేర్చుకున్నారని, వాటిని వ్యాఖ్య విభాగంలో ఉంచండి లేదా మీ ఇతర ప్రశ్నలను పోస్ట్ చేయడానికి మీరు మా ఫోరమ్లను కూడా ఉపయోగించవచ్చని ఆశిస్తున్నాము. అలాగే, నేను ఈ సెటప్కు మోషన్ డిటెక్షన్ మరియు వీడియో సేవింగ్ ఫీచర్ను జోడించాలని ఆలోచిస్తున్నాను, కాబట్టి దాని కోసం కూడా వేచి ఉండండి.