Remote Control Using Bambuser Video Streaming

Building on the video streaming success of the Nrover, we tried something new for Truckbot, by streaming video from the phone via Bambuser to a new remote control web page.

Truckbot watching itself via streaming video

We did this by turning the phone on its side since Bambuser works with the phone in landscape mode, while the Truckbot was designed for it to be in portrait. Then we created a simple HTML page that includes an embedded Bambuser video player, and a Google Talk gadget. We can now type in commands via XMPP chat while watching video streamed back from the robot.

The latency is kind of high at around one second, which makes it a challenge to drive in hazardous conditions like table tops or crowded places. We’re interested in finding alternative video streaming methods  since Qik and Ustream both have about the same delay. Nrover is using a modifcation of Movino, which we’d love to see compiled for Android in addition to what we’re doing on Symbian.

Remote telepresence web client

We’ve posted the source code to the remote control page to save you a few minutes from making your own. It really is easy to get started by running the Cellbots Python app on Android, and then kicking off Bambuser. We’re working on scripting this as well so the robot can initiate video streaming from a remote command. Enjoy chasing your cat!

This entry was posted in Android. Bookmark the permalink.

10 Responses to Remote Control Using Bambuser Video Streaming

  1. Darrell says:

    Hey guys I have some experience with this. I was building a biped with a G1 brain and the video was too dam laggy. First I ripped out the video conferencing code from http://sipdroid.org/ and made an sdp file so it would stream directly to VLC.

    This got rid of a lot of lag, but it still was not acceptable for my usage so I ended up using the NDK to write a custom mjpeg encoder. It gets a camera frame, jpegs it up and sends in a single UDP packet. Then on the client side i have a Processing app that displays it as quickly as possible.

    It seemed to me that the hardware H.263 encoder just adds too much lag no matter how low you get the network latency.

    My project is now Android 2.1 only but if you are interested i can dig out the old version for android that goes directly to VLC which will cut your lag in half.

  2. Pingback: Our First Semi-Autonomous Navigation « Cellbots.com

  3. Zachary says:

    Good stuff!

    Darrell- I was actually thinking of doing something similar for use in the next mech warrior challenge, but your reports on latency are making me think twice.
    I know your comment was from a while back , but if you ever read this, send me a message – I’d love to hear more about your project.
    cheers
    Zachary
    zmr [at] hardwarewasteland [dawt] net

  4. jason cigar says:

    could u plz guide on who did u connect to the bambuser server form the android client ??
    I couldnt find the relevant source on the link provided….

  5. video streaming is very needed on sites that do videoblogging and sites like youtube.;`’

  6. Harry Brown says:

    i always love to do videoconferencing because it is quite convenient,,:

  7. I think this is certainly one of the most important info professionally. And that i’m happy reading through your own post. Yet should remark on few common points, The web web site style is ideal, the actual articles is absolutely superb : Deb. Great career, regards

  8. This is the best web blog I have read.

  9. I was very pleased to find this website. I wanted to thank you for your time for this excellent post!!

  10. Ambrose says:

    excellent blog site. thank you this excellent post. i be thankful a lot.

Leave a Reply

Your email address will not be published. Required fields are marked *