CAM Output is Chopped

Hi

I have a USB2 camera (Touptek GCMOS01200KMB) connected to a Odroid XU4 and am using your optimized VirtualHere build.

When viewing on the client machine (Win 10) the 640x480 output is choppy as shown in this video: Link to Google Photos Video When connected directly to the client the vision is fine.

I have increased the 'usbfs_memory_mb' to 1000 as per the FAQ. Latency is low as per CSV extract below on a 1Gbps Ethernet connection

Are there any steps I can take to improve the performance?

Thanks
Gary

27/03/2023 14:25    XU4    65    0.6075
27/03/2023 14:25    XU4    65    0.5956
27/03/2023 14:25    XU4    65    0.6355
27/03/2023 14:25    XU4    65    0.7472
27/03/2023 14:25    XU4    65    0.5442
27/03/2023 14:25    XU4    65    0.5903
27/03/2023 14:25    XU4    65    0.7834
27/03/2023 14:25    XU4    65    0.6887
27/03/2023 14:25    XU4    65    0.6488
27/03/2023 14:25    XU4    65    0.57
27/03/2023 14:25    XU4    65    0.6087
27/03/2023 14:25    XU4    65    0.603
27/03/2023 14:25    XU4    65    0.6236
27/03/2023 14:25    XU4    65    0.5933
27/03/2023 14:25    XU4    65    0.6864
27/03/2023 14:26    XU4    65    0.7225
27/03/2023 14:26    XU4    65    0.6748
27/03/2023 14:26    XU4    65    0.6636
27/03/2023 14:26    XU4    65    0.7217
27/03/2023 14:26    XU4    65    0.6727
27/03/2023 14:26    XU4    65    0.58
27/03/2023 14:26    XU4    65    0.605
27/03/2023 14:26    XU4    65    0.7126
27/03/2023 14:26    XU4    65    0.6895
27/03/2023 14:26    XU4    65    0.7365
27/03/2023 14:26    XU4    65    0.6878
27/03/2023 14:26    XU4    65    0.6801
27/03/2023 14:26    XU4    65    0.8896
27/03/2023 14:26    XU4    65    0.6629
27/03/2023 14:26    XU4    65    0.6417
27/03/2023 14:26    XU4    65    0.8978
27/03/2023 14:26    XU4    65    0.6294
27/03/2023 14:26    XU4    65    0.6802
27/03/2023 14:26    XU4    65    0.6243
27/03/2023 14:26    XU4    65    0.8175
27/03/2023 14:27    XU4    65    0.6522
27/03/2023 14:27    XU4    65    0.7584
27/03/2023 14:27    XU4    65    0.5973
27/03/2023 14:27    XU4    65    0.621
27/03/2023 14:27    XU4    65    0.7814
27/03/2023 14:27    XU4    65    0.5836
27/03/2023 14:27    XU4    65    0.8372
27/03/2023 14:27    XU4    65    1.1027
27/03/2023 14:27    XU4    65    0.6421
27/03/2023 14:27    XU4    65    0.6106
27/03/2023 14:27    XU4    65    0.7516
27/03/2023 14:27    XU4    65    0.6556
27/03/2023 14:27    XU4    65    1.0832
27/03/2023 14:27    XU4    65    0.6549
27/03/2023 14:27    XU4    65    0.6518
27/03/2023 14:27    XU4    65    0.7138
27/03/2023 14:27    XU4    65    0.7343
27/03/2023 14:27    XU4    65    1.7129

 

 

#2

Your latency looks fine and the xu4 should easily be able to handle that camera fine.

On the server can you run "top" while the camera is streaming via virtualhere and see what is shows for cpu usage (user/system/idle/wait/etc)

Also are you using kernel 5.4?

#3

Kernel build is 5.4.236-414.

Top output:

top - 15:13:57 up  1:00,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 121 total,   1 running, 120 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.3 sy,  0.0 ni, 99.2 id,  0.0 wa,  0.1 hi,  0.1 si,  0.0 st
MiB Mem :   1991.4 total,   1781.0 free,     99.9 used,    110.4 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.   1829.0 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 1556 root      20   0    7440   2464      8 S   4.6   0.1   0:01.92 vhusbdarm
 1770 root      20   0   11932   3244   2668 R   0.3   0.2   0:00.09 top
    1 root      20   0   32412   8240   5752 S   0.0   0.4   0:07.70 systemd

 

#4

Can you plug the camera directly into your pc and then download https://www.uwe-sieber.de/usbtreeview_e.html run that then find the camera on the left and then copy all the text on the right and email to me mail [at] virtualhere.com (mail[at]virtualhere[dot]com)

#5

Output has been emailed as requested.

#6

Thanks, ill take a look...

#7

I took a look. Its a unusual camera because it is an old camera but uses bulk transfers to send its image instead of isochronous transfers. And each packet is very small 512 bytes. I'm thinking it might actually be network latency. Even that small amount < 1ms it might make a difference if they are doing no buffering in their driver.  It might be worth emailing toupsky telling them about virtualhere and see if they could modify their driver to buffer the image for a few frames. They will probably listen to their customers more than me.

#8

Thanks for your prompt response. I'll get on to the suppliers as suggested.