H.264 webcam capture, missing GstMetaVideo API

Alexey lexa.knyazev+gst at gmail.com
Wed Nov 21 08:04:46 PST 2012


Hi!

I'm building webcam (Logitech C920) application with gstreamer1.0.

With mjpeg it works:

gst-launch-1.0 v4l2src ! "image/jpeg" ! jpegdec ! videoconvert ! xvimagesink

But with h264 encoder doesn't:

gst-launch-1.0 --gst-debug-level=3 v4l2src ! "video/x-h264" !
avdec_h264 ! videoconvert ! xvimagesink

0:00:00.109059811  5094  0x9407240 WARN                GST_PADS
gstpad.c:3582:gst_pad_peer_query:<capsfilter0:src> pad has no peer
0:00:00.109550728  5094  0x9407240 WARN                GST_PADS
gstpad.c:3582:gst_pad_peer_query:<videoconvert0:src> pad has no peer
0:00:00.109902871  5094  0x9407240 WARN                GST_PADS
gstpad.c:3582:gst_pad_peer_query:<videoconvert0:src> pad has no peer
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
0:00:00.900169994  5094  0x9407240 WARN                     bin
gstbin.c:2488:gst_bin_do_latency_func:<pipeline0> failed to query
latency
New clock: GstSystemClock
0:00:00.947260355  5094  0x943a030 ERROR                   v4l2
gstv4l2bufferpool.c:374:gst_v4l2_buffer_pool_set_config:<v4l2bufferpool0>
missing GstMetaVideo API in config, default stride: 0, wanted stride
3840
0:00:00.947541025  5094  0x943a030 ERROR                   v4l2
gstv4l2bufferpool.c:374:gst_v4l2_buffer_pool_set_config:<v4l2bufferpool0>
missing GstMetaVideo API in config, default stride: 0, wanted stride
3840
0:00:00.947583648  5094  0x943a030 ERROR                   v4l2
gstv4l2bufferpool.c:374:gst_v4l2_buffer_pool_set_config:<v4l2bufferpool0>
missing GstMetaVideo API in config, default stride: 0, wanted stride
3840
0:00:00.947611178  5094  0x943a030 ERROR             bufferpool
gstbufferpool.c:485:gst_buffer_pool_set_active:<v4l2bufferpool0> pool
was not configured
0:00:00.947631365  5094  0x943a030 ERROR                basesrc
gstbasesrc.c:2838:gst_base_src_set_allocation:<v4l2src0> failed to
activate bufferpool.
0:00:00.947676353  5094  0x943a030 WARN                 basesrc
gstbasesrc.c:2781:gst_base_src_loop:<v4l2src0> error: Internal data
flow error.
0:00:00.947703856  5094  0x943a030 WARN                 basesrc
gstbasesrc.c:2781:gst_base_src_loop:<v4l2src0> error: streaming task
paused, reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
Internal data flow error.
Additional debug info:
gstbasesrc.c(2781): gst_base_src_loop ():
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 47347852 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

Is there any way to use hardware h.264 encoder with v4l2src element,
or I must use uvch264_src from plugins-bad?


More information about the gstreamer-devel mailing list