gstreamer1.0 video issues

Andreas Gajda Andreas_Gajda at web.de
Sun Dec 1 08:57:36 EST 2019


Hallo Everyone,

I'm trying to create a video session over XMPP jingles protocoll. I
always get an error window and several error messages.

I'm using the fedora 31 version, but also compiled the same version
from source, with no difference:
$pidgin --version
Pidgin 2.13.0-15.fc31 (libpurple 2.13.0)

(Other programs show the webcam video with no problem.)

After many hours of online search and testing, I've narrowed it down,
that my webcam seems to use a video format, which is not support by xv.
For example, this ends with an error:

gst-launch-1.0 v4l2src device=/dev/video0 ! xvimagesink
Leitung wird auf PAUSIERT gesetzt ...
Leitung ist aktiv und erfordert keinen VORLAUF …
Leitung wird auf ABSPIELEN gesetzt ...
FEHLER: Von Element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Internal data stream error.
Zusätzliche Fehlerdiagnoseinformation:
gstbasesrc.c(3072): gst_base_src_loop ():
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)

but this works:
gst-launch-1.0 v4l2src device=/dev/video0 ! jpegdec ! xvimagesink

Using GST_DEBUG=*:4 I've got the following format information:
INFO        GST_ELEMENT_PADS
gstelement.c:912:gst_element_get_static_pad: no such pad 'sink' in
element "v4l2src0"
INFO                    v4l2
gstv4l2object.c:1201:gst_v4l2_object_fill_format_list:<v4l2src0:src>
got 2 format(s):
INFO                    v4l2
gstv4l2object.c:1205:gst_v4l2_object_fill_format_list:<v4l2src0:src>
YUYV
INFO                    v4l2
gstv4l2object.c:1205:gst_v4l2_object_fill_format_list:<v4l2src0:src>
MJPG
Leitung wird auf ABSPIELEN gesetzt ...
INFO                    v4l2
gstv4l2object.c:4252:gst_v4l2_object_probe_caps:<v4l2src0:src> probed
caps: video/x-raw, format=(string)YUY2, width=(int)640,
height=(int)480, pixel-aspect-ratio=(fraction)1/1,
framerate=(fraction)30/1; video/x-raw, format=(string)YUY2,
width=(int)640, height=(int)360, pixel-aspect-ratio=(fraction)1/1,
framerate=(fraction)30/1; video/x-raw, format=(string)YUY2,
width=(int)424, height=(int)240, pixel-aspect-ratio=(fraction)1/1,
framerate=(fraction)30/1; video/x-raw, format=(string)YUY2,
width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1,
framerate=(fraction)30/1; video/x-raw, format=(string)YUY2,
width=(int)320, height=(int)180, pixel-aspect-ratio=(fraction)1/1,
framerate=(fraction)30/1; video/x-raw, format=(string)YUY2,
width=(int)160, height=(int)120, pixel-aspect-ratio=(fraction)1/1,
framerate=(fraction)30/1; image/jpeg, width=(int)1280, height=(int)720,
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1; image/jpeg,
width=(int)960, height=(int)540, pixel-aspect-ratio=(fraction)1/1,
framerate=(fraction)30/1; image/jpeg, width=(int)848, height=(int)480,
pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1; image/jpeg,
width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1,
framerate=(fraction)30/1

Is there a way to configure pidgin,e.g for using a stream converter for
input or output? I've no experience in gstreamer programming, but if I
can modify the source code to create a pipeline, like above, this could
solve my problem. Any hint is appreciated.

Thank you very much in advance!
Andreas



More information about the Support mailing list