Partage
  • Partager sur Facebook
  • Partager sur Twitter

OPENCV Lecture RTSP _ 461 Client error

OPENING IN BLOCKING MODE

    9 décembre 2021 à 15:24:44

    Bonjour, 

    J'obtiens l'erreur suivant quand j'essaye de lire une video en RTSP avec OPENCV 

    461 Client error _ Opening in BLOCKING MODE

    Je voulais savoir si quelqu'un avait déjà rencontré le problème ? 

    Je vous remercie d'avance pour vos reponses. 

    • Partager sur Facebook
    • Partager sur Twitter

    Site Internet : https://devst.go.yj.fr

      9 décembre 2021 à 18:33:35

      DeveloSt a écrit:

      Je voulais savoir si quelqu'un avait déjà rencontré le problème ? 

      Une recherche sur Google donnerait la réponse (et des solutions).

      -
      Edité par mps 9 décembre 2021 à 18:34:10

      • Partager sur Facebook
      • Partager sur Twitter
        10 décembre 2021 à 8:29:37

        mps a écrit:

        DeveloSt a écrit:

        Je voulais savoir si quelqu'un avait déjà rencontré le problème ? 

        Une recherche sur Google donnerait la réponse (et des solutions).


        C'est la première chose que j'ai fait, mais rien n'a résolu le problème... 

        • Partager sur Facebook
        • Partager sur Twitter

        Site Internet : https://devst.go.yj.fr

          10 décembre 2021 à 9:19:25

          Vous saviez donc que  ce problème a déjà été rencontré: pourquoi poser cette seule question?

          Si vous voulez de l'aide pour le corriger, il va falloir fournir un peu plus d'informations que le seul message d'erreur.

          • Partager sur Facebook
          • Partager sur Twitter
            10 décembre 2021 à 11:33:15

            Pour l'instant, j'essaye de diffuser une video en avi depuis VLC d'un PC sur Windows et de la lire à partir sur une Raspberry pi avec Python et la librairie OPENCV. 

            Au niveau du code je fait uniquement cela... quand je teste avec une vidéo sur la Raspberry ca fonctionne...

            import numpy as np
            import cv2
            cap = cv2.VideoCapture('rtsp://:8554/')
            while(1):
              ret, frame = cap.read()
              cv2.imshow('VIDEO',frame)
              if cv2waitKey(1)
            
            cap.release()
            cv2.destroyAllWindows()

            Ce n'est pas l'URL complète que j'ai utilisé. 

            Je sais pas quelles informations je peux donner de plus ? 

            -
            Edité par DeveloSt 10 décembre 2021 à 11:35:25

            • Partager sur Facebook
            • Partager sur Twitter

            Site Internet : https://devst.go.yj.fr

              10 décembre 2021 à 12:02:27

              On peut juste chercher sur Internet à votre place et vous suggérer d'essayer les solutions proposées. Comme il y en a plein, ça peut paraître fastidieux... mais c'est comme ça.
              • Partager sur Facebook
              • Partager sur Twitter
                10 décembre 2021 à 12:02:50

                il ne faut pas indiquer l'adresse IP du pc source dans l'adresse rstp ?
                • Partager sur Facebook
                • Partager sur Twitter
                  10 décembre 2021 à 13:12:53

                  ok merci pour vos réponses, 

                  umfred a écrit:

                  il ne faut pas indiquer l'adresse IP du pc source dans l'adresse rstp ?


                  Je me confonds aussi souvent dans l'écriture rtsp et rstp 😅

                  Sinon j'ai écrit que c'était pas l'URL utilisé... j'ai mis ça rtsp://10.1.1.5:8554/ <== IP du PC source (windows)

                  Peut être l'erreur peut venir de l'IP que je renseigne lors de la diffusion dans le PC source (j'ai lus qu'il fallait normalement donner l'IP du PC de destination) 

                  j'ai essayé plusieurs choses avec des erreurs différentes... 

                  1) rtsp://:8554/ <== PC (windows, localhost) <= erreur 461

                  2) rtsp://10.1.1.4:8554/ <== ip du PC de destination (Linux) <= erreur 404 

                  3) rtsp://10.1.1.5:8554/ <== ip du PC source (windows) <= pas de communication

                  J'ai également désactivé les pare-feux lors des tests

                  J'ai l'impression de faire encore plus de surplace quand j'ai une erreur au niveau du réseaux que du programme... 😑

                  Au moins dans le code quand je résous l'erreur je comprend d'où ça venait, en réseau j'ai vraiment l'impression que c'est aléatoire, ca fonctionne puis ca ne fonctionne plus alors que je fait les mêmes choses...

                  -
                  Edité par DeveloSt 10 décembre 2021 à 13:20:39

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Site Internet : https://devst.go.yj.fr

                    10 décembre 2021 à 14:33:35

                    et via vlc sur le raspberry, tu vois le flux ? (ou sur un autre pc si tu as d'autres pc en réseau)

                    Pour l'adresse IP ici, essaie avec l'adresse ip locale (le raspberry et le pc sont sur le même réseau je suppose)

                    La bonne adresse c'est celle de la source (le pc qui diffuse) et il faut que le flux soit diffusé (activer la lecture en boucle côté vlc diffuseur) , sinon il n'y a rien à recevoir de l'autre côté

                    • Partager sur Facebook
                    • Partager sur Twitter
                      10 décembre 2021 à 14:54:33

                      umfred a écrit:

                      et via vlc sur le raspberry, tu vois le flux ? (ou sur un autre pc si tu as d'autres pc en réseau)

                      Les tests que j'ai fait : 

                      Sur Windows j'ai ouvert 2 VLC 1 en diffusion, l'autre en lecture avec le localhost en adresse, ça a fonctionné. 

                      Sur Linux j'ai ouvert 2 VLC 1 en diffusion et dès que je lance la lecture sur le deuxième VLC se ferme tous seul 😑   

                      Sur Windows Diffuseur et Linux récepteur (VLC se ferme tous seul a la lecture...) 

                      Ce que j'ai pas essayé c'est Linux Diffuseur et Windows récepteur 😅

                      Mais pour l'instant je peux pas faire le test (j'ai pas la Raspberry, je testerais lundi) 

                      umfred a écrit:

                      Pour l'adresse IP ici, essaie avec l'adresse ip locale (le raspberry et le pc sont sur le même réseau je suppose)

                       Oui j'arrive à ping des 2 cotés 

                      umfred a écrit:

                      La bonne adresse c'est celle de la source (le pc qui diffuse) et il faut que le flux soit diffusé (activer la lecture en boucle côté vlc diffuseur) , sinon il n'y a rien à recevoir de l'autre côté

                      Ok merci ça va supprimer des tests que je réalise inutilement :) 

                      Pour résumer si j'ai bien compris : 

                      Linux IP => 10.1.1.4

                      Windows IP => 10.1.1.5 

                      Donc 

                      Diffusion Windows => 10.1.1.5

                      Reception Linux => 10.1.1.5 

                      Oui j'ai remarqué que la vidéo doit être en cours... quand je mets la diffusion en pause, le VLC en lecture s'arrête également.

                      -
                      Edité par DeveloSt 10 décembre 2021 à 14:57:04

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Site Internet : https://devst.go.yj.fr

                        10 décembre 2021 à 15:06:50

                        si le pc windows qui diffuse, le lecteur du flux doit se connecter à l'adresse du diffuseur, donc indiquer l'adresse du pc windows

                        Si tu veux accéder au forum OC, tu ne vas te connecter sur ton adresse ip local, mais celle du forum (via son nom)

                        • Partager sur Facebook
                        • Partager sur Twitter
                          10 décembre 2021 à 15:24:20

                          umfred a écrit:

                          si le pc windows qui diffuse, le lecteur du flux doit se connecter à l'adresse du diffuseur, donc indiquer l'adresse du pc windows

                          Si tu veux accéder au forum OC, tu ne vas te connecter sur ton adresse ip local, mais celle du forum (via son nom)


                          Je suis d'accord...

                          Ou je suis un peu confus c'est pas d'adresse que doit avoir le PC qui lit le flux, mais l'adresse que je doit mettre dans le PC qui diffuse. 

                          • Partager sur Facebook
                          • Partager sur Twitter

                          Site Internet : https://devst.go.yj.fr

                            10 décembre 2021 à 15:36:41

                            sur le pc qui diffuse, rien; ou alors c'est l'adresse cible (donc l'autre pc)
                            • Partager sur Facebook
                            • Partager sur Twitter
                              10 décembre 2021 à 16:12:21

                              Ok, 

                              Donc sur le pc qui diffuse : 

                              Quand je met rien j'ai l'erreur 461 

                              et quand je met l'adresse cible j'ai l'erreur 404  

                              Lundi je fait les tests dans le sens inverse Linux diffuseur et Windows Lecteur... 

                              J'espère retourné sur un projet avec moins de réseau bientôt parce qu'entre Modbus, TCP, SSH, RTSP, RS232 (port com), MPI Je m'en sort plus 😓🤯 

                              En plus j'étais sur une bonne lancé avec le développement web, bdd...

                              -
                              Edité par DeveloSt 10 décembre 2021 à 16:36:23

                              • Partager sur Facebook
                              • Partager sur Twitter

                              Site Internet : https://devst.go.yj.fr

                                10 décembre 2021 à 16:36:43

                                Si vous ne rentrez pas la bonne adresse IP ou le bon port, l'appel à VideoCapture doit attendre le timeout (pas de réponse) et sortira une autre erreur que le ClientError mentionné au départ.

                                Si vous avez démarré VLC en serveur RSTP, côté client vous savez comment compléter l'URL (excepté l'adresse IP) à partir de ce qui a été donné dans le paramètre sdp de la commande passée à VLC.

                                -
                                Edité par mps 10 décembre 2021 à 16:37:12

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  16 décembre 2021 à 8:40:56

                                  Bonjour, 

                                  Pour donner des nouvelles, 

                                  j'arrive a diffusé la vidéo de linux et la lire sur Windows avec VLC. 

                                  Sinon en faisant une recherche rapide : 

                                  https://docs.opencv.org/3.4/d8/dfe/classcv_1_1VideoCapture.html#a57c0e81e83e60f36c83027dc2a188e80

                                  avec la fonction VideoCapture (const String &filename, int apiPreference)

                                  En lisant une video locale : 

                                  en utilisant apiPreference à CAP_FFMPEG ca fonctionne

                                  en utilisant apiPreference à CAP_GSTREAMER je retombe sur l'erreur 461. 

                                  Je ne sais pas si ça un lien ?

                                  J'ai pas trop compris ce que c'est apiPreference ?

                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  Site Internet : https://devst.go.yj.fr

                                    16 décembre 2021 à 11:10:41

                                    c'est en gros, le type de vidéo; met à 0 (CAP_ANY) pour faire une détection automatique
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      16 décembre 2021 à 13:40:28

                                      Toujours la même erreur 😅

                                      Je continu les recherches... 

                                      Pour poster l'erreur complet : 

                                      Quand je mets le type de video a FFMPEG, je n'ai plus d'erreur opening in blocking mode 

                                      Il me laisse uniquement la derniere ligne unrecognized or unsupported array type in function 'cvGetMat' 

                                      -
                                      Edité par DeveloSt 16 décembre 2021 à 14:27:50

                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      Site Internet : https://devst.go.yj.fr

                                        16 décembre 2021 à 15:11:50

                                        ça semble indiquer que la vidéo semble être à l'arrêt ou interrompue (embedded video playback halted) 

                                        Après, il y a une autre erreur au niveau de la ligne 24 cv.imshow('VIDEO',frame) sans doute parce frame n'est pas OK

                                        Sinon remet CAP_FFMPEG si ça fonctionnait.

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          16 décembre 2021 à 15:25:52

                                          J'ai également lus que forcer l'utilisation de UDP a la place de TCP (par défaut)  avec RTSP peut peut-être résoudre le problème... 

                                          Le problème c'est que j'arrive pas a trouver comment faire 

                                          Edit : On viens de me dire de laisser de côté et d'attendre qu'on reçois les caméras... j'espère qu'il y aura moins de problème.

                                          -
                                          Edité par DeveloSt 16 décembre 2021 à 15:41:07

                                          • Partager sur Facebook
                                          • Partager sur Twitter

                                          Site Internet : https://devst.go.yj.fr

                                          OPENCV Lecture RTSP _ 461 Client error

                                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                          • Editeur
                                          • Markdown