Programming the camera: Difference between revisions

From OLPC
Jump to navigation Jump to search
(Getting started with the camera (plus inprogress notes))
(Add how to get moving video)
Line 7: Line 7:
gst-launch-0.10 v4l2src ! ffmpegcolorspace ! pngenc ! filesink location=foo.png
gst-launch-0.10 v4l2src ! ffmpegcolorspace ! pngenc ! filesink location=foo.png


You'll need to run the above command in either a terminal in the developer console or one of the virtual terminals (e.g. <tt>ctrl-alt-f1</tt>). Note this means you don't need the Sugar GUI to be running to access the camera.
You'll need to run the above command in either a terminal in the developer console (<tt>alt-=</tt>) or one of the virtual terminals (e.g. <tt>ctrl-alt-f1</tt>). Note this means you don't need the Sugar GUI to be running to access the camera.

You can view the PNG image created as a result of the command in the Web activity.

Now, let's try and get some video on the screen:

gst-launch-0.10 v4l2src ! ximagesink

Unlike the first command this command will only work when executed in a terminal in the developer console. The resulting video will appear <i>behind </i>the developer console window so you'll need to move the developer console window aside to see the video.




===== Camera =====
===== Camera =====
* Have to script v4l2 via gstreamer to capture a single frame from the camera. See sugar/shell/intro/glive.py for sample code
* Have to script v4l2 via gstreamer to capture a single frame from the camera. See sugar/shell/intro/glive.py for sample code
* Try this from the command line: <tt>gst-launch-0.10 v4l2src ! ffmpegcolorspace ! pngenc ! filesink location=foo.png</tt>


===== Camera-as-video-camera (v4l2?) =====
===== Camera-as-video-camera (v4l2?) =====
* Is a regular v4l2 device available via gstreamer (gst module)
* Is a regular v4l2 device available via gstreamer (gst module)
* Try this from a terminal in the developer console: <tt>gst-launch-0.10 v4l2src ! ximagesink</tt> (The image will appear <i>behind </i>the developer console window so you'll need to move the window aside.)





Revision as of 15:20, 13 April 2007

This page explores how to interact with the laptop's built-in video camera.

Getting started

First, let's see the quickest way we can capture a still image from the camera--using a GStreamer command-line tool:

 gst-launch-0.10 v4l2src ! ffmpegcolorspace ! pngenc ! filesink location=foo.png

You'll need to run the above command in either a terminal in the developer console (alt-=) or one of the virtual terminals (e.g. ctrl-alt-f1). Note this means you don't need the Sugar GUI to be running to access the camera.

You can view the PNG image created as a result of the command in the Web activity.

Now, let's try and get some video on the screen:

 gst-launch-0.10 v4l2src ! ximagesink

Unlike the first command this command will only work when executed in a terminal in the developer console. The resulting video will appear behind the developer console window so you'll need to move the developer console window aside to see the video.


Camera
  • Have to script v4l2 via gstreamer to capture a single frame from the camera. See sugar/shell/intro/glive.py for sample code
Camera-as-video-camera (v4l2?)
  • Is a regular v4l2 device available via gstreamer (gst module)