Lire des Images à partir de Flux RTSP en Python
J'ai récemment mis en place un Raspberry Pi camera et je suis le streaming les images sur RTSP. Alors il ne peut pas être tout à fait nécessaire, voici la commande que j'utilise la diffusion de la vidéo:
raspivid -o - -t 0 -w 1280 -h 800 |cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/output.h264}' :demux=h264
Ce flux de la vidéo à la perfection.
Ce que je voudrais maintenant faire est d'analyser ce flux avec Python et de lire chaque image individuellement. J'aimerais faire de la détection de mouvement à des fins de surveillance.
Je suis complètement perdu sur où commencer sur cette tâche. Quelqu'un peut-il m'indiquer un bon tutoriel? Si cela n'est pas réalisable via Python, quels outils/langues puis-je utiliser pour accomplir cette?
Coup d'oeil ici: superuser.com/questions/225367/... ... Semble que vlc est capable de faire..
OriginalL'auteur fmorstatter | 2013-07-31
Vous devez vous connecter pour publier un commentaire.
Peu de hacky solution, mais vous pouvez utiliser le VLC bindings python (vous pouvez l'installer avec
pip install python-vlc
) et de jouer du flux:Puis prendre un instantané à chaque seconde:
Et puis vous pouvez utiliser SimpleCV ou quelque chose pour le traitement (il suffit de charger le fichier image
'.snapshot.tmp.png'
dans votre bibliothèque de traitement)..snapshot.tmp.png
fichier?De la même manière que vous pourriez utiliser tout autre fichier PNG
Peut-il être utilisé avec le serveur ubuntu?
Si vous installez les bibliothèques, probablement. Essayez et vous verrez
btw, vous pouvez voir ma question ici: stackoverflow.com/questions/48620863/... merci
OriginalL'auteur Samadi
En fonction du type de flux, vous pouvez probablement prendre un coup d'oeil à ce projet pour quelques idées.
https://code.google.com/p/python-mjpeg-over-rtsp-client/
Si vous voulez être méga-pro, vous pouvez utiliser quelque chose comme http://opencv.org/ (modules Python disponible je crois) pour le traitement de la détection de mouvement.
OriginalL'auteur synthesizerpatel
utiliser opencv
et puis vous pouvez capturer framse. lire openCV documentation visite: https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_video_display/py_video_display.html
OriginalL'auteur Pradeep Singh Chauhan
À l'aide de la même méthode que celle décrite par "depu" a fonctionné parfaitement pour moi.
J'ai juste remplacé le "fichier vidéo" avec "RTSP" URL de la caméra.
L'exemple ci-dessous travaillé sur l'AXE de la Caméra IP.
(Ce n'était pas de travailler pour un tandis que dans les versions précédentes de OpenCV)
Fonctionne sur OpenCV 3.4.1 Windows 10)
OriginalL'auteur venkat
Hi cadres de lecture de la vidéo peut être réalisé à l'aide de python et OpenCV . Ci-dessous est un exemple de code. Fonctionne très bien avec python et opencv2 version.
OriginalL'auteur deepu
Ici est encore une option de plus
C'est beaucoup plus compliqué que les autres réponses. :-O
Mais de cette façon, avec une seule connexion à la caméra, de "la fourchette", le même flux simultanément à plusieurs multiprocesses, à l'écran, la refonte en multidiffusion, de l'écrire sur le disque, etc.
.. bien sûr, juste au cas où vous auriez besoin de quelque chose comme ça (sinon, vous préférez le plus tôt réponses)
Nous allons créer deux indépendants python programmes:
(1) programme Serveur (connexion rtsp, décodage) server.py
(2) programme Client (lit d'images à partir de la mémoire partagée) client.py
Serveur doit être démarré avant que le client, c'est à dire
Et puis dans un autre terminal:
Voici le code:
(1) server.py
(2) client.py
Si vous êtes intéressé, consultez certains plus de https://elsampsa.github.io/valkka-examples/
OriginalL'auteur El Sampsa