Getting errors while live streaming from Theta Z1 + Jetson Nano to opencv

Yes, I did all this sudo apt purge libuvc-dev and verified that it was not installed, I am using libuvc-theta only.

Did you ever install libuvc-dev on the Jetson Nano at any point in the past for other development?

Did you see this response?

What version of jetpack are you using?

Also, you could try and use the specific Jetson decoder and sink.

“nvv4l2decoder ! nv3dsink sync=false”

No, I never install libuvc-dev but I verified this and it was not installed
jetpack version : 4.6.4-b39

could you send me the full command @craig ?

I’m running the same version of Jetpack

I can test it with a Z1 later today.

Is the firmware of your Z1 updated? You can use the free desktop app on Mac/Windows of the free mobile app on Android/iOS to update the Z1 firmware.

thanks @Craig we bought 3 Ricoh theta z1 after seeing your post and videos, we thought this could help us in our case but now we’re facing issues but I knew it will be fixed by your support.

cat /etc/nv_tegra_release

R32 (release), REVISION: 7.4, GCID: 33514132, BOARD: t210ref, EABI: aarch64, DATE: Fri Jun 9 04:25:08 UTC 2023

Do you know how to upgrade the firmware inside the RICOH THETA Z1?

If you connect the Z1 to a computer with Wifi when the Z1 is a hotspot, you can get the firmware version with:

Yes, I will do this @Craig thanks

I want to use gstthetauvc with opencv for live streaming so please guide me for this.

not working

Is the camera mounted as a filesystem?

@Vijay_Saw unfortunately, there is something wrong with my Jetson Nano and I don’t have equipment to test this with right now. However, I did install and run Jetpack 7.1 (nv_tegra_release) in June of 2023 and it worked fine.

I remember that someone else at a University was having the same problem as you. I believe that the source of the problem was that the camera was being mounted as a filesystem.

Also, I’ve never used Docker with my install. I used Etcher with the image.

Did you get the SD Card Image from this link?

I also used Etcher to flash the image and today I reinstalled everything but still I am getting an error
the only think I have to do is to update firmware

start, hit any key to stop
NvMMLiteOpen : Block : BlockType = 261
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 261
Error: Internal data stream error.

Isn’t that a different error than you had before?

The original error you posted was Found 1 Theta(s), but none available.


The error you just posted is

Error: Internal data stream error.

Do you have the viewer working with ./gst_viewer?

BTW, I ordered a replacement Jetson Nano for my personal testing, but it may take 2 weeks to getto my office. In the meantime, we have several years of people testing the Z1 with Linux for streaming. There’s a lot of great information on this site.

yes get_viewer is working and I was getting above error that I have posted earlier on running this command gst-launch-1.0 thetauvcsrc mode=4K ! queue ! h264parse ! decodebin ! queue ! autovideosink sync=false

In the thread above, the person had almost the same problem as you. He marked the last post as “Solution”. Maybe you can try and contact him?

It seemed like the last pipeline worked for him.

Note that in that discussion, the THETA was mounted on the Jetson as a filesystem at some point which caused a problem.

You have the camera showing and working with gst_viewer, right?

$ ./gst_viewer -l
No : Product            : Serial    
 0 : RICOH THETA Z1     : 10010104  

You’ve loaded v4l2loopback with modprobe

as root

 # modprobe v4l2loopback

lsmod shows v4l2loopback in the kernel.

$ lsmod
Module                  Size  Used by
uvcvideo               88565  0
bnep                   16562  2
zram                   26166  4
overlay                48691  0
spidev                 13282  0
v4l2loopback           37383  0

v4l2-ctl shows the dummy video device

$ v4l2-ctl --info
Driver Info (not using libv4l2):
	Driver name   : v4l2 loopback
	Card type     : Dummy video device (0x0000)
	Bus info      : platform:v4l2loopback-000
	Driver version: 4.9.140
	Capabilities  : 0x85208003

if you have gst_viewer working, it’s likely you’ll get the loopback working soon.

Hello @craig

I am using opencv and thetauvcsrc to get the live streaming on Jetson Nano

VideoCapture cap("thetauvcsrc ! decodebin ! autovideoconvert ! video/x-raw,format=BGRx ! queue ! videoconvert ! video/x-raw,format=BGR ! queue ! appsink");

this is working as expected but FPS is very-very low but I just wanted to know,

is there a command to stop live streaming ?

Vijay Saw

You can use the USB API to:

  • put camera to sleep (which will stop the stream)
  • wake camera from sleep, which will restart the stream

Alternately, you can use the USB API to switch the camera to video or image mode, which will step the stream over the USB cable.

FPS should be in the 30fps range with a 4GB model of the Jetson Nano without opencv processing. It will drop if you’re using object detection.