I've had similar trouble with the camera1394 driver on MacBook. If the camera hardware puts out images at roughly 10Hz, there is no problem. But if the camera harward outputs images at something like 20Hz, the player frame rate will drop to around 1. I think too much time is spent with the buffer locked, so the data cannot be transmitted. This is only to clients however, it driver-driver communication still seems fast.
We're currently trying to setup an application for a tele-operated MAV using gumstix hardware and player2.1.0rc2. We use a "verdex XM4" to run the player server, a "netmicroSDwifistix EU" for wifi communication, a "breakout-vx" board to connect our sensors and the MAV, a Hokuyo laser range finder connected to the verdex via serial and a "Quickcam Communicate STX" USB-webcam from logitech.
After some hacks we now finally managed to cross-compile Player (with plugin driver support) and everything seems to be running fine.
The only problem we have at the moment is the very poor framerate from our USB-camera. Using the camerav4l driver with
#(other options we were playing around with)
the gspca v4l driver on the verdex and playerv or playercam on our laptop, we barely achieve 1 frame per second (which makes tele-operation of our MAV rather difficult ... ).
We've also tested other frameworks to transmit images from our verdex to our laptop via TCP/IP and there a near real-time video stream was possible (which means the problem must be Player specific). Looking at what Player does on the verdex it seems as if the camerav4l would take a very long time to grab a single image and pass it to the server.
while( true ) // The whole driver loop takes about 900ms to 2 seconds...
fg_grab_frame(); // 100 to 800 MILLIseconds
this->RefreshData(); // 300 ms to 1.2 seconds!
Therefore, we'd like to ask if anyone already has experience in using Player on gumstix hardware to transmit images from a USB-camera? Help and hints would be really appreciated.
Thanks a lot!
PS: Does anyone know if the UDP stuff is working? When I try to use UDP on playercam I get
playerc error : failed to enable TCP_NODELAY - setsockopt failed
error: failed to enable TCP_NODELAY - setsockopt failed
Do I have to use special ports for UDP?
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
Playerstage-users mailing list