WebCAM in E9301

Hi everybody …

I’m working with E9301 board and I want to connect to it a webcam (anyone like genius videCAM NB), and then I want to receive and watch the video from the camera in a computer connected to the camera by a network (Ethernet).

Anyone of you, my friends, have any suggestion to do it?

How do I get the video from the camera into the computer?

What should I use to watch the video in the computer?

Thank you very much for your help.

Dairo Ortiz

Hello Dairo,

this really depends on your requirements. How many frames per second do you want, what size are the captured images (I’ve seen webcams offer different sizes depending on whether you wanted a video or still images), and are there any limitations on the client side?

The most simple solution would capture still images that get saved to a Ramdisk (you don’t want to write data that’s continously changing to Flash memory). A small webserver would then serve these pictures on your network, the reloading can be handled in html or javascript.

If you want streaming video you have to decide on a compression algorithm that serves your needs in terms of quality vs. processing power and bandwidth.

Regards,

Dominic

Hi Dominic.

Thanks for your answer.

Initially, I just want to send a stream of video from the webcam over the network, doesn’t matter the frames per second.

So, what I need to know is:

  • In linux, being in console (terminal), how can I access to the video stream of the webcam?

  • Having the frame, what would be the best way to send the video stream from the camero over the network?

I really appreciate your help Dominic, because I’m working all days in this, but it is a little hard to get information. Like it was with Linux, I need the general idea to begin with.

Thank you very much.

Dairo Ortiz

Hello Dairo,

the v4l (video for linux) subsystem is used for video on linux, including (most) webcams. There’s an older standard “v4l” and the new “v4l2”, you’ll have to check which one the driver for your webcam of choice supports.

You’re going to use v4l to capture the video, then possibly compress it, and offer it via a server. You may be able to find a streaming server that suits your needs, or you’re going to have to write this yourself. Again, it very much depends on your needs - one client, multiple clients, high/low resolution, high/low framerate - a wrong choice might limit your ability to fulfill your design goals later on.

Regards,

Dominic

This site might be usefull:

http://mxhaard.free.fr/embedded.html

Have fun