Theta V Live Streaming in Linux

When I was following the video tutorial to obtain the live stream on my Linux system, I got the following error when I executed “./gst_viewer” - “Can’t open THETA”. Could you please tell me the solution to this? The camera was in the live streaming mode (video and live blue lights were on), and it was connected to the laptop via the USB cable.
Also, in “thetauvc.c”, I had to change “UVC_FRAME_FORMAT_H264” to “UVC_FRAME_FORMAT_BA81”.
Thank you!

If you do lsusb, can you see the camera ID as 2712?

The library will look for that ID for the V.
libuvc-theta-sample/thetauvc.c at f8c3caa32bf996b29c741827bd552be605e3e2e2 · ricohapi/libuvc-theta-sample · GitHub

craig@craig-desktop:~$ lsusb
...
Bus 003 Device 003: ID 8087:07dc Intel Corp. 
Bus 003 Device 011: ID 05ca:2712 Ricoh Co., Ltd RICOH THETA V
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Why did you change the frame format to BA81?

I changed the frame format because I got an error saying that it should be BA81 and not H264.

I’ve never seen that error before about BA81. Is your camera coming up as 2712 with lsusb ?

The camera shows up as 0368, as shown in the screenshot attached.
lsusb

Here’s the error on the frame format:

if it is showing 0368, the computer is detecting the camera as storage device, turned off.

It needs to show 05ca:2712 for THETA V.

The sample apps looks for 2712. If it can’t find 2712, it will exit.

When you built, libuvc-theta, did you do cmake ..

and if so, did you see Found JPEG.

Yes, I just executed cmake while in the “build” directory of “libuvc-theta”, and obtained “Found JPEG…”, as shown in the screenshot below:
Found

Also, could you please tell me why the “make” command while in the “gst” folder of “libuvc-theta-sample” was throwing an error on the frame format?

I have not seen that error before.

What version of Linux are you using? For example, Ubuntu 18.04 or 20.04?

The version of Linux on my laptop is Ubuntu 18.04.

Would upgrading to Ubuntu 20.04 solve the ID issue?

It won’t likely help if you install Ubuntu 20.04.

You may not have the h264 codec installed.

This is new ground for me and I am guessing.

You can try the apt packages listed here:

Unable to play MP4 file in Ubuntu 18.04: H.264 (Main Profile) decoder is required to play the file, but is not installed | Our Code World

Before trying something drastic, try installing all the gstreamer packages. It’s a fairly easy test.

$ sudo apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio libgstreamer-plugins-base1.0-dev

I had installed the gstreamer packages before I got the error. I’ll try installing h264 codec. Thank you!

I’m not sure why it wouldn’t find the UVC_FRAME_FORMAT. See the line below that came with libuvc-theta. Just to confirm, you installed the patched version of libuvc-theta from the repo listed below, right?

not sure if this is your issue, but if the thetaV shuts off, it may still appear on the USB bus with the “wrong” device identifiers as it will only be an attached memory card. i found that the camera needs to be on in with the blue lights on and in live mode to appear as the correct usb device. i haven’t had a chance to try the new driver/module posted a few weeks ago that might make things easier.

hope this helps. good luck.

1 Like

Thanks for your reply. Yes, that’s the version of repo I installed.

Thank you for your response. When the error occurred, the device was showing the blue lights in live mode.

ok. it’s just something that i noted that has caused me issues in the past or when i wasn’t looking.

1 Like

Finally, I got the ID to be 2712. I figured that 'libuvc/libuvc.h" wasn’t there in the “libuvc-theta-sample” directory. So, I copied that into the directory. Then, when I executed the “make” command while in the “libuvc-theta-sample/gst” directory, I got an error saying “make: Nothing to be done for ‘all’”. To resolve this error, I updated the Makefile by adding a line and tab space after ‘all:’. Now, I am getting the error “make: gst_viewer: Command not found”:
error_make