8
votes

Accès de la caméra IP à l'aide d'OpenCV

Le code indiqué ci-dessous consiste à accéder à une caméra IP d'axe à l'aide de OPENCV. En exécutant le programme, il affiche d'abord "Erreur dans l'ouverture de cap_ffmpeg_impl ...", puis il affiche la caméra non trouvée. xxx

où je vais mal?


20 commentaires

Assurez-vous que tous les codecs sont installés d'une manière ou d'une autre sur votre système. Ou vous l'ouvrez-vous avec succès de votre machine locale (testez-la en plaçant un chemin local au lieu de l'URL)? Vous pouvez essayer de télécharger et d'installer manuellement ffmpeg (


Voir le Réponse


Êtes-vous capable de diffuser correctement l'appareil photo du navigateur?


@MAYUR Oui, le site Le lien que vous avez donné m'a fourni le lien pour le flux en direct, et c'est le lien que j'utilise. Et cela ne fonctionne pas.


Avez-vous essayé d'utiliser ISPY, comme je l'ai mentionné ci-dessous. Obtenez le lien que choisit et l'essayer. Cela a fonctionné pour moi.


@Mayur a essayé tous les liens, le même problème: /


Ont installé le codec FFMPEG


Je viens d'essayer votre code. J'ai fait face à la même erreur que vous rencontrez. Avez-vous essayé le code que j'ai fourni en réponse.Veuillez l'essayer et voir si cela fonctionne.


J'ai copié votre code, puis je l'ai modifié et j'ai fourni l'adresse IP correcte, puis j'ai installé le codec FFMPEG et toujours aucun résultat.


Quelle édition avez-vous fait?


J'ai juste vérifié votre code. C'est correct. Cela a fonctionné avec ma caméra IP. Maintenant, seulement deux possibilités 1> Soit une émission de codec ou 2> URL. Pouvez-vous partager l'URL?


@Mayur j'ai essayé le lien indiqué ci-dessous pour l'installation de FFMPEG. Et j'ai essayé la réponse mise à jour, je pense qu'il y a quelque chose qui ne va pas avec mon installation de FFMPEG. Zut, si proche: / wikihow.com/install-ffmp-on-windows


URL: root: root@169.254.159.110: 8088 / mjpeg.cgi? Utilisateur = racine et mot de passe = root & canal = 0 & .mjpg; Il suffit d'ajouter http: // en face de celui-ci


L'adresse IP que vous avez fournie est une adresse publique publique de votre appareil photo? Si oui, je peux vérifier sur mon côté avec votre code avec votre permission. Plus tard, supprimez le commentaire qui a votre adresse IP.


Laissez-nous Continuer cette discussion en chat


J'ai aussi le même problème, mais je ne le résolvez jamais, j'essaie de nombreuses URL pour la caméra, mais cela ne fonctionne jamais, avez-vous modifié OpenCV pour ouvrir un lien MJPEG? Je pense que c'est le problème ici


Nah, n'a jamais réussi à résoudre celui-ci. Pardon.


Je sais que c'est vieux d'ici maintenant, mais est-ce encore non résolu? Avoir le même problème moi-même.


3 Réponses :


8
votes

J'ai fait face à un problème similaire lors de la tentative d'affichage de la caméra IP à l'aide de la caméra IP publique. OpenCV a besoin d'un type d'URL typique pour ouvrir la caméra.Triez l'URL du code ci-dessous. Heres le code qui a fonctionné pour moi. XXX PRE>

Copier ce code tel qu'il est et essayez. P>

#include <stdio.h>
#include <opencv2/opencv.hpp>
#include <iostream>
int main(int, char**) {
    cv::VideoCapture vcap;
    cv::Mat image;

    // This works on a D-Link CDS-932L

    const std::string videoStreamAddress = "http://USER:PWD@IPADDRESS:8088/mjpeg.cgi?user=USERNAME&password=PWD&channel=0&.mjpg";
       //open the video stream and make sure it's opened
    if(!vcap.open(videoStreamAddress)) {
        std::cout << "Error opening video stream or file" << std::endl;
        return -1;
    }

    for(;;) {
        if(!vcap.read(image)) {
            std::cout << "No frame" << std::endl;
            cv::waitKey();
        }
        cv::imshow("Output Window", image);

        if(cv::waitKey(1) >= 0) break;
    }   

}


7 commentaires

Comment trouver le numéro de port de la caméra IP?


Vous pouvez obtenir le numéro de port de l'interface Web de votre appareil photo IP.


En outre, le lien de diffusion en continu d'un axe 1103 est le suivant: iPaddress / Axis-CGI / MJPG / VIDEO.CGI donc, quel est le lien que je devrais fournir? Le lien avec nom d'utilisateur et mot de passe?


Un raccourci qui pourrait vous aider est comme suit. Si vous connaissez le logiciel ISPY, il fournit tout le lien possible qui peut être utilisé pour afficher la caméra. De plus, il vous demande que vous devriez sélectionner une URL qui doit être une URL qui conviendra mieux à l'affichage de la vidéo, laissez ISPY sélectionner le lien, essayez d'utiliser le même lien dans votre programme, il pourrait fonctionner.


Si le problème est résolu avec la réponse fournie, veuillez le marquer, de sorte que d'autres puissent également utiliser la même chose.


Allez à ce Lien et trouvez la liste de l'URL pour la caméra AXIS, cela pourrait aider.


J'ai ajouté ce code à videocapture et a exposé l'API mais cela ne fonctionne pas



2
votes

Les travaux suivants pour un axe M1004-W connectés à mon ordinateur via un câble Ethernet:

  1. Dans le navigateur de votre choix (j'utilise Chrome), accédez à l'adresse IP de la caméra. Fournir des informations d'identification si nécessaire.
  2. Vous devriez regarder un flux en direct de votre appareil photo. Cliquez avec le bouton droit sur le flux vidéo et sélectionnez "Inspecter l'élément" (ou son équivalent dans les navigateurs non chromés).
  3. Vous devriez voir une variable appelée SRC - c'est ce que vous pouvez utiliser dans OpenCV pour accéder directement à la caméra. Le mien est /mjpg/video.mjpg , et je parie que le vôtre sera similaire.

    L'adresse que vous donnez à OpenCV devrait ressembler à ceci: xxx

    C'est à quoi ressemble à la mine: xxx

    J'ai entré mon adresse dans votre code et je peux voir le flux vidéo à partir d'une fenêtre OpenCV.


0 commentaires

0
votes

J'ai installé une application "mini webcam" sur mon iPhone et l'a utilisé comme une caméra IP avec " http://192.168.1.103 "comme il est adressé. De plus, j'ai utilisé cette pièce de code: xxx

Ça fonctionne. ( http://192.168.1.103/video.cgi?.mjpg )


0 commentaires