ricohapi / libuvc-theta-sample

Other
33 stars 27 forks source link

theta x - how to stream @15fps? #10

Open tsaizhenling opened 2 years ago

tsaizhenling commented 2 years ago

how do we get theta x to stream 2K @15fps?

I have modified GitHub - ricohapi/libuvc-theta-sample following instructions here How to livestream using theta X? · Issue #8 · ricohapi/libuvc-theta-sample · GitHub

I then amended libuvc-theta-sample/gst_viewer.c at master · ricohapi/libuvc-theta-sample · GitHub to 2K setting, and set the fps to 30 here libuvc-theta-sample/thetauvc.c at master · ricohapi/libuvc-theta-sample · GitHub

I am able to stream 2K @ 30 fps, and I verify this by timing the intervals between each uvc stream callback

however, when I change fps to 15, the application crashes

I guess from theta-plugin-camera-api-sample-x/MainActivity.kt at main · ricohapi/theta-plugin-camera-api-sample-x · GitHub, that the expected value for 15fps is actually 0

I change fps to 0, and am able to stream at 2K again. however, I am still receiving frames at 30fps

how do we get theta x to stream at 15fps as advertised? streaming at a higher fps than necessary is a waste of compute

Gatsby23 commented 9 months ago

How about the time latency between the device to the host?

codetricity commented 9 months ago

@Gatsby23 I don't work for RICOH. In my personal tests, I can stream from the X to a browser with 330ms latency. If you search for "latency" or "x latency" on this site, you can find community tests. https://community.theta360.guide/ Note that these are not official specifications from RICOH. These are just people with the camera doing tests on their own and sharing their personal experiences.

this is what it looks like in a browser https://www.youtube.com/watch?v=OGfhyb7TVmA&t=7s

test was done by showing a stopwatch on a computer, then comparing the stream to the computer.

image

310ms


image

362ms


image

188ms


Note that the 188ms is not consistent. IMO, the 330ms is more realistic average latency in this type of simple setup.