Does camera1394 support UDP transport layer?
I am trying to stream video from my gumstix Overo to my laptop with camera1394 package. With default TCP layer, I found there are 5 to 10 seconds delay and the frame rate is just about 1 frame/sec (which is not what I set 15 frames/sec). I know I need to compress image and I will do some research on that later.
Right now, I really want to change the data transport layer from TCP to UDP because UDP is batter for tele-operation. I know that I can change the transport layer by transport hint in subscriber node. So I did that in my image_view source code "image_nodelet.cpp".
At line 118, I changed:
image_transport::TransportHints hints(transport, ros::TransportHints(), getPrivateNodeHandle());
to
image_transport::TransportHints hints(transport, ros::TransportHints().udp(), getPrivateNodeHandle());
And rosmake it again. Then I run the image_view to receive video. However I found it still utilize TCP transport layer instead of UDP. Does camera1394 support UDP transport layer?
My laptop have Ubuntu 12.04 running as a virtual machine and bridged the host network. I inspect the transport layer by wireshark in windows(host). I also doubt that if I make the right image_view package I edited because I know there is another one in /opt/ros/groovy/stacks. But I my ROS_PAKCKAGE_PATH is
/home/adrian/catkin_ws/src:/opt/ros/groovy/share:/opt/ros/groovy/stacks
So I think rosmake should make the source image_view in my workspace.
Thanks and have a good day!
I remember trying a couple of months ago to send images over UDP (with Electric probably) and communication was kind of unstable (sometimes the node just crashed). (I think I have been too lazy at that time to open a ticket regarding this issue, sorry!)
I heard that UDP transport might be unstable, but I still want to try since I really concern about latency. Do you mind telling me how you send images over UDP? Did you just edit the transport hint in subscriber node? Thanks!
Yes this is how I did it. You should also consider trying tcpNoDelay, it may help you.