Sony Playstation Eye with imagenet-camera

Hello, all. I’m new to the Jetson community and could use some help. I am trying to use follow the tutorial here https://www.pyimagesearch.com/2019/05/06/getting-started-with-the-nvidia-jetson-nano/ using a Sony Playstation Eye Camera https://www.amazon.com/gp/product/B0072I2240/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1.

The camera works fine with Cheese, but when I try to run imagenet-camera with it, I get no video and this feedback on the terminal:


$ ./imagenet-camera
imagenet-camera
args (1): 0 [./imagenet-camera]

[gstreamer] initialized gstreamer, version 1.14.1.0
[gstreamer] gstCamera attempting to initialize with GST_SOURCE_NVCAMERA
[gstreamer] gstCamera pipeline string:
v4l2src device=/dev/video0 ! video/x-raw, width=(int)1280, height=(int)720, format=YUY2 ! videoconvert ! video/x-raw, format=RGB ! videoconvert !appsink name=mysink
[gstreamer] gstCamera successfully initialized with GST_SOURCE_V4L2

imagenet-camera: successfully initialized video device
width: 1280
height: 720
depth: 24 (bpp)

imageNet – loading classification network model from:
– prototxt networks/googlenet.prototxt
– model networks/bvlc_googlenet.caffemodel
– class_labels networks/ilsvrc12_synset_words.txt
– input_blob ‘data’
– output_blob ‘prob’
– batch_size 2

[TRT] TensorRT version 5.0.6
[TRT] detected model format - caffe (extension ‘.caffemodel’)
[TRT] desired precision specified for GPU: FASTEST
[TRT] requested fasted precision for device GPU without providing valid calibrator, disabling INT8
[TRT] native precisions detected for GPU: FP32, FP16
[TRT] selecting fastest native precision for GPU: FP16
[TRT] attempting to open engine cache file networks/bvlc_googlenet.caffemodel.2.1.GPU.FP16.engine
[TRT] loading network profile from engine cache… networks/bvlc_googlenet.caffemodel.2.1.GPU.FP16.engine
[TRT] device GPU, networks/bvlc_googlenet.caffemodel loaded
[TRT] device GPU, CUDA engine context initialized with 2 bindings
[TRT] binding – index 0
– name ‘data’
– type FP32
– in/out INPUT
– # dims 3
– dim #0 3 (CHANNEL)
– dim #1 224 (SPATIAL)
– dim #2 224 (SPATIAL)
[TRT] binding – index 1
– name ‘prob’
– type FP32
– in/out OUTPUT
– # dims 3
– dim #0 1000 (CHANNEL)
– dim #1 1 (SPATIAL)
– dim #2 1 (SPATIAL)
[TRT] binding to input 0 data binding index: 0
[TRT] binding to input 0 data dims (b=2 c=3 h=224 w=224) size=1204224
[cuda] cudaAllocMapped 1204224 bytes, CPU 0x100e30000 GPU 0x100e30000
[TRT] binding to output 0 prob binding index: 1
[TRT] binding to output 0 prob dims (b=2 c=1000 h=1 w=1) size=8000
[cuda] cudaAllocMapped 8000 bytes, CPU 0x100f60000 GPU 0x100f60000
device GPU, networks/bvlc_googlenet.caffemodel initialized.
[TRT] networks/bvlc_googlenet.caffemodel loaded
imageNet – loaded 1000 class info entries
networks/bvlc_googlenet.caffemodel initialized.
default X screen 0: 1280 x 800
[OpenGL] glDisplay display window initialized
[OpenGL] creating 1280x720 texture
loaded image fontmapA.png (256 x 512) 2097152 bytes
[cuda] cudaAllocMapped 2097152 bytes, CPU 0x101060000 GPU 0x101060000
[cuda] cudaAllocMapped 8192 bytes, CPU 0x100f62000 GPU 0x100f62000
[gstreamer] gstreamer transitioning pipeline to GST_STATE_PLAYING
[gstreamer] gstreamer changed state from NULL to READY ==> mysink
[gstreamer] gstreamer changed state from NULL to READY ==> videoconvert1
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter1
[gstreamer] gstreamer changed state from NULL to READY ==> videoconvert0
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter0
[gstreamer] gstreamer changed state from NULL to READY ==> v4l2src0
[gstreamer] gstreamer changed state from NULL to READY ==> pipeline0
[gstreamer] gstreamer changed state from READY to PAUSED ==> videoconvert1
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter1
[gstreamer] gstreamer changed state from READY to PAUSED ==> videoconvert0
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter0
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> v4l2src0
[gstreamer] gstreamer changed state from READY to PAUSED ==> pipeline0
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer msg new-clock ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> videoconvert1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> videoconvert0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter0
[gstreamer] gstreamer msg stream-start ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> v4l2src0
[gstreamer] gstCamera onEOS
[gstreamer] gstreamer v4l2src0 ERROR Internal data stream error.
[gstreamer] gstreamer Debugging info: gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
[gstreamer] gstreamer changed state from READY to PAUSED ==> mysink

imagenet-camera: camera open for streaming

imagenet-camera: failed to capture frame
imagenet-camera: failed to convert from NV12 to RGBA
[TRT] imageNet::Classify( 0x(nil), 1280, 720 ) -> invalid parameters
[cuda] cudaNormalizeRGBA((float4*)imgRGBA, make_float2(0.0f, 255.0f), (float4*)imgRGBA, make_float2(0.0f, 1.0f), camera->GetWidth(), camera->GetHeight())
[cuda] invalid device pointer (error 17) (hex 0x11)
[cuda] /home/daniel/jetson-inference/imagenet-camera/imagenet-camera.cpp:193
[cuda] cudaGraphicsGLRegisterBuffer(&mInteropCUDA, mDMA, cudaGraphicsRegisterFlagsWriteDiscard)
[cuda] unknown error (error 30) (hex 0x1E)
[cuda] /home/daniel/jetson-inference/utils/display/glTexture.cpp:253


I have a V2 Raspberry Pi camera ordered from Amazon, so it doesn’t really matter too much if I never find out what isn’t working here, but the Playstation Eye camera is really nice for makers. It is inexpensive, well constructed and very capable. It would be nice to get it working with Jetson’s inference engine.

Any ideas?

Update:
~$ v4l2-ctl --list-devices
USB Camera-B4.09.24.1 (usb-70090000.xusb-2.1):
/dev/video0

~$ v4l2-ctl --list-formats
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: ‘YUYV’
Name : YUYV 4:2:2

What resolutions does the camera support?

~$ v4l2-ctl -d /dev/video0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
	Index       : 0
	Type        : Video Capture
	Pixel Format: 'YUYV'
	Name        : YUYV 4:2:2
		Size: Discrete 320x240
			Interval: Discrete 0.005s (187.000 fps)
			Interval: Discrete 0.007s (150.000 fps)
			Interval: Discrete 0.007s (137.000 fps)
			Interval: Discrete 0.008s (125.000 fps)
			Interval: Discrete 0.010s (100.000 fps)
			Interval: Discrete 0.013s (75.000 fps)
			Interval: Discrete 0.017s (60.000 fps)
			Interval: Discrete 0.020s (50.000 fps)
			Interval: Discrete 0.027s (37.000 fps)
			Interval: Discrete 0.033s (30.000 fps)
		Size: Discrete 640x480
			Interval: Discrete 0.017s (60.000 fps)
			Interval: Discrete 0.020s (50.000 fps)
			Interval: Discrete 0.025s (40.000 fps)
			Interval: Discrete 0.033s (30.000 fps)
			Interval: Discrete 0.067s (15.000 fps)

I had already changed

define DEFAULT_CAMERA -1        // -1 for onboard camera, or change to index of /dev/video V4L2 camera (>=0)

to

define DEFAULT_CAMERA 0        // -1 for onboard camera, or change to index of /dev/video V4L2 camera (>=0)

before I found this post https://devtalk.nvidia.com/default/topic/1052803/jetson-nano/logitech-c170-support-imagenet-camera-failed-to-capture-frame/post/5344253/#5344253, which seems to be similar. Following that post, I edited imagenet-camera.cpp so that the line which originally read

gstCamera* camera = gstCamera::Create(DEFAULT_CAMERA);

to

gstCamera* camera = gstCamera::Create(640, 480, DEFAULT_CAMERA);

and

make 
make install

Now, when I run imagenet-camera, this is what I get:

~/jetson-inference/build/aarch64/bin$ ./imagenet-camera
imagenet-camera
  args (1):  0 [./imagenet-camera]  

[gstreamer] initialized gstreamer, version 1.14.1.0
[gstreamer] gstCamera attempting to initialize with GST_SOURCE_NVCAMERA
[gstreamer] gstCamera pipeline string:
v4l2src device=/dev/video0 ! video/x-raw, width=(int)640, height=(int)480, format=YUY2 ! videoconvert ! video/x-raw, format=RGB ! videoconvert !appsink name=mysink
[gstreamer] gstCamera successfully initialized with GST_SOURCE_V4L2

imagenet-camera:  successfully initialized video device
    width:  640
   height:  480
    depth:  24 (bpp)


imageNet -- loading classification network model from:
         -- prototxt     networks/googlenet.prototxt
         -- model        networks/bvlc_googlenet.caffemodel
         -- class_labels networks/ilsvrc12_synset_words.txt
         -- input_blob   'data'
         -- output_blob  'prob'
         -- batch_size   2

[TRT]  TensorRT version 5.0.6
[TRT]  detected model format - caffe  (extension '.caffemodel')
[TRT]  desired precision specified for GPU: FASTEST
[TRT]  requested fasted precision for device GPU without providing valid calibrator, disabling INT8
[TRT]  native precisions detected for GPU:  FP32, FP16
[TRT]  selecting fastest native precision for GPU:  FP16
[TRT]  attempting to open engine cache file networks/bvlc_googlenet.caffemodel.2.1.GPU.FP16.engine
[TRT]  loading network profile from engine cache... networks/bvlc_googlenet.caffemodel.2.1.GPU.FP16.engine
[TRT]  device GPU, networks/bvlc_googlenet.caffemodel loaded
[TRT]  device GPU, CUDA engine context initialized with 2 bindings
[TRT]  binding -- index   0
               -- name    'data'
               -- type    FP32
               -- in/out  INPUT
               -- # dims  3
               -- dim #0  3 (CHANNEL)
               -- dim #1  224 (SPATIAL)
               -- dim #2  224 (SPATIAL)
[TRT]  binding -- index   1
               -- name    'prob'
               -- type    FP32
               -- in/out  OUTPUT
               -- # dims  3
               -- dim #0  1000 (CHANNEL)
               -- dim #1  1 (SPATIAL)
               -- dim #2  1 (SPATIAL)
[TRT]  binding to input 0 data  binding index:  0
[TRT]  binding to input 0 data  dims (b=2 c=3 h=224 w=224) size=1204224
[cuda]  cudaAllocMapped 1204224 bytes, CPU 0x100e30000 GPU 0x100e30000
[TRT]  binding to output 0 prob  binding index:  1
[TRT]  binding to output 0 prob  dims (b=2 c=1000 h=1 w=1) size=8000
[cuda]  cudaAllocMapped 8000 bytes, CPU 0x100f60000 GPU 0x100f60000
device GPU, networks/bvlc_googlenet.caffemodel initialized.
[TRT]  networks/bvlc_googlenet.caffemodel loaded
imageNet -- loaded 1000 class info entries
networks/bvlc_googlenet.caffemodel initialized.
default X screen 0:   1280 x 800
[OpenGL]  glDisplay display window initialized
[OpenGL]   creating 640x480 texture
loaded image  fontmapA.png  (256 x 512)  2097152 bytes
[cuda]  cudaAllocMapped 2097152 bytes, CPU 0x101060000 GPU 0x101060000
[cuda]  cudaAllocMapped 8192 bytes, CPU 0x100f62000 GPU 0x100f62000
[gstreamer] gstreamer transitioning pipeline to GST_STATE_PLAYING
[gstreamer] gstreamer changed state from NULL to READY ==> mysink
[gstreamer] gstreamer changed state from NULL to READY ==> videoconvert1
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter1
[gstreamer] gstreamer changed state from NULL to READY ==> videoconvert0
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter0
[gstreamer] gstreamer changed state from NULL to READY ==> v4l2src0
[gstreamer] gstreamer changed state from NULL to READY ==> pipeline0
[gstreamer] gstreamer changed state from READY to PAUSED ==> videoconvert1
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter1
[gstreamer] gstreamer changed state from READY to PAUSED ==> videoconvert0
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter0
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> v4l2src0
[gstreamer] gstreamer changed state from READY to PAUSED ==> pipeline0
[gstreamer] gstreamer msg new-clock ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> videoconvert1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> videoconvert0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> v4l2src0
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer msg stream-start ==> pipeline0

imagenet-camera:  camera open for streaming

imagenet-camera:  failed to capture frame
imagenet-camera:  failed to convert from NV12 to RGBA
[TRT]  imageNet::Classify( 0x(nil), 640, 480 ) -> invalid parameters
[cuda]   cudaNormalizeRGBA((float4*)imgRGBA, make_float2(0.0f, 255.0f), (float4*)imgRGBA, make_float2(0.0f, 1.0f), camera->GetWidth(), camera->GetHeight())
[cuda]      invalid device pointer (error 17) (hex 0x11)
[cuda]      /home/daniel/jetson-inference/imagenet-camera/imagenet-camera.cpp:193
[cuda]   cudaGraphicsGLRegisterBuffer(&mInteropCUDA, mDMA, cudaGraphicsRegisterFlagsWriteDiscard)
[cuda]      unknown error (error 30) (hex 0x1E)
[cuda]      /home/daniel/jetson-inference/utils/display/glTexture.cpp:253
[gstreamer] gstCamera onPreroll
[cuda]  cudaAllocMapped 921600 bytes, CPU 0x101260000 GPU 0x101260000
[cuda]  cudaAllocMapped 921600 bytes, CPU 0x101360000 GPU 0x101360000
[cuda]  cudaAllocMapped 921600 bytes, CPU 0x101460000 GPU 0x101460000
[cuda]  cudaAllocMapped 921600 bytes, CPU 0x101560000 GPU 0x101560000
[cuda]  cudaAllocMapped 921600 bytes, CPU 0x101660000 GPU 0x101660000
[cuda]  cudaAllocMapped 921600 bytes, CPU 0x101760000 GPU 0x101760000
[cuda]  cudaAllocMapped 921600 bytes, CPU 0x101860000 GPU 0x101860000
[cuda]  cudaAllocMapped 921600 bytes, CPU 0x101960000 GPU 0x101960000
[cuda]  cudaAllocMapped 921600 bytes, CPU 0x101a60000 GPU 0x101a60000
[cuda]  cudaAllocMapped 921600 bytes, CPU 0x101b60000 GPU 0x101b60000
[cuda]  cudaAllocMapped 921600 bytes, CPU 0x101c60000 GPU 0x101c60000
[cuda]  cudaAllocMapped 921600 bytes, CPU 0x101d60000 GPU 0x101d60000
[cuda]  cudaAllocMapped 921600 bytes, CPU 0x101e60000 GPU 0x101e60000
[cuda]  cudaAllocMapped 921600 bytes, CPU 0x101f60000 GPU 0x101f60000
[cuda]  cudaAllocMapped 921600 bytes, CPU 0x102060000 GPU 0x102060000
[cuda]  cudaAllocMapped 921600 bytes, CPU 0x102160000 GPU 0x102160000
[cuda]   gstreamer camera -- allocated 16 ringbuffers, 921600 bytes each
[gstreamer] gstreamer changed state from READY to PAUSED ==> mysink
[gstreamer] gstreamer msg async-done ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> mysink
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> pipeline0
[cuda]   gstreamer camera -- allocated 16 RGBA ringbuffers
[cuda]   cudaGetLastError()
[cuda]      unknown error (error 30) (hex 0x1E)
[cuda]      /home/daniel/jetson-inference/utils/cuda/cudaRGB.cu:76
[cuda]   cudaRGB8ToRGBA32((uchar3*)input, (float4*)mRGBA[mLatestRGBA], mWidth, mHeight)
[cuda]      unknown error (error 30) (hex 0x1E)
[cuda]      /home/daniel/jetson-inference/utils/camera/gstCamera.cpp:145
imagenet-camera:  failed to convert from NV12 to RGBA
[TRT]  imageNet::Classify( 0x(nil), 640, 480 ) -> invalid parameters
[gstreamer] gstreamer msg qos ==> v4l2src0
[cuda]   cudaNormalizeRGBA((float4*)imgRGBA, make_float2(0.0f, 255.0f), (float4*)imgRGBA, make_float2(0.0f, 1.0f), camera->GetWidth(), camera->GetHeight())
[cuda]      invalid device pointer (error 17) (hex 0x11)
[cuda]      /home/daniel/jetson-inference/imagenet-camera/imagenet-camera.cpp:193
[cuda]   cudaGraphicsGLRegisterBuffer(&mInteropCUDA, mDMA, cudaGraphicsRegisterFlagsWriteDiscard)
[cuda]      unknown error (error 30) (hex 0x1E)
[cuda]      /home/daniel/jetson-inference/utils/display/glTexture.cpp:253
[gstreamer] gstreamer msg qos ==> v4l2src0
[gstreamer] gstreamer msg qos ==> v4l2src0
[cuda]   cudaGetLastError()
[cuda]      unknown error (error 30) (hex 0x1E)
[cuda]      /home/daniel/jetson-inference/utils/cuda/cudaRGB.cu:76
[cuda]   cudaRGB8ToRGBA32((uchar3*)input, (float4*)mRGBA[mLatestRGBA], mWidth, mHeight)
[cuda]      unknown error (error 30) (hex 0x1E)
[cuda]      /home/daniel/jetson-inference/utils/camera/gstCamera.cpp:145
imagenet-camera:  failed to convert from NV12 to RGBA
[TRT]  imageNet::Classify( 0x(nil), 640, 480 ) -> invalid parameters
[cuda]   cudaNormalizeRGBA((float4*)imgRGBA, make_float2(0.0f, 255.0f), (float4*)imgRGBA, make_float2(0.0f, 1.0f), camera->GetWidth(), camera->GetHeight())
[cuda]      invalid device pointer (error 17) (hex 0x11)
[cuda]      /home/daniel/jetson-inference/imagenet-camera/imagenet-camera.cpp:193
[cuda]   cudaGraphicsGLRegisterBuffer(&mInteropCUDA, mDMA, cudaGraphicsRegisterFlagsWriteDiscard)
[cuda]      unknown error (error 30) (hex 0x1E)
[cuda]      /home/daniel/jetson-inference/utils/display/glTexture.cpp:253
[cuda]   cudaGetLastError()
[cuda]      unknown error (error 30) (hex 0x1E)
[cuda]      /home/daniel/jetson-inference/utils/cuda/cudaRGB.cu:76
[cuda]   cudaRGB8ToRGBA32((uchar3*)input, (float4*)mRGBA[mLatestRGBA], mWidth, mHeight)
[cuda]      unknown error (error 30) (hex 0x1E)
[cuda]      /home/daniel/jetson-inference/utils/camera/gstCamera.cpp:145
imagenet-camera:  failed to convert from NV12 to RGBA
[TRT]  imageNet::Classify( 0x(nil), 640, 480 ) -> invalid parameters
[cuda]   cudaNormalizeRGBA((float4*)imgRGBA, make_float2(0.0f, 255.0f), (float4*)imgRGBA, make_float2(0.0f, 1.0f), camera->GetWidth(), camera->GetHeight())
[cuda]      invalid device pointer (error 17) (hex 0x11)
[cuda]      /home/daniel/jetson-inference/imagenet-camera/imagenet-camera.cpp:193
[cuda]   cudaGraphicsGLRegisterBuffer(&mInteropCUDA, mDMA, cudaGraphicsRegisterFlagsWriteDiscard)
[cuda]      unknown error (error 30) (hex 0x1E)
[cuda]      /home/daniel/jetson-inference/utils/display/glTexture.cpp:253
[cuda]   cudaGetLastError()
[cuda]      unknown error (error 30) (hex 0x1E)
[cuda]      /home/daniel/jetson-inference/utils/cuda/cudaRGB.cu:76
[cuda]   cudaRGB8ToRGBA32((uchar3*)input, (float4*)mRGBA[mLatestRGBA], mWidth, mHeight)
[cuda]      unknown error (error 30) (hex 0x1E)
[cuda]      /home/daniel/jetson-inference/utils/camera/gstCamera.cpp:145
imagenet-camera:  failed to convert from NV12 to RGBA
[TRT]  imageNet::Classify( 0x(nil), 640, 480 ) -> invalid parameters
[cuda]   cudaNormalizeRGBA((float4*)imgRGBA, make_float2(0.0f, 255.0f), (float4*)imgRGBA, make_float2(0.0f, 1.0f), camera->GetWidth(), camera->GetHeight())
[cuda]      invalid device pointer (error 17) (hex 0x11)
[cuda]      /home/daniel/jetson-inference/imagenet-camera/imagenet-camera.cpp:193
[cuda]   cudaGraphicsGLRegisterBuffer(&mInteropCUDA, mDMA, cudaGraphicsRegisterFlagsWriteDiscard)
[cuda]      unknown error (error 30) (hex 0x1E)
[cuda]      /home/daniel/jetson-inference/utils/display/glTexture.cpp:253
[cuda]   cudaGetLastError()
[cuda]      unknown error (error 30) (hex 0x1E)
[cuda]      /home/daniel/jetson-inference/utils/cuda/cudaRGB.cu:76
[cuda]   cudaRGB8ToRGBA32((uchar3*)input, (float4*)mRGBA[mLatestRGBA], mWidth, mHeight)
[cuda]      unknown error (error 30) (hex 0x1E)
[cuda]      /home/daniel/jetson-inference/utils/camera/gstCamera.cpp:145
imagenet-camera:  failed to convert from NV12 to RGBA
[TRT]  imageNet::Classify( 0x(nil), 640, 480 ) -> invalid parameters
[cuda]   cudaNormalizeRGBA((float4*)imgRGBA, make_float2(0.0f, 255.0f), (float4*)imgRGBA, make_float2(0.0f, 1.0f), camera->GetWidth(), camera->GetHeight())
[cuda]      invalid device pointer (error 17) (hex 0x11)
[cuda]      /home/daniel/jetson-inference/imagenet-camera/imagenet-camera.cpp:193
[cuda]   cudaGraphicsGLRegisterBuffer(&mInteropCUDA, mDMA, cudaGraphicsRegisterFlagsWriteDiscard)
[cuda]      unknown error (error 30) (hex 0x1E)
[cuda]      /home/daniel/jetson-inference/utils/display/glTexture.cpp:253
[cuda]   cudaGetLastError()
[cuda]      unknown error (error 30) (hex 0x1E)
[cuda]      /home/daniel/jetson-inference/utils/cuda/cudaRGB.cu:76
[cuda]   cudaRGB8ToRGBA32((uchar3*)input, (float4*)mRGBA[mLatestRGBA], mWidth, mHeight)
[cuda]      unknown error (error 30) (hex 0x1E)
[cuda]      /home/daniel/jetson-inference/utils/camera/gstCamera.cpp:145
imagenet-camera:  failed to convert from NV12 to RGBA
[TRT]  imageNet::Classify( 0x(nil), 640, 480 ) -> invalid parameters
[gstreamer] gstreamer msg qos ==> v4l2src0

and so on.

I have a ps eye to test, if it’s needed.

The issue looks similar to this https://github.com/dusty-nv/jetson-inference/issues/267#issuecomment-422184277. From what I can tell this solution was already merged, though.

Having already verified that the webcam works with cheese, I tried to see if I could record with the camera using

gst-launch-1.0 -v v4l2src device=/dev/video0 ! 'video/x-raw,width=640, height=480, framerate=30/1, format=YUY2' ! nvvidconv ! 'video/x-raw(memory:NVMM),format=NV12' ! omxh264enc ! qtmux ! filesink location=test.mp4 -e

The video recorded fine, so it seems to me very likely that the error can be traced back to something in the Jetson Inference files.

Any suggestions?

I’ve verified that my install works with a Logitech C270 USB webcam. I’m still interested in getting this to work with the Sony PlayStation Eye camera, though, as it is a very inexpensive option for projects.