Grabbing frames from webcam with a Raspberry pi

I have just received my Raspberry pi.

My objective is to use webcams with the board, so the first step is to connect and test a webcam with the board.

So after installing the official debian image on my pi board, I have plugged a webcam on one of the USB ports. Then I have tried:

 

 

It shows an USB video device connected to the board.

The next step ti to look into the devices directory for a video device:

 

 

But… nothing!

After looking on the web it seems that the video for linux driver is not included in the official raspberry pi debian image…

So I have two choices, recompiling my  kernel, or trying another image.

I have tested the beta version and the archlinux image.

The second one works, I now have a video device in /dev!

But I’m connected in ssh to the board, so I need a sample tool to test the webcam.

I’have found on the official video for linux documentation API an example.

There is another example on another video for linux API documentation.

Here is the code:

 

Compile it and test it with :

And you will find some ppm pictures grabbed  from you webcam in the same directory.

EDIT:

With the new firmware version compile with:

Towards 64 bit ARM architecture

ARM is working on is new architecture version (ARM V8). This architecture will support 64bit. This is important for memory purpose.  Because the maximum addressable memory with 32 bits is around 4GB. But also for the server market.

In my opinion this is especially for the server market, because the mobile market don’t currently need to address 8GB of RAM, and furthermore this can be handled via special instructions (like PAE on the 32 bits Intel processors) that allows to extend the addressable memory.

The server market is rapidly growing and the datacenters face to an important power dissipation (a big amount of their power consumption are due to power and cooling). So it is important to reduce the power dissipation of server, and especially processors.

This bring into the choice of low power devices like atom or ARM. This can be useful for example for storage servers where the processor performances are not so important. But also for computing because the low power consumption and dissipation allows to put more processors on the same rack size. This allows more density so more computation power on the same surface.