GStreamer Camera compliance

Nirbheek Chauhan nirbheek.chauhan at gmail.com
Wed Oct 7 03:01:09 PDT 2015


Hi Rushin,

What is the model name/make/company of your v4l2 camera? Is MUX the
only format it can output? You can check by looking at the output of:

gst-device-monitor-1.0 Video/Source

This will tell you all the formats that are supported. In addition,
avimux only supports muxing of some RAW video formats (see the caps
field in `gst-inspect-1.0 avimux`). You will need to either convert
the format or encode it (using, say, x264enc, avenc_mpeg4, etc) before
using avimux (again see the gst-inspect-1.0 output of those). Encoding
will give you a smaller and more manageable file. You can also check
if your camera outputs image/jpeg and just pass that to avimux.

gst-launch-1.0 -v v4l2src ! [format string] ! videoconvert ! avimux !
filesink location=test.raw

or

gst-launch-1.0 -v v4l2src ! [format string] ! videoconvert ! x264enc !
avimux ! filesink location=test.raw

or

gst-launch-1.0 -v v4l2src ! image/jpeg, [rest of the video format] !
avimux ! filesink location=test.raw

Cheers,
Nirbheek

On Tue, Oct 6, 2015 at 2:03 PM, Rushin Shah <rushin.shah at einfochips.com> wrote:
> Hi All,
>
> I am facing an issue with my USB camera. Whenever I try to capture the
> stream from V4L2 source, it either returns only the GREY data or returns
> "Internal data flow error"
>
> Following is my pipeline:
>
> gst-launch-1.0 -v v4l2src ! video/x-raw,framerate=25/1,widht=640,height=360
> ! avimux ! filesink location=test.raw
>
>
> Following is the detailed error log:
>
> Setting pipeline to PAUSED ...
> Pipeline is live and does not need PREROLL ...
> /GstPipeline:pipeline0/GstAviMux:avimux0.GstPad:src: caps = video/x-msvideo
> ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal
> data flow error.
> Additional debug info:
> gstbasesrc.c(2933): gst_base_src_loop ():
> /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
> streaming task paused, reason not-negotiated (-4)
> /GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps =
> video/x-msvideo
> ERROR: pipeline doesn't want to preroll.
> Setting pipeline to PAUSED ...
> Setting pipeline to READY ...
> Setting pipeline to NULL ...
> Freeing pipeline ...
>
> I also installed v4l2-ctl utility and following are the outputs:
>
> # v4l2-ctl --list-devices
> msm_vdec_8974 ():
>         /dev/video32
>         /dev/video33
>
> Condor (usb-78d9000.ehci-1.1):
>         /dev/video0
>         /dev/video1
>
>
> # v4l2-ctl --list-formats
> ioctl: VIDIOC_ENUM_FMT
>         Index       : 0
>         Type        : Video Capture
>         Pixel Format: 'MUX ' (compressed)
>         Name        : MUX
>
>
> It seems my camera is giving mux as output and that is the reason my
> pipeline does not work. Please suggest what could be wrong as soon as
> possible.
>
> Thanks in advance!
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/GStreamer-Camera-compliance-tp4673979.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



-- 
~Nirbheek Chauhan


More information about the gstreamer-devel mailing list