วิธีการสตรีมวิดีโอโดยใช้ Raspberry Pi

วิธีการสตรีมวิดีโอโดยใช้ Raspberry Pi '' ' ชั้นเรียน StreamingOutput(วัตถุ): def __ในนั้น__(ตนเอง): ตนเอง.กรอบ = ไม่มี ตนเอง.กันชน = ผม.ไบต์ไอโอ() ตนเอง.เงื่อนไข = เงื่อนไข() def เขียน(ตนเอง, buf): ถ้า buf.เริ่มต้นด้วย(' xff xd8'): # เฟรมใหม่คัดลอกเนื้อหาบัฟเฟอร์ที่มีอยู่และแจ้งทั้งหมด มีลูกค้า # ราย ตนเอง.กันชน.ตัด() ด้วย ตนเอง.เงื่อนไข: ตนเอง.กรอบ = ตนเอง.กันชน.getvalue() ตนเอง.เงื่อนไข.inform_all() ตนเอง.กันชน.แสวงหา(0) กลับ ตนเอง.กันชน.เขียน(buf) ชั้นเรียน StreamingHandler(เซิร์ฟเวอร์.BaseHTTPRequestHandler): def do_GET(ตนเอง): ถ้า ตนเอง.เส้นทาง == '/': ตนเอง.send_response(301) ตนเอง.send_header('สถานที่', '/index.html') ตนเอง.end_headers() elif ตนเอง.เส้นทาง == '/index.html': เนื้อหา = หน้า.เข้ารหัส('utf-8') ตนเอง.send_response(200) ตนเอง.send_header('ชนิดของเนื้อหา', 'text / html') ตนเอง.send_header('ความยาวของเนื้อหา', เลน(เนื้อหา)) ตนเอง.end_headers() ตนเอง.wfile.เขียน(เนื้อหา) elif ตนเอง.เส้นทาง == '/stream.mjpg': ตนเอง.send_response(200) ตนเอง.send_header('อายุ', 0) ตนเอง.send_header('การควบคุมแคช', 'ไม่มีแคชส่วนตัว') ตนเอง.send_header('Pragma', 'ไม่มีแคช') ตนเอง.send_header('ชนิดของเนื้อหา', 'multipart / x-mixed-replace; ขอบเขต = FRAME ') ตนเอง.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() ชั้นเรียน StreamingServer(ซ็อกเก็ตเซิร์ฟเวอร์.ThreadingMixIn, เซิร์ฟเวอร์.HTTPServer): allow_reuse_address = จริง daemon_threads = จริง ด้วย picamera.PiCamera(ความละเอียด='640x480', อัตราเฟรม=24) เช่น กล้อง: เอาท์พุท = StreamingOutput() กล้อง.start_recording(เอาท์พุท, รูปแบบ='mjpeg') ลอง: ที่อยู่ = ('', 8000) เซิร์ฟเวอร์ = StreamingServer(ที่อยู่, StreamingHandler) เซิร์ฟเวอร์.serve_forever() ในที่สุด: กล้อง.stop_recording()

หลังจากวางรหัสในไฟล์ใหม่ที่สร้างขึ้นกด Ctrl + X ชนิด และ แล้วกด ป้อน



ขั้นตอนที่ 10: เรียกใช้การสตรีมวิดีโอ

หลังจากบันทึกสคริปต์เราจะเรียกใช้โดยใช้ Python3 โดยพิมพ์คำสั่งต่อไปนี้:

 python3 rpi_video_streaming.py 

หลังจากเขียนคำสั่งนี้สคริปต์ของเราจะเริ่มทำงานและตอนนี้เราสามารถเข้าถึงเว็บเซิร์ฟเวอร์ของเราได้ที่ http: //: 8000 . เราจะเปิดเบราว์เซอร์และวางลิงค์ลงในนั้นและใช้ที่อยู่ IP ที่เราเตอร์กำหนดให้กับ Pi ของเรา เราสามารถเข้าสู่การสตรีมวิดีโอผ่านโทรศัพท์มือถือแท็บเล็ตและอื่น ๆ ที่มีเบราว์เซอร์ติดตั้งอยู่และเชื่อมโยงกับเครือข่ายที่คล้ายกันกับ Pi ของเรา ฉันเขียน, '192.168.1.14:8000' สำหรับการเรียกใช้สตรีมมิ่งวิดีโอ



ขั้นตอนที่ 11: ให้สัมผัสสุดท้าย

จากการที่เราได้ทดสอบกล้อง Pi ของเราและรู้ว่ามันใช้งานได้ดีเราก็พร้อมที่จะติดตั้งในสถานที่ที่เหมาะสม อาจติดตั้งไว้ใกล้ประตูบ้านเพื่อให้ตรวจสอบทุกคนที่เข้าหรือออกจากบ้าน สิ่งที่เราต้องการคือการมีอำนาจ บน กล้องของเราโดยใช้อะแดปเตอร์และจะดีกว่าถ้าใส่ไว้ในปลอกและเปิดด้านข้างของกล้องไว้เพื่อสตรีมวิดีโอ



การใช้งาน

  1. สามารถติดตั้งในบ้านเพื่อความปลอดภัย
  2. สามารถใช้ในสำนักงานเพื่อตรวจสอบความเคลื่อนไหวของพนักงาน
  3. สามารถติดตั้งในห้างสรรพสินค้าสถานีรถไฟ ฯลฯ และเจ้าหน้าที่ธุรการสามารถเข้าถึงได้เพื่อตรวจสอบและถ่วงดุลในพื้นที่เฉพาะ