AnsweredAssumed Answered

How to create a pipeline that reads from an imx device to a loopback sink

Question asked by Casey Gregoire on Jan 16, 2019
Latest reply on Jan 17, 2019 by Casey Gregoire

I am on an imx devlopment board trying to run the following gstreamer pipeline after compling and load the v4l2loopback driver.

gst-launch-1.0 -v imxv4l2videosrc device=/dev/video2 ! video/x-raw ! v4l2sink device=/dev/video10


I get the following error.


Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
/GstPipeline:pipeline0/GstImxV4l2VideoSrc:imxv4l2videosrc0.GstPad:src: caps = video/x-raw, format=(string)UYVY, width=(int)720, height=(int)480, interlace-mode=(string)interleaved, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1
Setting pipeline to PLAYING ...
New clock: GstSystemClock

(gst-launch-1.0:1875): GStreamer-CRITICAL **: Registering meta implementation 'GstImxV4l2Meta' without init function
ERROR: from element /GstPipeline:pipeline0/GstImxV4l2VideoSrc:imxv4l2videosrc0: Internal data stream error.
Additional debug info:
../../../../gstreamer-1.12.4/libs/gst/base/gstbasesrc.c(2939): gst_base_src_loop (): /GstPipeline:pipeline0/GstImxV4l2VideoSrc:imxv4l2videosrc0:
streaming stopped, reason not-negotiated (-4)
Execution ended after 0:00:00.069415333
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...


the version of the image i am using does not have the newest version of the imx gstreamer plugins that contains the imxv4l2videosink plugin. I am wondering, is there a way to make it work with the older version? Or possibly can i just build the updated gstreamer imx plugins without changing the rest of my image? I am using the 'pyro' branch of the yoco repo to build the base image.


In the end, I am trying to make my program stream to a lookback device so i can server the resulting video stream using the rtsp server like this

gst-variable-rtsp-server  -m "/stream" -p9099 -u "v4l2src device=/dev/video10 ! imxvpuenc_h264 name=enc0 ! rtph264pay name=pay0 pt=96 mtu=800"


If there is some other method that allows me to have custom code (proprietary) server up an rtsp server that would work to, this just seems to be the way i have found that will work thus far.


Thank you.

I am new to bit bake, yocto, and gstreamer, so if you need some specific version information about what i am using please let me know HOW to get that information to you. thanks!