Dieses Python-Tutorial demonstriert die Aufnahme und Anzeige eines Live-Video-Feeds von einer IP-Kamera. Wir nutzen requests
, OpenCV
und imutils
, um Bilder abzurufen, zu verarbeiten und anzuzeigen. Das Skript ruft den Videostream kontinuierlich ab und zeigt ihn an, bis der Benutzer ihn verlässt.
Ziel:
Dieses Tutorial zeigt, wie Sie:
Die endgültige Ausgabe ist ein Live-Videostream, der durch Drücken der Esc-Taste beendet werden kann.
Voraussetzungen:
Installieren Sie diese Bibliotheken:
<code class="language-bash">pip3 install requests opencv-python imutils</code>
Sie benötigen außerdem eine IP-Kamera oder ein Gerät, das Videos über HTTP streamt (z. B. eine Webcam mit MJPEG auf Port 8080).
Verwenden der IP-Webcam-App (mobiles Gerät):
http://192.168.0.101:8080/video
) wird angezeigt. Verwenden Sie diese URL in Ihrem Python-Skript. Wählen Sie in der App unter Video-Renderer „Javascript“ aus.Python-Code:
<code class="language-python">import requests import cv2 import numpy as np import imutils # Replace with your IP camera URL. Ensure "/shot.jpg" is appended. url = "http://192.168.0.101:8080/shot.jpg" # Example URL while True: img_resp = requests.get(url) img_arr = np.array(bytearray(img_resp.content), dtype=np.uint8) img = cv2.imdecode(img_arr, -1) img = imutils.resize(img, width=1000, height=1800) #Optional Resizing cv2.imshow("IP Camera Feed", img) if cv2.waitKey(1) == 27: # Esc key to exit break cv2.destroyAllWindows()</code>
Schritt-für-Schritt-Erklärung:
Bibliotheken importieren: Importiert notwendige Bibliotheken für HTTP-Anfragen, Bildverarbeitung, Array-Verarbeitung und OpenCV-Dienstprogrammfunktionen.
Kamera-URL: Legt die URL für den Stream der IP-Kamera fest. Ersetzen Sie die Platzhalter-IP-Adresse durch die IP-Adresse Ihrer Kamera.
Bildabruf: Eine while
-Schleife ruft kontinuierlich Bilder von der URL ab.
Dekodierung und Größenänderung: Die Rohbilddaten werden in ein NumPy-Array konvertiert, mit OpenCV dekodiert und optional zur besseren Anzeige in der Größe geändert.
Anzeige: Das Bild wird in einem Fenster mit dem Titel „IP-Kamera-Feed“ angezeigt.
Exit-Bedingung: cv2.waitKey(1)
wartet auf einen Tastendruck. Durch Drücken von Esc (27) wird die Schleife unterbrochen.
Bereinigung: cv2.destroyAllWindows()
schließt alle OpenCV-Fenster.
Ausführen des Skripts:
url
mit der korrekten URL Ihrer Kamera.ipcam_viewer.py
).python ipcam_viewer.py
Der Videostream sollte erscheinen. Drücken Sie Esc zum Schließen.
Fazit:
Dieses Skript bietet ein grundlegendes Framework zum Anzeigen von IP-Kamera-Feeds. Es kann um Funktionen wie Bewegungserkennung oder Videoaufzeichnung erweitert werden. Denken Sie daran, die Platzhalter-URL durch die tatsächliche Stream-Adresse Ihrer Kamera zu ersetzen.
Das obige ist der detaillierte Inhalt vonSo erfassen Sie Live-Videostreams von einer IP-Kamera mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!