Làm thế nào để thực hiện phát trực tuyến video bằng Raspberry Pi?

Làm thế nào để thực hiện truyền video bằng Raspberry Pi? '' lớp học StreamingOutput(vật): phản đối __trong đó__(bản thân): bản thân.khung = không ai bản thân.đệm = Tôi.BytesIO() bản thân.tình trạng = Tình trạng() phản đối viết(bản thân, buf): nếu buf.bắt đầu với(b' xff xd8'): # Khung mới, sao chép nội dung của bộ đệm hiện có và thông báo cho tất cả # khách hàng có sẵn bản thân.đệm.cắt bớt() với bản thân.tình trạng: bản thân.khung = bản thân.đệm.getvalue() bản thân.tình trạng.tify_all() bản thân.đệm.tìm(0) trở về bản thân.đệm.viết(buf) lớp học StreamingHandler(người phục vụ.BaseHTTPRequestHandler): phản đối do_GET(bản thân): nếu bản thân.con đường == '/': bản thân.gửi phản hồi(301) bản thân.send_header('Vị trí', '/index.html') bản thân.end_headers() elif bản thân.con đường == '/index.html': Nội dung = TRANG.mã hóa('utf-8') bản thân.gửi phản hồi(200) bản thân.send_header('Loại-Nội dung', 'text / html') bản thân.send_header('Thời lượng nội dung', len(Nội dung)) bản thân.end_headers() bản thân.wfile.viết(Nội dung) elif bản thân.con đường == '/stream.mjpg': bản thân.gửi phản hồi(200) bản thân.send_header('Tuổi tác', 0) bản thân.send_header('Kiểm soát bộ nhớ cache', 'no-cache, private') bản thân.send_header('Pragma', 'no-cache') bản thân.send_header('Loại-Nội dung', 'multiart / x-Mixed-Replace; ranh giới = FRAME ') bản thân.end_headers() thử: trong khi Thật: với đầu ra.tình trạng: đầu ra.tình trạng.chờ đợi() khung = đầu ra.khung bản thân.wfile.viết(b'--KHUNG r n') bản thân.send_header('Loại-Nội dung', 'image / jpeg') bản thân.send_header('Thời lượng nội dung', len(khung)) bản thân.end_headers() bản thân.wfile.viết(khung) bản thân.wfile.viết(b' r n') ngoại trừ ngoại lệ như : khai thác gỗ.cảnh báo( 'Đã xóa ứng dụng phát trực tuyến%S:%S', bản thân.client_address, str()) khác: bản thân.send_error(404) bản thân.end_headers() lớp học StreamingServer(ổ cắm.ThreadingMixIn, người phục vụ.HTTPServer): allow_reuse_address = Thật daemon_threads = Thật với picamera.PiCamera(sự phân giải='640x480', tỷ lệ khung hình=24) như Máy ảnh: đầu ra = StreamingOutput() Máy ảnh.bắt đầu ghi âm(đầu ra, định dạng='mjpeg') thử: Địa chỉ = ('', 8000) người phục vụ = StreamingServer(Địa chỉ, StreamingHandler) người phục vụ.serve_forever() cuối cùng: Máy ảnh.stop_recording()

Sau khi dán mã vào tệp mới được tạo, nhấn Ctrl + X, kiểu và hãy nhấn Đi vào.



Bước 10: Chạy Video Streaming

Sau khi lưu tập lệnh, chúng tôi sẽ chạy nó bằng Python3 bằng cách gõ lệnh sau:

 python3 rpi_video_streaming.py 

Sau khi viết lệnh này, tập lệnh của chúng tôi sẽ bắt đầu chạy và bây giờ chúng tôi có thể truy cập máy chủ web của mình tại http: //: 8000 . Chúng tôi sẽ mở trình duyệt và dán liên kết vào đó và sử dụng địa chỉ IP được bộ định tuyến gán cho Pi của chúng tôi. Chúng ta có thể truy cập video phát trực tuyến qua điện thoại di động, máy tính bảng, v.v. có cài đặt trình duyệt và được liên kết với mạng tương tự như Pi của chúng ta. Tôi đã viết, '192.168.1.14:8000' để chạy video trực tuyến.



Bước 11: Đưa ra những cái chạm cuối cùng

Khi chúng tôi đã kiểm tra máy ảnh Pi của mình và nhận thấy rằng nó hoạt động tốt, chúng tôi sẵn sàng lắp đặt nó ở một nơi phù hợp. Nó có thể được lắp đặt gần cổng nhà để chúng tôi có thể giám sát mọi người ra vào nhà. Tất cả những gì chúng ta cần là cung cấp năng lượng TRÊN máy ảnh của chúng tôi bằng cách sử dụng bộ chuyển đổi và sẽ tốt hơn nếu đặt nó bên trong vỏ và chỉ để hở cạnh máy ảnh để phát video.



Các ứng dụng

  1. Nó có thể được cài đặt trong nhà vì mục đích an ninh.
  2. Nó có thể được sử dụng trong văn phòng để theo dõi sự di chuyển của nhân viên.
  3. Nó có thể được lắp đặt trong các trung tâm mua sắm, nhà ga, v.v. và có thể được nhân viên quản lý truy cập để kiểm tra và cân bằng trong một khu vực cụ thể.