IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Afficher l'image d'une caméra IP


Sujet :

Qt

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 47
    Par défaut Afficher l'image d'une caméra IP
    Salut tout le monde,

    Je cherche à afficher une caméra IP sur mon applicatif.
    Pour cela, j'ai réussi à afficher ce que voit ma caméra depuis internet explorer. L'adresse est la suivante : http://192.168.1.1/doc/page/main.asp
    Maintenant, voici mon code source.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    const QUrl url = QUrl("http://192.168.1.1/doc/page/main.asp");
    const QNetworkRequest requete(url);
    QNetworkAccessManager *m = new QNetworkAccessManager;
    QNetworkReply *r = m->get(requete);
    connect(r, SIGNAL(finished()), this, SLOT(afficherCameraIP()));
    Et voici mon SLOT afficherCameraIP.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    void MainWindow::afficherCameraIP()
    {
        //On vérifie qu'il n'y a pas eu d'erreur.
        if(!erreurTrouvee)
        {
            QNetworkReply *r = qobject_cast<QNetworkReply*>(sender()); //On récupère la réponse du serveur
            //QPixmap image = r->readAll();
            QImage image;
            QByteArray byteArray = r->readAll();
            qDebug() << byteArray; // Ici il me renvoie ce qu'affiche l'outil de développement (<!DOCTYPE html PUBLIC etc... </body></html>)
            bool b = image.loadFromData(byteArray);
            qDebug() << b << image; // Ici il me renvoie false et QImage(null)
            IpLabel->setPixmap(QPixmap::fromImage(image));
            r->deleteLater();
        }
    }
    Pouvez-vous m'aider à afficher ce qu'affiche ma caméra IP s'il vous plait ?

    A bientôt !
    iWizzers

  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 635
    Par défaut
    Salut,
    Ben, en gros, si tu es arrivé à afficher ta caméra en passant par l'adresse 192.168.x.y, il n'y a aucune raison pour que tu n'y arrives pas avec... n'importe quelle autre adresse ip

    La seule chose à faire, au niveau de ton code, c'est de "virer" l'adresse écrite en dur pour la remplacer par une adresse "introduite par l'utilisateur".

    En deux mots : url ne sera plus const et 192.168.1.1 sera à remplacer par un paramètre

    Par contre, il se peut que, pour pouvoir atteindre ta caméra "depuis l'extérieur", tu doive ouvrir le port correspondant au niveau de ton routeur et accepter les connexions entrantes et sortantes dessus
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 754
    Par défaut


    À déchiffrer tes commentaires, tu tentes de charger une image depuis une page HTML, alors qu'il faut explorer cette page et voir où exactement se situe l'image (une balise <img>, <video> ou quelque chose de plus exotique…). Autre solution : utiliser Qt WebEngine pour afficher la page que tu charges.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 47
    Par défaut
    Salut dourouc05,

    Merci de tes indications mais ca devient compliqué pour moi car je n'arrive pas à trouver l'URL de l'image ou du flux vidéo lorsque je suis sous internet explorer... Veux tu que je t'envoie le code source de la page ?
    Et imaginons que nous avons l'URL de l'image ou du flux, comment l'afficher ensuite dans un QLabel ou QVideoWidget par exemple ?

    Sinon, est il possible de le faire à l'aide des librairies de VLC ? Comment ?
    J'ai télécharger la librairie version 0.8.6 car la 2.2.1 ne fonctionne pas mais un problème s'offre à moi : erreur : cannot find -lvlc. Je ne comprends pas vraiment comment la résoudre... Donc je reste bloqué mais je cherche des solutions !

  5. #5
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 754
    Par défaut
    Citation Envoyé par iWizzers Voir le message
    Veux tu que je t'envoie le code source de la page ?
    Impossible de travailler sans ce code. Par contre, ne me l'envoie pas, mets-le sur le forum.

    Citation Envoyé par iWizzers Voir le message
    Et imaginons que nous avons l'URL de l'image ou du flux, comment l'afficher ensuite dans un QLabel ou QVideoWidget par exemple ?
    Tu auras l'adresse du fichier image ou vidéo, que tu pourras alors exploiter. Par exemple, avec ton mécanisme actuel pour une image ou en utilisant addMedia pour une vidéo, comme indiqué dans la documentation. Sinon, je ne connais pas VLC. Ouvre une autre discussion si tu veux vraiment l'utiliser, c'est encore une autr eproblématique .
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 47
    Par défaut
    Citation Envoyé par dourouc05 Voir le message
    Impossible de travailler sans ce code. Par contre, ne me l'envoie pas, mets-le sur le forum.
    Je pensais bien le mettre sur le forum

    Voici le flux vidéo que j'obtient à partir d'Internet Explorer (c'est le seul que j'arrive à utiliser pour afficher ce que voit ma caméra IP) :
    Nom : cameraIPie.png
Affichages : 1108
Taille : 1,35 Mo

    Voici maintenant le code source :
    "Outils de développement F12" puis "Débogueur"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" href="../css/base.css"  type="text/css" />
    <link rel="stylesheet" href="../css/main.css"  type="text/css" />
    <script type="text/javascript" src="../script/jquery-1.7.1.min.js"></script>
    <script type="text/javascript" src="../script/jquery.cookie.js"></script>
    <script type="text/javascript" src="../script/common.js"></script>
    <script type="text/javascript" src="../script/Translator.js"></script>
    <script type="text/javascript" src="../script/main.js"></script>
    </head>
    <body onload="initMain()">
     
           <div id="main_top">
            <div class="body_header">
                <div id="header" class="header">
                    <div class="languagepart">
                        <div class="languageshow">
                            <label id="laCurrentLanguage"></label>
                        </div>
                        <div id="divLanguageChoose" class="languagechange"></div>  	
                    </div>
                    <span class="help"></span> 
                    <span class="logo"><img src="../images/main/logo.png"/></span>
     
                    <div id="SoftwareEdition" class="edtioncolumn">	
                        <div class="edition">
                            <span><label>Web:</label>&nbsp;&nbsp;&nbsp;V2.2A</span>
                        </div>	
                        <div class="edition">
                            <span><label>Plugin:</label>&nbsp;V2.0</span>
                        </div>	
                    </div>
                </div>  
                <div id="nav" class="nav">
                    <span class="menu" id="iMenu1" onclick="ChangeFrame('preview.asp',1)">
                        <label id="laPreview" name="laPreview" class="mousepointer"></label>
                    </span>
                    <span class="menu" id="iMenu4" onclick="ChangeFrame('paramconfig.asp',4)">
                        <label id="laConfig" name="laConfig" class="mousepointer"></label>
                    </span>
                     <span class="menu displaynone" id="iMenu5" onclick="ChangeFrame('twotrad.asp',5)" >
                        <label id="latwotrad" name="latwotrad" class="mousepointer">P2P</label>
                    </span>
                    <span class="logout" onclick="GoAway()">
                        <label id="laExit" name="laExit" class="mousepointer"></label>
                    </span>
                    <span class="logoutimg" onclick="GoAway()">&nbsp;</span>	
                    <span class="riser">
                        <label>&nbsp;|&nbsp;</label>
                    </span>	
                    <span class="loginuser">
                        <label id="curruser"></label>
                    </span>
                    <span class="loginuserimg">&nbsp;</span>		
                </div>
            </div>
           </div>
        <div class="body_bgcolor">
            <div id="main_content">
                <div id="content" class="content"></div>
            </div>
        </div>
        <div id="ConfigDivUpdateBlock" class="updateblock"></div>
       </body>
    </html>
    Je ne trouve rien concernant le flux vidéo :/

  7. #7
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 754
    Par défaut
    Peut-être dans al fonctoin initMain() ? Ça a l'air d'être un truc bizarre .
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 47
    Par défaut
    Quelle(s) solution(s) me conseille tu ?

  9. #9
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 754
    Par défaut
    Trois choix, pour moi :
    1. Analyser ce code JavaScript jusqu'à ce que mort s'en suive ;
    2. Utiliser WebEngine pour afficher cette page Web (probablement le plus simple) ;
    3. Lire la documentation de ta caméra (selon http://www.developpez.net/forums/d15...tegration-vlc/, tu peux y accéder par RTSP, ce qui te facilitera grandement la vie par rapport au point 1 : ce protocole coordonne l'émission des paquets de ta vidéo). Tu as peut-être autre chose de prévu.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

Discussions similaires

  1. Réponses: 12
    Dernier message: 22/07/2005, 21h53
  2. [Débutant] Positionnement caméra
    Par djfab dans le forum OpenGL
    Réponses: 4
    Dernier message: 12/04/2005, 18h05
  3. [débutant][c++] Axe de rotation caméra
    Par bornibus dans le forum OpenGL
    Réponses: 2
    Dernier message: 28/02/2005, 10h01
  4. librairie gestion de caméra
    Par Jbx 2.0b dans le forum C++
    Réponses: 1
    Dernier message: 28/02/2005, 01h10
  5. [MFC] affichage image caméra dans un projet dialog
    Par Vestaproman dans le forum MFC
    Réponses: 3
    Dernier message: 07/02/2005, 13h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo