రాస్ప్బెర్రీ పై ఉపయోగించి వీడియో స్ట్రీమింగ్ ఎలా చేయాలి?

రాస్ప్బెర్రీ పై ఉపయోగించి వీడియో స్ట్రీమింగ్ ఎలా చేయాలి? '' ' తరగతి స్ట్రీమింగ్ఆట్పుట్(వస్తువు): డెఫ్ __అందులో__(స్వీయ): స్వీయ.ఫ్రేమ్ = ఏదీ లేదు స్వీయ.బఫర్ = నేను.బైట్స్ఐఓ() స్వీయ.పరిస్థితి = పరిస్థితి() డెఫ్ వ్రాయడానికి(స్వీయ, buf): ఉంటే buf.ప్రారంభంతో(బి' xff xd8'): # క్రొత్త ఫ్రేమ్, ఇప్పటికే ఉన్న బఫర్ యొక్క కంటెంట్‌ను కాపీ చేసి, అందరికీ తెలియజేయండి # క్లయింట్లు ఇది అందుబాటులో ఉన్నాయి స్వీయ.బఫర్.కత్తిరించు() తో స్వీయ.పరిస్థితి: స్వీయ.ఫ్రేమ్ = స్వీయ.బఫర్.getvalue() స్వీయ.పరిస్థితి.notify_all() స్వీయ.బఫర్.కోరుకుంటారు(0) తిరిగి స్వీయ.బఫర్.వ్రాయడానికి(buf) తరగతి స్ట్రీమింగ్హ్యాండ్లర్(సర్వర్.BaseHTTPRequestHandler): డెఫ్ do_GET(స్వీయ): ఉంటే స్వీయ.మార్గం == '/': స్వీయ.send_response(301) స్వీయ.send_header('స్థానం', '/index.html') స్వీయ.end_headers() elif స్వీయ.మార్గం == '/index.html': విషయము = పేజీ.ఎన్కోడ్('utf-8') స్వీయ.send_response(200) స్వీయ.send_header('కంటెంట్-రకం', 'టెక్స్ట్ / html') స్వీయ.send_header('కంటెంట్-పొడవు', లెన్(విషయము)) స్వీయ.end_headers() స్వీయ.wfile.వ్రాయడానికి(విషయము) elif స్వీయ.మార్గం == '/stream.mjpg': స్వీయ.send_response(200) స్వీయ.send_header('వయసు', 0) స్వీయ.send_header('కాష్-కంట్రోల్', 'నో-కాష్, ప్రైవేట్') స్వీయ.send_header('ప్రాగ్మా', 'నో-కాష్') స్వీయ.send_header('కంటెంట్-రకం', 'మల్టీపార్ట్ / ఎక్స్-మిక్స్డ్-రీప్లేస్; సరిహద్దు = ఫ్రేమ్ ') స్వీయ.end_headers() ప్రయత్నించండి: అయితే నిజం: తో అవుట్పుట్.పరిస్థితి: అవుట్పుట్.పరిస్థితి.వేచి ఉండండి() ఫ్రేమ్ = అవుట్పుట్.ఫ్రేమ్ స్వీయ.wfile.వ్రాయడానికి(బి'- ఫ్రేమ్ r n') స్వీయ.send_header('కంటెంట్-రకం', 'image / jpeg') స్వీయ.send_header('కంటెంట్-పొడవు', లెన్(ఫ్రేమ్)) స్వీయ.end_headers() స్వీయ.wfile.వ్రాయడానికి(ఫ్రేమ్) స్వీయ.wfile.వ్రాయడానికి(బి' r n') తప్ప మినహాయింపు గా ఉంది: లాగింగ్.హెచ్చరిక( 'స్ట్రీమింగ్ క్లయింట్ తొలగించబడింది% s:% s', స్వీయ.client_address, str(ఉంది)) లేకపోతే: స్వీయ.send_error(404) స్వీయ.end_headers() తరగతి స్ట్రీమింగ్ సర్వర్(సాకెట్‌సర్వర్.ThreadingMixIn, సర్వర్.HTTPServer): allow_reuse_address = నిజం డెమోన్_థ్రెడ్స్ = నిజం తో పికామెరా.పికామెరా(స్పష్టత='640x480', ఫ్రేమ్‌రేట్=24) గా కెమెరా: అవుట్పుట్ = స్ట్రీమింగ్ఆట్పుట్() కెమెరా.ప్రారంభ_ రికార్డింగ్(అవుట్పుట్, ఆకృతి='mjpeg') ప్రయత్నించండి: చిరునామా = ('', 8000) సర్వర్ = స్ట్రీమింగ్ సర్వర్(చిరునామా, స్ట్రీమింగ్హ్యాండ్లర్) సర్వర్.సర్వ్_ఫార్వర్() చివరకు: కెమెరా.stop_recording()

క్రొత్త ఫైల్ సృష్టించిన ప్రెస్‌లో కోడ్‌ను అతికించిన తరువాత Ctrl + X, రకం మరియు మరియు నొక్కండి నమోదు చేయండి.



దశ 10: వీడియో స్ట్రీమింగ్‌ను అమలు చేస్తోంది

స్క్రిప్ట్‌ను సేవ్ చేసిన తరువాత కింది ఆదేశాన్ని టైప్ చేయడం ద్వారా పైథాన్ 3 ను ఉపయోగించి దీన్ని రన్ చేస్తాము:

 python3 rpi_video_streaming.py 

ఈ ఆదేశాన్ని వ్రాసిన తరువాత మా స్క్రిప్ట్ పనిచేయడం ప్రారంభమవుతుంది మరియు ఇప్పుడు మన వెబ్ సర్వర్‌ను యాక్సెస్ చేయవచ్చు http: //: 8000 . మేము బ్రౌజర్‌ను తెరిచి, దానిలో లింక్‌ను అతికించి, రౌటర్ ద్వారా మా పైకి కేటాయించిన IP చిరునామాను ఉపయోగిస్తాము. మన సెల్‌ఫోన్, టాబ్లెట్ మొదలైన వాటి ద్వారా వీడియో స్ట్రీమింగ్‌ను పొందవచ్చు, అది బ్రౌజర్‌ను ఇన్‌స్టాల్ చేసి, మా పై మాదిరిగానే నెట్‌వర్క్‌తో అనుబంధించబడింది. నేను వ్రాసాను, '192.168.1.14:8000' వీడియో స్ట్రీమింగ్‌ను అమలు చేయడానికి.



దశ 11: తుది మెరుగులు ఇవ్వడం

మేము మా పై కెమెరాను పరీక్షించాము మరియు ఇది బాగా పనిచేస్తుందని తెలుసుకున్నందున మేము దానిని తగిన ప్రదేశంలో వ్యవస్థాపించడానికి సిద్ధంగా ఉన్నాము. ఇది ఇంటి గేటు దగ్గర వ్యవస్థాపించబడవచ్చు, తద్వారా ఇంటిలోకి ప్రవేశించే లేదా బయలుదేరే ప్రతి వ్యక్తిని మేము పర్యవేక్షించగలము. మనకు కావలసింది అధికారం మాత్రమే పై అడాప్టర్‌ను ఉపయోగించడం ద్వారా మా కెమెరా మరియు దానిని కేసింగ్ లోపల ఉంచడం మంచిది మరియు వీడియో స్ట్రీమింగ్ కోసం కెమెరా వైపు తెరిచి ఉంచండి.



అప్లికేషన్స్

  1. భద్రతా ప్రయోజనాల కోసం ఇళ్లలో దీనిని వ్యవస్థాపించవచ్చు.
  2. ఉద్యోగుల కదలికను పర్యవేక్షించడానికి కార్యాలయాల్లో దీనిని ఉపయోగించవచ్చు.
  3. దీనిని షాపింగ్ మాల్స్, రైల్వే స్టేషన్లు మొదలైన వాటిలో వ్యవస్థాపించవచ్చు మరియు ఒక నిర్దిష్ట ప్రాంతంలో చెక్ మరియు బ్యాలెన్స్ కలిగి ఉండటానికి పరిపాలన సిబ్బందికి ప్రాప్తి చేయవచ్చు.