Theta V Live Streaming in Linux

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

try adding a “-n” option to your make command. that will show you what command make wants to execute. that might help show what command is not found. usually i would have guessed that the makefile line would have looked something like:

all: gst_loopback gst_viewer

“make -n” gives gst_loopback gst_viewer

Hi @craig , could you please tell me why does the error “make: gst_viewer: Command not found” come? Thanks!

Did typing

make

not work?

No, it did not. I did a couple of edits, as mentioned in one of the replies. Finally, when I executed “make”, I got the error “make: gst_viewer: Command not found”. Thanks.

I recently recorded the process of downloading and compiling On Ubuntu 21.04 x86.

This is in addition to the previous video walkthrough with 20.04 (slightly older repo)

This is the build on Jetson Nano

I can try to show what works on common systems, but I am unable to help with your specific configuration as I cannot replicate the problem you have.

This person also has a problem with h264

Thank you for your response, @craig ! I copied the libuvc folder from libuvc-theta into the libuvc-theta-sample/gst folder, and it worked!

Do you know how I could get the livestream in ROS?

Thanks!

Great to hear that you have it working.

Do you have libuvc.h in /usr/local/include/libuvc ?

image

You also need the libuvc libraries in /usr/local/lib (default install location)

image

In /etc/ld.so.conf/, one of the files should have /usr/local/lib

If it wasn’t there before, and you added it, you need to run sudo ldconfig

Example of streaming from one ROS node to another.

Examples - RICOH THETA Development on Linux

Use the example from zdydek