For my USB Logitech C920 MPEG4 webcam I decided that I would try to build ffmpeg from source and see if it improved the streaming capability of the camera. Currently, the stream is halting after about 30 seconds and the data stream becomes frozen.

So, based on the steps at this link I downloaded the x264 source and built it. I had to add in the /usr prefix in order that it is picked up correctly as a library; however, the step that I did at the end (through editing ld.so.conf) would have negated this.

Then to build ffmpeg:

I had tried to download the source directly from source.ffmpeg.org for the first step but for some reason it was not working at the time. Anyway, this worked well.

However, I had problems when I tried to execute ffmpeg as the linked libraries had not loaded. To fix the ffmpeg relocation error on “/usr/local/lib/libavformat.so.52”

add “/usr/local/lib” to the file and then type:

Now, ffmpeg works! and:

gives the output:

Ffmpeg is working very well and I can capture a longer stream through transcoding; however, I still cannot capture the stream directly to the drive without transcoding, despite the stream being in H264 format.

To capture the video stream for the Angstrom distribution from the usb camera through the use of video4linux2, the video can be captured using:

To configure the mode of the camera, first check available options:

or to specify the actual parameters through v4l2-ctl and then using the actual values passed to ffmpeg, where we select the H264 pixel format with a resolution of 800×600 at 15 frames per second:

This captures a stream that works fine, but still seems to freeze after some time.