Search code examples
pythonopencvgstreamernao-robotpepper

Remote video streaming with Pepper and NAO robots


I am trying to remotely stream videos and images from the cameras of the Pepper and NAO robots to my laptop.

First, I used a while loop to repeatedly capture images from the NAO's camera and processed the images through opencv. However, as you can imagine, this only provided me with a framerate of about 1 fps.

Then I tried to access the camera through opencv's videocapture, but it is not working properly.

Next, I attempted to use gstreamer 1.0 for python on Windows, but the Windows version seems to be missing a number of elements, even though I have all of the required plugins (base, good, bad, ugly).

Also, I am trying to avoid using ROS because I am having issues using it with the python 2.7 naoqi SDK of the Pepper and NAO robots.

Any help would be greatly appreciated. Thanks


Solution

  • gstreamer should already be installed on the robot, so you could run it on the robot with a command like this:

    gst-launch-0.10 -v v4l2src device=/dev/video-top ! video/x-raw-yuv,width=640,height=480,framerate=30/1 ! ffmpegcolorspace ! jpegenc ! multipartmux! tcpserversink port=3000

    ... and then you can open the stream from your computer, for example with vlc:

    vlc tcp://ip.of.the.robot:3000