Ce didacticiel Python montre la capture et l'affichage d'un flux vidéo en direct à partir d'une caméra IP. Nous exploiterons requests
, OpenCV
et imutils
pour récupérer, traiter et afficher des images. Le script récupère et affiche en continu le flux vidéo jusqu'à ce que l'utilisateur quitte.
Objectif :
Ce tutoriel montre comment :
La sortie finale est un flux vidéo en direct, pouvant être terminé en appuyant sur la touche Échap.
Prérequis :
Installez ces bibliothèques :
<code class="language-bash">pip3 install requests opencv-python imutils</code>
Vous aurez également besoin d'une caméra IP ou d'un appareil diffusant de la vidéo via HTTP (par exemple, une webcam utilisant MJPEG sur le port 8080).
Utilisation de l'application Webcam IP (appareil mobile) :
http://192.168.0.101:8080/video
) sera affichée. Utilisez cette URL dans votre script Python. Sélectionnez « Javascript » sous Video Renderer dans l'application.Code Python :
<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>
Explication étape par étape :
Importer des bibliothèques : Importe les bibliothèques nécessaires pour les requêtes HTTP, le traitement des images, la gestion des tableaux et les fonctions utilitaires OpenCV.
URL de la caméra : Définit l'URL du flux de la caméra IP. Remplacez l'adresse IP de l'espace réservé par l'adresse IP de votre caméra.
Récupération d'images : Une boucle while
récupère en continu les images à partir de l'URL.
Décodage et redimensionnement : Les données d'image brutes sont converties en un tableau NumPy, décodées à l'aide d'OpenCV et éventuellement redimensionnées pour un meilleur affichage.
Affichage : L'image s'affiche dans une fenêtre intitulée "Flux de la caméra IP".
Condition de sortie : cv2.waitKey(1)
attend une pression sur une touche. Appuyer sur Esc (27) interrompt la boucle.
Nettoyage : cv2.destroyAllWindows()
ferme toutes les fenêtres OpenCV.
Exécution du script :
url
avec l'URL correcte de votre caméra.ipcam_viewer.py
).python ipcam_viewer.py
Le flux vidéo devrait apparaître. Appuyez sur Échap pour fermer.
Conclusion :
Ce script fournit un cadre de base pour visualiser les flux des caméras IP. Il peut être étendu pour inclure des fonctionnalités telles que la détection de mouvement ou l’enregistrement vidéo. N'oubliez pas de remplacer l'URL de l'espace réservé par l'adresse de flux réelle de votre caméra.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!