Can RICOH THETA Z1 be used in Unity as a webcam?

Has there been an updated solution to this form since UVC 3.0 driver came out? Using the UVC 1.0 drivers and 2.0 drivers I still can’t get my Ricoh Theta z1 camera linked up to unity. I have tried just about everything. I am trying to retrieve live video from the z1 onto unity and attach it to a sphere to use it for VR. Any help would be appreciated, I’ve watched about every video online relating to this topic.

As of 2023 Dec 8, I had to use OBS as a virtual camera, then use the virtual camera in Unity. I didn’t try to get it working with the RICOH THETA UVC for that long. I used Windows 10 in my test.

this is the driver that I’m using.

image

I did some additional tests with the RICOH THETA Z1 and Unity to check the smoothness of the video inside of Unity. This is how it looks with a moving video.

I have the Z1 on a small tripod with an extension. I have a laptop showing a video in front of the camera.

The camera is in live streaming mode.

OBS is setup as virtual cam

make sure you press “Start Virtual Cam”

image

Thank you so much for the help, using the live video feed from a virtual camera through OBS rather than pulling the live video feed directly from the camera allowed unity to work.

1 Like

Hi, I’m working with @Caleb_Amadoro and am wondering how to wirelessly connect the Ricoh Theta Z1 to the OBS Virtual Camera and if there’s any way to do so? We were successful in connecting the Ricoh Theta Z1 to OBS’s virtual camera and streaming it to Unity, but that was with connecting the Ricoh Theta Z1 to our laptop with a USB C to USB A cable when our goal is to connect it wirelessly. I have found a plug in guide for connecting the Ricoh Theta Z1 to a YouTube live stream but not OBS which is what we need to connect to so that the virtual camera can connect to Unity. Our final goal is as low latency as possible so not using Youtube or any live streaming platform would be best.

You may be able to use the RTSP plug-in (free). See below.

You may be able to use RTSP to VLC (not OBS) and then VLC to Unity.

This would replace OBS virtual cam with VLC.

I have not tried and have not heard of anyone trying it. if you succeed, please post.

This project does not solve your problem, but may be interesting.

This is another undergraduate project for telepresence

Are you able to post information on your research project? Pictures or project goals?

Hi,
I’m the developer of HDR live streaming plugin. I just finished an upgrade to be able to wirelessly stream to any pc in same network and use live camera feed as regular video capture device/source. What is interesting is that can encode using h.265 too, need a good pc if want to process it in this case.

Is your z1 put into dev mode? If yes I can share the apk directly with you to try, or wait until update is publicly available(need a few days to finalize and send to Ricoh).

2 Likes

laszlo, great news. I’ve used your high-quality plugin in the past and look forward to seeing the new release.

Does the ability to stream to a PC require a free or paid login to your service? The RTSP plugin is no longer under development, so it would be better to use the HDR live streaming plugin as it is under active development.

1 Like

Oh, @biviel, I’m very interested in seeing the new version. Hope it’s updated on the RICOH plug-in repo soon!

1 Like

Only free registration is required and user is able to control their Z1 through flow.tours website like earlier, to set bitrate, encoding settings, server address where to stream to etc. Once plugin is started will pull this configuration data set by the user and set the Z1 accordingly to stream to RTMP or RTSP or SRT , using h.264 or h.265. Able to stream to OSB too directly using RTSP or SRT too. In HDR or regular video quality. Only requirement is to have both Z1 and PC on same network.

1 Like

I spent some time lately on backend server and to cover live streaming to Oculus/Meta Rift, Quest, Quest 2/3, HTC Vive HMD’s. It works, but work is still in progress.

Would be great to have a Ricoh Theta Z2, capable of 8k live streaming/in camera stitching. :slight_smile: With Z1 it’s also a great experience.

Searching for best infrastructure to cover the globe, testing various CDN’s, AWS network/transfer services. Will have a server up and running in US too soon.

Btw. do you or Greg own a Meta Quest 2 or 3? :wink:

Wow, this seems like a big upgrade.

We do not have a Meta Quest 2 or 3 right now. It seems like the Meta Quest 2 is under $300, which is within reach.

Do you foresee use of the Meta Quest 2 or 3 in entertainment, experiential sales (like house tours), inspection, telepresence from a drone?

yes, absolutely! Clearly extra low latency requirement will only be there in local network for now, controlling a drone may work with ~200ms latency, but not when ~2 second latency is in place. 4k resolution is still a limit in this case, both for 360 cams and for delivering to viewers. For better quality ~4 second latency provides better image quality but still some interactivity can be achieved with the presenter.

There are some limitations how 360 video is rendered inside these VR devices , so some tweaking will be required there too, like I did with Z1. Will hopefully get there this year.

1 Like

Hi, I’m currently in the process of putting my camera into dev mode. I would like if you shared the apk directly with me, if you can’t then it’s fine as the update will be out in a few days anyway.

Thanks

Here is two documents detailing our goals for our project, essentially we aim to setup a Ricoh Theta Z1 camera to wirelessly stream to a VR Headset (Meta Quest 2) with as little latency as possible. The camera will watch over a robotic arm which will be controlled by a motion sensor that tracks the motion of the user’s hand and sends it to the robotic arm so that it will mimic the user’s hand.
Remote_Robot_Control_with_Low-cost_Robotic_Arms_and_Human_Motions (5).pdf (798.8 KB)
Demo_I_Am_a_Robot_First-person_Robotic_Arm_Control_with_Hand_Motions_in_Virtual_Reality (4).pdf (6.6 MB)

1 Like

Are you streaming the camera into the headset without a computer between the camera and the headset?

@biviel , how are you getting the RTSP stream into the Quest 2 headset? Are using LibVLCSharp for Unity?

Maybe it will just work…

It will be weeks and when plugin gets there to plugin store, it may take me more time to settle all those options and not planning to expose all functionalities at once. I’ve control over it. My website generates a JSON configuration data feed and via web UI not all options are exposed to public, going stpe by step. Lot of parameters are there to adjust and no graphical UI for each yes. It will take more time.

Sure glad to share with you directly in first place if it helps your project.

In Meta Quest I’m testing my streams by using inbuilt browser and watching on flow.tours website directly my stream. So not directly, on Meta Quest I’m not aware of any app that could directly ingest and play an incoming RTSP or SRT stream. I was thinking to create one, but I decided to try support via browser.

@HunterGeitz ,
how are you going to watch the stream on Meta Quest 2? What is your plan there with OBS Studio and connecting it with Quest 2?

Is it difficult to support webrtc from your plugin?

WebRTC | WebRTC | 2.4.0-exp.11

Once the video is in the browser inside the headset, is it possible to use pre-built javascript libraries for the navigation?

Remember the Amelia drone project?

Successful Theta V stream from drone to VR headset 0.25 miles away - #27 by Jake_Kenin

The project used motionjpeg and the browser inside the VR headset.

I would recommend you write your own Theta V plugin that establishes a WebRTC connection with the base station. WebRTC is a P2P media streaming standard that was designed for real time communication, and uses H.264 (which the Snapdragon 625 has hardware encoding for) for video encoding. It is well documented and is your best bet for low latency video streaming at high resolution and framerate. It is sort of complex and will take some time, but it would be well worth it. Here are some examples of WebRTC.