Wie führe ich Video-Streaming mit Raspberry Pi durch?

Wie führe ich Video-Streaming mit Raspberry Pi durch? '' ' Klasse StreamingOutput((Objekt): def __drin__((selbst): selbst.Rahmen = Keiner selbst.Puffer = ich.BytesIO() selbst.Bedingung = Bedingung() def schreiben((selbst, buf): wenn buf.beginnt mit((b' xff xd8'): # Neuer Frame, kopieren Sie den Inhalt des vorhandenen Puffers und benachrichtigen Sie alle # clients es ist verfügbar selbst.Puffer.kürzen() mit selbst.Bedingung:: selbst.Rahmen = selbst.Puffer.Wert erhalten() selbst.Bedingung.notify_all() selbst.Puffer.suchen((0) Rückkehr selbst.Puffer.schreiben((buf) Klasse StreamingHandler((Server.BaseHTTPRequestHandler): def bekommen((selbst): wenn selbst.Pfad == '/':: selbst.Antwort senden((301) selbst.send_header(('Ort', '/index.html') selbst.end_headers() elif selbst.Pfad == '/index.html':: Inhalt = SEITE.kodieren(('utf-8') selbst.Antwort senden((200) selbst.send_header(('Inhaltstyp', 'text / html') selbst.send_header(('Inhaltslänge', len((Inhalt)) selbst.end_headers() selbst.wfile.schreiben((Inhalt) elif selbst.Pfad == '/stream.mjpg':: selbst.Antwort senden((200) selbst.send_header(('Alter', 0) selbst.send_header(('Cache-Kontrolle', 'No-Cache, privat') selbst.send_header(('Pragma', 'no-cache') selbst.send_header(('Inhaltstyp', 'mehrteilig / x-gemischt-ersetzen; Grenze = RAHMEN ') selbst.end_headers() Versuchen:: während Wahr:: mit Ausgabe.Bedingung:: Ausgabe.Bedingung.warten() Rahmen = Ausgabe.Rahmen selbst.wfile.schreiben((b'--RAHMEN r n') selbst.send_header(('Inhaltstyp', 'image / jpeg') selbst.send_header(('Inhaltslänge', len((Rahmen)) selbst.end_headers() selbst.wfile.schreiben((Rahmen) selbst.wfile.schreiben((b' r n') außer Ausnahme wie ist:: Protokollierung.Warnung(( 'Streaming-Client entfernt% s::% s', selbst.client_address, str((ist)) sonst:: selbst.Fehler senden((404) selbst.end_headers() Klasse StreamingServer((Socketserver.ThreadingMixIn, Server.HTTPServer): allow_reuse_address = Wahr daemon_threads = Wahr mit Picamera.PiCamera((Auflösung='640 x 480', Framerate=24) wie Kamera:: Ausgabe = StreamingOutput() Kamera.Starte die Aufnahme((Ausgabe, Format='mjpeg') Versuchen:: Adresse = (('', 8000) Server = StreamingServer((Adresse, StreamingHandler) Server.für immer dienen() schließlich:: Kamera.höre auf, aufzunehmen()

Nachdem Sie den Code in die neu erstellte Datei eingefügt haben, drücken Sie Strg + X, Art UND und drücke Eingeben.



Schritt 10: Ausführen des Video-Streamings

Nach dem Speichern des Skripts führen wir es mit Python3 aus, indem wir den folgenden Befehl eingeben:

 python3 rpi_video_streaming.py 

Nach dem Schreiben dieses Befehls wird unser Skript ausgeführt und wir können jetzt auf unseren Webserver unter zugreifen http: //: 8000 . Wir öffnen den Browser, fügen den Link ein und verwenden die IP-Adresse, die unser Pi vom Router zugewiesen hat. Wir können das Video-Streaming über unser Handy, Tablet usw. abrufen, auf dem ein Browser installiert ist und der einem ähnlichen Netzwerk wie unser Pi zugeordnet ist. Ich schrieb, 192.168.1.14:8000 zum Ausführen des Video-Streamings.



Schritt 11: Letzte Berührungen geben

Da wir unsere Pi-Kamera getestet haben und festgestellt haben, dass sie einwandfrei funktioniert, können wir sie an einem geeigneten Ort installieren. Es kann in der Nähe des Tores des Hauses installiert werden, damit wir jede Person überwachen können, die das Haus betritt oder verlässt. Wir brauchen nur Strom AUF Verwenden Sie den Adapter für unsere Kamera. Es ist besser, ihn in ein Gehäuse zu stecken und die Kameraseite für Video-Streaming offen zu lassen.



Anwendungen

  1. Es kann aus Sicherheitsgründen in Privathaushalten installiert werden.
  2. Es kann in Büros zur Überwachung der Mitarbeiterbewegung eingesetzt werden.
  3. Es kann in Einkaufszentren, Bahnhöfen usw. installiert werden und kann vom Verwaltungspersonal abgerufen werden, um die Kontrolle und das Gleichgewicht in einem bestimmten Bereich zu gewährleisten.