-
Caméra IP et OpenCV
Voila, je souhaite manipuler le flux vidéo d'une camera IP sous OpenCV en remplacement du flux provenant de ma Webcam. L'objectif étant de faire des captures classiques à certains instants.
Config actuelle :
- Windows seven 64bits (je vais migrer dans un second temps)
- OpenCV2.1 (Je suis revenu à cette version car trop de pb d'install et de compatibilité avec la version 2.3.1)
Ma camera semble être d'une manufacture mixte. Je me documente actuellement sur cette cam IP. Pour le moment :
- Drivers installé et camera reconnu
- IP automatiquement attribué par l'outil
- 1) Existe t'il une solution générique pour visionner le flux d'une caméra IP quelconque dans une page WEB en local connaissant son IP?
J'ai testé cette méthode :
http://XXX.XXX.XXX.XXX
(IP fourni par l'outil) sous IE et Firefox, cela ne fonctionne pas. Je ne visualise rien.
Sur internet, il semble y avoir beaucoup de solutions pour les caméras AXIS ou d'autres compagnies.
Sous AXIS, certains font :
http://192.168.1.118/axis-cgi/mjpg/video.cgi?
D'autres :
http://192.168.2.15/GetData.cgi
- 2) Existe t'il une solution générique pour capturer le flux d'une caméra IP quelconque à partir d'OpenCV?
Sous OpenCV, la commande employée pour récupérer le flux de la Webcam est celle-ci :
Code:
cap_gauche = cvCaptureFromCAM(1)
avec l'indice qui change en fonction des sorties.
Pour les cameras IP, il semble y avoir deux strategies pour accéder aux flux :
- lire du MJPEG par le protocole HTTP
- lire du MPEG-4 par le protocole RTSP
On trouve sur des forums des tentatives avec :
Code:
cvCaptureFromFile("rstp:adresseIPdemacamera");
Une solution indirecte que je n'ai pas testé pour le moment :
http://stackoverflow.com/questions/7...etwork-cameras (ci-dessous)
"OpenCV can be compiled with FFMPEG support. From ./configure --help:
--with-ffmpeg use ffmpeg libraries (see LICENSE) [automatic] You can then use *cvCreateFileCapture_FFMPEG* to create a CvCapture with e.g. the URL of the camera's MJPG stream."
Code:
CvCapture *capture = cvCreateFileCapture_FFMPEG("http://axis-cam/mjpg/video.mjpg?resolution=640x480&req_fps=10&.mjpg");
Certains parlent d'employer GStreamer, tester sur camera AXIS :
http://xuv.be/OpenCV-GStreamer-Camera-sur-IP.html
Voila une partie des tentatives du forum :
http://www.developpez.net/forums/d95...opencv-camera/ (infos)
http://www.developpez.net/forums/d10...ncv-camera-ip/ (sans réponse)
http://www.developpez.net/forums/d10...eam-rtsp-rtmp/ (sans réponse)
http://www.developpez.net/forums/d51...ing-camera-ip/ (infos)
http://forum.openframeworks.cc/index.php?topic=1669.0 (infos)
Le passage par un logiciel du fournisseur est t'il obligatoire pour la visu dans une page web? Faut t'il obligatoirement installer une librairie complémentaire pour faire l'intermédiaire avec OpenCV? Quelles sont les plus solutions les plus génériques et open source si une lib est nécessaire? Quelle est la bonne stratégie a adopter ici pour lire le flux sous OpenCV et faire des captures?
-
Je n'ai pas trouvé de solution générique, mais je peux t'assurer que tu peux capturer le flux sous OpenCV en donnent l'url que tu utiliserais pour ton navigateur a la fonction cvCaptureFromFile.
-
En ce moment, je suis a la recherche de ce lien pour les cameras Genie.
J ai teste la visualisation classique de l ip sous :
- IE et Firefox
- Par l intermediaire de VLC media player
Pour le moment, pas de moyen de visionner dans le flux (etape 1).
Si vous avez une piste, thanks
-
C'est peut être détaillé sur le site du constructeur, ou dans la documentation de la camera.
-
Merci pour ta reponse. C est un bon point. L objectif est donc de determiner quelle est l adresse en question pour acceder a la cam.
- J ai lu la doc et je n ai pas vu de lien ou d information sur le sujet.
- J ai teste un outils d acquisition demo 60 jours du constructeur qui me permet d enregistrer une video et de faire des captures.
- J ai ecrit au constructeur. Il m a repondu que ma Genie camera n est pas une camera IP contrairement aux cameras Axis. Je suis un peu sceptique concernant cette reponse.
Il m a dit qu il faut utiliser l interface proposer par le fabriquant et il croit que ce que j ai demande (visualiser le flux ds un navigateur) n est pas faisable.
Je vais installer leur kit demo de traitement d images pour voir comment ils procedent.
Pour le moment, independamment de la solution payante, lla cam est reconnue, le drivers gratuit fonctionne et une adresse IP est attribue. La cam est branche en ethernet. Je cherche une solution pour acceder au flux dans le navigateur afin de pouvoir le relire sous opencv. N hesitez pas a me proposer des alternatives. Thanks
-
Ca suppose que la caméra possède un serveur intégré sinon il est logique que vue d'un navigateur tu ne vois rien. Je pense que tu dois avoir besoin d'un soft (propriétaire ca va de soit) pour diffuser ton flux, sinon la caméra envoie le flux à qui et comment.
je pense que l'utilisation doit être générique donc ca doit ressembler à quelque chose comme ca :
http://www.01net.com/editorial/33979...une-camera-ip/