WARNING: erroneous pipeline: no element "rkcamsrc"

Hi,
I’m using Rock960 ModelA board with ubuntu package. And I’m trying to capture or stream the camera.

I can able to capture the raw image from v4l2-ctl commands.
$ v4l2-ctl --device /dev/video0 --stream-mmap --stream-to=frame.raw --stream-count=1

But, while running GStreamer commands for streaming or capturing the image, I’m getting the “rkcamsrc” element not found error.

gst-launch-1.0 rkcamsrc device=/dev/video0 ! videoconvert ! vid
eo/x-raw,format=NV12,width=1920,height=1080 ! jpegenc ! filesink location=image
01.jpg
WARNING: erroneous pipeline: no element “rkcamsrc”

How to install the rkcamsrc elements for gst-launch-1.0?

Regards,
Bala

I guess you need to build and install gstreamer-rockchip-extra:

It’s better if you can use the Rockchip gstreamer plugin directly: https://github.com/rockchip-linux/gstreamer-rockchip-extra

Hi Mani,
I tried to build the GStreamer in Rock960 with Ubuntu image.

But I got the GStreamer version mismatch error.

$ ./autogen.sh
configure: Requested ‘gstreamer-1.0 >= 1.10.0’ but version of GStreamer is 1.8.3
configure: error: no gstreamer-1.0 >= 1.10.0 (GStreamer) found
configure failed

Do we need to upgrade the GStermer package or is there any Ubuntu image with updated GStreamer for Rock960 board?

@Bala You need to build Gstreamer from source.

Hi Mani,
I download the GStreamer source(which you mentioned in the above message) in Rock960 board
And I got the GStreamer miss-match error while trying to configure the package

root@rock960:~/gstreamer-rockchip-extra# ./configure
configure: Requested ‘gstreamer-1.0 >= 1.10.0’ but version of GStreamer is 1.8.3
configure: error: no gstreamer-1.0 >= 1.10.0 (GStreamer) found
configure failed

Q1) Do we need to upgrade the GStermer package or is there any Ubuntu image with updated GStreamer for Rock960 board?

Q2) And also I tried to stream the videotestsrc in the display, in that I got a failed to connect X display server error.
root@rock960:~# gst-launch-1.0 videotestsrc pattern=18 ! glimagesink -v
Setting pipeline to PAUSED …
No protocol specified
No protocol specified
ERROR: Pipeline doesn’t want to pause.
Got context from element ‘sink’: gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"(GstGLDisplayX11)\ gldisplayx11-0";
ERROR: from element /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink: Failed to connect to X display server
Additional debug info:
gstglimagesink.c(833): _ensure_gl_setup (): /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSink:sink
Setting pipeline to NULL …
Freeing pipeline …

Can you please suggest the GStreamer command to stream the videotestsrc and camera?

Thanks & Regards,
Bala

Remove gstreamer package from the board and then build&install gstreamer from source

I guess you need to issue this command when connected to X window (don’t do it from serial console)

Thanks for the quick reply.

Now I can stream videotestsrc and I can able to get a stream from the camera by using below GStreamer commands.
gst-launch-1.0 v4l2src ! ‘video/x-raw, format=UYVY, width=1920, height=1080’ ! glimagesink -v

But I can get only lower FPS nearly 7 to 8. Instead of glimagesink, if I use fakesink I get nearly 30FPS.
Is it possible to stream the camera or play the video @30FPS or @60FPS?

@Bala FPS depends on the camera sensor attached to the board also. Since you haven’t said what camera sensor you are using, I’ll just leave it to you to check. Regarding the max supported FPS on rock960, @hipboi should have more info!

@Mani I’m using Aptina sensor in Rock960 Model-A board it supports 30FPS @1080P.

And I tried to play sample video in all Andriod, Ubuntu & Debian package in Rock960.
I got nearly 30FPS while playing a sample video on Android. But in Ubuntu or Debian I got only 8-10FPS while playing the same sample video.

Please find the GPU memory while playing sample video in different OS.

Android:

rk3399_box:/ $ cat /sys/kernel/debug/mali0/gpu_memory
mali0 15570
kctx-0xffffff80126bb000 915
kctx-0xffffff8012567000 1558
kctx-0xffffff80121c4000 3016
kctx-0xffffff8011d75000 3292
kctx-0xffffff8011341000 5248
kctx-0xffffff800fca6000 340
kctx-0xffffff800f497000 115
kctx-0xffffff800b8a1000 1086

Debian:

root@linaro-alip:~# cat /sys/kernel/debug/mali0/gpu_memory
mali0 11123
kctx-0xffffff800b179000 11123

Ubuntu

root@rock960:~# cat /sys/kernel/debug/mali0/gpu_memory
mali0 0

Anyone has the same issue?