Nous devient un comportement inattendu lors de l'utilisation videoconvert
avec gst-launch
:négociation Gstreamer avec videoconvert
sur l'option de faire (1) ci-dessous, nous obtenons des erreurs:
gst-launch-1.0 v4l2src ! 'video/x-raw, width=640, height=480, framerate=30/1' ! autovideosink
Les erros est:
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error. Additional debug info: gstbasesrc.c(2865): gst_base_src_loop():/GstPipeline:pipeline0/GstV4l2Src:v4l2src0: streaming task paused, reason not-negotiated (-4)
L'erreur a du sens, car probablement le format du filtre ne correspond pas au format v4l2src
ou au format autovideosink
.
Mais en utilisant videoconvert dans les deux options (2 & 3) ci-dessous, il fonctionne OK sans erreur:
Je vois que l'option (2) ci-dessous fonctionne sans erreur:
gst-launch-1.0 v4l2src ! videoconvert ! 'video/x-raw, width=640, height=480, framerate=30/1' ! autovideosink
I voir aussi cette option (3) ci-dessous fonctionne sans erreur:
gst-launch-1.0 v4l2src ! 'video/x-raw, width=640, height=480, framerate=30/1' ! videoconvert ! autovideosink
La question est de savoir pourquoi les travaux dans les deux cas (2 & 3).
Je suppose que cela ne devrait fonctionner que dans l'un d'entre eux car si src de v4l2src
ne correspond pas au filtre (width = 640, height = 480) alors nous devons convertir le format de v4l2src
pour correspondre au filtre. D'autre part, si le format de autovideosink
ne correspond pas au filtre (largeur = 640, hauteur = 480), nous devons effectuer la conversion juste après le filtre. Donc, je suppose que seulement (2) ou (3) devraient fonctionner mais pas les deux.
Je ne sais pas pourquoi l'option (3) fonctionne par exemple. Si v4l2src n'a pas d'option pour sortir le format du filtre de majuscules (largeur = 640, hauteur = 480), et que le convertisseur est fait * seulement après *, alors pourquoi le pipeline devrait-il passer le filtre de majuscules? – ransh
Le filtre de majuscules ne spécifie pas de format. Seule la résolution est appliquée et votre caméra fonctionne avec. – thiagoss
Vous pouvez vérifier 'gst-inspect-1.0 videoconvert' pour voir les différents formats supportés par la vidéoconversion et convertis de/vers. – thiagoss