nvgstcamera_capture sample in Visionworks not working for V4L2 devices


I’m trying to run the nvgstcamera_capture sample provided with the VisionWorks with my v4l2 source that’s coming off a USB framegrabber. I’m able to display the video feed through a gstreamer v4l2src pipeline on the command line but when I modify the nvgstcamera_capture source for working with width=320, height=240 and source=device:///v4l2?index=1, it’s not able to open the camera source. I’ve narrowed down the problem to Gstreamer returning GST_STATE_CHANGE_FAILURE after GST_STATE_CHANGE_ASYNC when the source device is being opened but I can’t figure out why that’s happening. Anyone else able to get this sample application running for a v4l2 device?


Hello, alasin:
I’m not sure about USB framegrabber, and only tested USB camera in my TK1 jetson with nvx_sample_player with the following command line:

nvx_sample_player -s device://camera0


How can I set the camera capture resolution with visionworks?

For me, the cameras are shown as v4l2 devices (on TX1), so I can access them on /dev/video1, /dev/video2 etc. I eventually got it to work by modifying code in GstreamerCameraFrameSourceImpl.cpp. But I’m still not sure how the original code is supposed to work with other v4l2 devices.


my camera is also v4l2 and I can use command line
nvx_sample_player -s device://camera0
to open my camera but I just need to change the resolution.