Impossible de capturer de la vidéo à l'aide d'OpenCv


9

J'ai installé OpenCv 2.3.1 dans mon raspberry pi (Debian Wheezy) après ce tutoriel.

Mais je ne peux pas prendre de vidéo avec ma webcam USB. Gstreamer affiche cette erreur:

OpenCV Error: Unsupported format or combination of formats (Gstreamer Opencv backend doesn't support this codec acutally.) in CvVideoWriter_GStreamer::open, file /home/pi/OpenCV-2.3.1/modules/highgui/src/cap_gstreamer.cpp, line 483 terminate called after throwing an instance of 'cv::Exception' what(): /home/pi/OpenCV-2.3.1/modules/highgui/src/cap_gstreamer.cpp:483: error: (-210) Gstreamer Opencv backend doesn't support this codec acutally. in function CvVideoWriter_GStreamer::open Aborted

Que puis-je faire ensuite?


Quelle webcam utilisez-vous?
Alex Chamberlain

Bonjour, j'utilise le module e-CAM30_USB. Je peux prendre des photos avec cet appareil photo. J'utilise raspberry pi avec Debian Wheezy. FFMPEG est activé. Je suis toujours confronté à un problème. Aidez-moi, s'il vous plaît.
sumith

Réponses:


7

Le gstreamer vous indique que le flux n'est pas pris en charge. FFMPEG est activé comme vous l'avez dit.

J'ai jeté un coup d'œil aux spécifications de l'appareil photo - il vient d'un ordinateur portable et est destiné à fonctionner avec Microsoft Windows principalement et n'est pas vraiment pris en charge pour Linux, mais ils disent que cela fonctionnera sur Redhat 2. +

Cette caméra renvoie la vidéo sur l'un de ces codecs

  • YUY2 (FFMPEG OFF?)
  • MJPEG (FFMPEG ON?)

Les images fixes sont un JPG standard encodé par l'encodeur MJPEG, c'est pourquoi vous pouvez le voir. Je suis sûr que gstreamer prend en charge MJPEG et je ne suis pas sûr de YUV2. Mais! Il est possible que l'implémentation MJPEG pour l'architecture ARM (Pi) ne soit toujours pas prise en charge.

Il est possible que gstreamer doive demander directement à la caméra MJPEG ou quelque chose d'autre doit le demander. Je doute que YUY2 fonctionnera bien sur le Pi. (Au moins, il n'est répertorié dans aucun codec pris en charge - mais MJPG l'est)

Il est possible que vous utilisiez autre chose que gstreamer. Jetez un oeil ici. ou à ce poste.

ÉDITER

OP a résolu le problème en utilisant image 2012-09-18-wheezy-raspbianet en installant OpenCV 2.4.2ce guide complet et long .


Que voulez-vous dire par FFMPEG est activé / désactivé?
Alex Chamberlain

1
La caméra a un paramètre quelque part pour choisir le format vidéo. YUY2 est non compressé, plus rapide et de meilleure qualité. L'activation de cette fonction MPEG essaie le plus souvent de transporter la vidéo en utilisant MJPEG (qui sont des séries de fichiers JPG pas vraiment un format vidéo sophistiqué) Donc peut-être que l'utilisation de gstreamer n'est pas la solution!
Piotr Kula

Salut, j'ai beaucoup de plaisir à vous informer, le problème est terminé. Ce que j'ai fait, c'est 1. J'ai installé une nouvelle image 2012-09-18-wheezy-raspbian.img sur mon Raspberry Pi. Ref: elinux.org/RPi_Easy_SD_Card_Setup 2. Puis installé OpenCV 2.4.2 en suivant le site Ref: mitchtech.net/raspberry-pi-opencv Maintenant je peux prendre des vidéos avec la webcam usb logitech hd720p. Merci à votre soutien. Mais je suis intéressé de savoir pourquoi cette tâche présente des problèmes dans opencv 2.3.1.
sumith

Bonjour, M. ppumkin, j'ai essayé de prendre des images avec la webcam econ Ecam-32 en utilisant mjpg-streamer comme vous l'avez dit, mais j'ai quand même eu de mauvaises images alors que la caméra logitech fonctionnait bien. Ref: tanzilli.com/video_streaming.Peut-on faire autre chose?
sumith

1

Raspberry pi fonctionne maintenant avec la webcam en ligne e-con ECAM 32. J'ai changé le régulateur de tension qui fournit 3,3 V à la caméra, et connecté le régulateur de tension TPS736xx de Texas Instruments et maintenant la caméra prenant des images et des vidéos de 320 x 240 pixels ...

Merci beaucoup pour votre soutien ...

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.