Does anyone have a working Point Grey camera to gstreamer pipeline?

I have a PGR USB3 camera that I am trying to tie into a gstreamer pipeline on my TX1. The camera is working in Point Grey’s Flycapture2 SDK and gstreamer is working for {some of} the example pipelines in the developer’s manual. I am just not sure how to tie them together.
Thanks,
Dan

Hi Dan,
Are you able to run

$ export DISPLAY=:0
$ gst-launch-1.0 v4l2src device=/dev/video1 ! 'video/x-raw,format=I420' ! xvimagesink

Please replace /dev/video1 with real device node and I420 with real camera format.

Thanks for the suggestion. I tried:

$ export DISPLAY=:0
$ gst-launch-1.0 v4l2src device=/dev/video1 ! 'video/x-raw,format=RGB3' ! xvimagesink -e
$ gst-launch-1.0 v4l2src device=/dev/video1 ! 'video/x-raw,format=(string)RGB3' ! xvimagesink -e
$ gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,format=(string)RGB3' ! xvimagesink -e
$ gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,format=RGB3, width=680, height=420' ! xvimagesink -e
$ gst-launch-1.0 v4l2src "device=/dev/video0" ! 'video/x-raw,format=RGB3' ! xvimagesink -e

…plus a lot of other combinations of device node and camera formats…
I always got the following error:
“WARNING: erroneous pipeline: could not link v4l2src0 to xvimagesink0”

I then tried:

$ gst-launch-1.0 v4l2src "device=/dev/video0" ! 'video/x-raw, format=I420' ! xvimagesink -e
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Cannot identify device '/dev/video0'.
Additional debug info:
v4l2_calls.c(606): gst_v4l2_open (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
system error: No such file or directory
Setting pipeline to NULL ...
Freeing pipeline ...

How do I determine the device node? Since the camera must be controlled by Nvidia software (I tried it with flycapture2 both running and not running), I think the device node may be non-standard. Currently, my camera produces YUV422 which I hope is compatible with I420…

I found a git repo by realdealneil [url]https://github.com/realdealneil/gstreamer-point-grey-app-src[/url] that has some code to incorporate a point grey camera with gstreamer on the TX1 (it works BTW!) But I don’t think it is possible to write a simple pipeline that can pick up one of these cameras.

Hi Dan,
Per http://gstreamer-devel.966125.n4.nabble.com/Query-problem-using-format-RGB3-in-caps-filter-td4669021.html
It is called RGB in gstreamer.

Please try

gst-launch-1.0 v4l2src device=/dev/video1 ! 'video/x-raw,format=RGB' ! videoconvert ! xvimagesink

Thanks, but I still don’t think it is possible to set up a pipeline to work directly with a point grey camera. I did get the appsrc plugin to work with the point grey C code. The traceback from the pipeline provided is:

gst-launch-1.0 v4l2src device=/dev/video1 ! 'video/x-raw,format=RGB' ! xvimagesink -e
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Cannot identify device '/dev/video1'.
Additional debug info:
v4l2_calls.c(606): gst_v4l2_open (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
system error: No such file or directory
Setting pipeline to NULL ...
Freeing pipeline ...

I guess the camera doesn’t take up one of the device nodes. I tried it with the flycapture gui both running and not.

Hi Dan,

I meet the same problem with you. And I can use “v4l2-ctl -d /dev/video0 -w --verbose --set-fmt-video=width=1077,height=788,pixelformat=RGB --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1 --stream-to=test” capture camera video. But when I use “gst-launch-1.0 v4l2src device=/dev/video1 ! ‘video/x-raw,format=RGB’ ! videoconvert ! xvimagesink”. Application put the same log as yours. Did you fix this problem?

My email"shen.tong@edw.cn". Hope your response.

Not sure but it looks like a typo in device node:
v4l2-ctl -d /dev/video0
gst-launch-1.0 v4l2src device=/dev/video1