Wie führe ich Video-Streaming mit Raspberry Pi durch?'' 'KlasseStreamingOutput((Objekt):def__drin__((selbst):selbst.Rahmen=Keinerselbst.Puffer=ich.BytesIO()selbst.Bedingung=Bedingung()defschreiben((selbst,buf):wennbuf.beginnt mit((b' xff xd8'):# Neuer Frame, kopieren Sie den Inhalt des vorhandenen Puffers und benachrichtigen Sie alle# clients es ist verfügbarselbst.Puffer.kürzen()mitselbst.Bedingung::selbst.Rahmen=selbst.Puffer.Wert erhalten()selbst.Bedingung.notify_all()selbst.Puffer.suchen((0)Rückkehrselbst.Puffer.schreiben((buf)KlasseStreamingHandler((Server.BaseHTTPRequestHandler):defbekommen((selbst):wennselbst.Pfad=='/'::selbst.Antwort senden((301)selbst.send_header(('Ort','/index.html')selbst.end_headers()elifselbst.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)elifselbst.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ährendWahr::mitAusgabe.Bedingung::Ausgabe.Bedingung.warten()Rahmen=Ausgabe.Rahmenselbst.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ßerAusnahmewieist::Protokollierung.Warnung(('Streaming-Client entfernt% s::% s',selbst.client_address,str((ist))sonst::selbst.Fehler senden((404)selbst.end_headers()KlasseStreamingServer((Socketserver.ThreadingMixIn,Server.HTTPServer):allow_reuse_address=Wahrdaemon_threads=WahrmitPicamera.PiCamera((Auflösung='640 x 480',Framerate=24)wieKamera::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
Es kann aus Sicherheitsgründen in Privathaushalten installiert werden.
Es kann in Büros zur Überwachung der Mitarbeiterbewegung eingesetzt werden.
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.