Cannot set caps on Mono10 camera

Hello @Emmanuel,

I want to create a gstreamer pipeline that takes data from a Mono10 camera and writes it to a video device. Based on my understanding, Mono10 data should be stored using GRAY16_LE, like so:

gst-launch-1.0 aravissrc ! video/x-raw,format=GRAY16_LE,width=1280,height=1024 ! videoconvert ! video/x-raw,format=GRAY16_LE ! v4l2sink device=/dev/video0

This pipeline works well on Virtual Machine, but not on a NVIDIA jetson board. I get the error below:

ERROR: from element /GstPipeline:pipeline0/GstAravis:aravis0: Could not set caps on camera “”: Value not found in ‘PixelFormat’
Additional debug info:
…/gst/gstaravis.c(373): gst_aravis_set_caps (): /GstPipeline:pipeline0/GstAravis:aravis0
Execution ended after 0:00:00.041121658
Setting pipeline to PAUSED …
Setting pipeline to READY …
Setting pipeline to NULL …
Freeing pipeline …

I have checked that arv-tool-0.8 Control PixelFormat=Mono10. I am using the following configurations on both the VM and jetson:
GStreamer version 1.14.5
Ubuntu 18.04 LTS (64-bit)
Aravis 0.8.19
Would appreciate your help on this, thank you!

Hi,

GRAY18_LE is by default a 16 bit per plane pixel format with a 16 bit depth. If you want to select Mono10, you have to specify the depth you want:

gst-launch-1.0 aravissrc ! video/x-raw,format=GRAY16_LE,depth=10,width=1280,height=1024 ! videoconvert ! video/x-raw,format=GRAY16_LE ! v4l2sink device=/dev/video0
1 Like

Thank you for the quick response! Can I check if doing so will cause any problems when converting GRAY16_LE to I420 (see below)? I need to convert to I420 for video encoding.

v4l2src device=/dev/video0 ! video/x-raw,format=GRAY16_LE,width=1280,height=1024 ! videoconvert ! videoscale ! video/x-raw,format=I420,width=640,height=512 ! xvimagesink -e

When I run this command, I get a black screen.

I have also tried:

  1. Encoding: gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=GRAY16_LE,width=1280,height=1024 ! videoconvert ! videoscale ! video/x-raw,format=I420,width=640,height=512 ! nvvidconv ! ‘video/x-raw(memory:NVMM),format=I420_LE’ ! omxh264enc ! ‘video/x-h264, stream-
    format=(string)byte-stream’ ! h264parse ! qtmux ! filesink
    location=test.mp4 -e
  2. Decoding: gst-launch-1.0 filesrc location=test.mp4 ! qtdemux ! queue ! h264parse ! omxh264dec ! nveglglessink -e

But to no avail. All I get is a black screen/window.

You have a greater chance to get an answer to your question asking GStreamer people. You will likely not find GStreamer expert here.

May be here: gstreamer-devel Info Page

or less likely here: Topics tagged gstreamer

Cheers.