psmoveservice / PSMoveService

A background service that communicates with the psmove and stores pose and button data.
Apache License 2.0
591 stars 148 forks source link

More cameras #213

Open magadan opened 8 years ago

magadan commented 8 years ago

Hello, im trying to use more than 8 cameras, i got this message:

[2016-09-22 00:27:50.594]: SharedMemory::initialize() - Allocating shared memory: tracker_view_3[2016-09-22 00:27:50.604]: DeviceTypeManager::update_connected_devices - Device device_id 3 (PSEYE) opened[2016-09-22 00:27:50.609]: DeviceTypeManager::update_connected_devices -

Can't connect any more new devices. Too many open device.[2016-09-22 00:28:25.41]:

ClientConnection::start - Starting client connection id 0[2016-09-22 00:28:25.42]: ClientConnection::send_connection_info - Sending connection id to client 0

HipsterSloth commented 8 years ago

So I currently have a hard coded limit of 4:

https://github.com/cboulay/PSMoveService/blob/master/src/psmoveservice/Device/Manager/TrackerManager.h#L61

I can make this limit configurable, but fair warning: you're likely going to start running into either USB bandwidth issues or perf issues problems trying to process all of the video streams. I have done zero optimizations in the video processing code.

What is the layout of your current camera set? I ask because if your cameras are too far away from the calibration mat your going to get some not so great camera poses.

masterchop commented 8 years ago

@HipsterSloth & @magadan can you share your hardware as reference for future readers.

magadan commented 8 years ago

Hello HipsterSloth, thanks for reply. My layout is a small room, i have interest in the future releases, my object is to use psmoveservice with Unity 3D 5 as a realtime 3D camera like Insight VCS from optitrack.

@masterchop II have a Intel i7 4Ghz with 24 Gb RAM, with 2 USB 3 BUS, and 16 PSEYE Cameras.

In a few weeks i will buy a new PCIe USB 3 card to boost speed for more cameras. For now i can configure 6 cameras with no problems.

Im starting with the psmove today, i need to fix some stuffs here to go forward with psmoveservice.

Hope i can help the development of the project.

best. magadan

HipsterSloth commented 8 years ago

@masterchop I have an intel i5 2.2ghz, 8 Gb RAM, GeForce 970 and one PCIe USB 5 port card, a Vive, and two PS3Eye cameras. I used to test with my DK2, but it broke shortly after I got my Vive.

HipsterSloth commented 8 years ago

@magadan That is a crazy number of cameras. I would be seriously impressed if you can get that many video streams running without hitches. I just want to state up front that my current priority is getting the tracking reliable, which means working on filtering and distortion correction, since that will help the most people. It's almost a certainty that there is going to need to be new code needed to accomplish what you have in mind:

None of these things are hard, they just take time, which I have very little of at the moment. If these are things you are interested in working on I am more than happy to provide guidance on how to proceed.

Also keep in mind that because the ps3 eye is a 640x480 camera you're not going to get good tracking from any one camera past about 7-8 feet or so.

magadan commented 8 years ago

Yes its possible to running many multiple cameras, but is need to have more individual USB 3 hosts. I used IPISoft for my tests and works fine with 8 cameras. IPISoft have a great wiki documentation to use as a source.