Open main menu

DAVE Developer's Wiki β

Changes

Video capture from USB camera

1,808 bytes added, 14:14, 23 January 2013
m
no edit summary
* Connection: USB Host 2.0
= Video capture using FFmpeg and Video4Linux = == Useful links ==
FFmpeg project page: http://ffmpeg.org/
 
Video4Linux wiki: http://linuxtv.org/wiki/index.php/Main_Page
 
Video4Linux kernel documentation: http://www.mjmwired.net/kernel/Documentation/video4linux/v4l2-framework.txt
 
== Configuring the system ==
 
The FFmpeg tool is not provided with the default NELK root file system. FFmpeg can be added to the root file system:
 
* manually, building it from source coder
* using a build system, as buildroot or openembedded
* installing it as a package, if the root file system features a package manager and ffmpeg is available as a package
 
In this article, we assume the use of a root file system built with Buildroot and customized adding the EZSDK components, as described in the [[Creating a RFS with Buildroot]] article. The FFmpeg package can be selected entering the '''Package selection for the target''' menuconfig option (see [[Creating_a_RFS_with_Buildroot#Configuring_Buildroot]]).
 
Before using the Video4Linux framework, it should be enabled in the kernel. The following options must be enabled:
 
* Device Drivers->Multimedia support
* Device Drivers->Video For Linux
* Device Drivers->Video For Linux->Video capture adapters
* Device Drivers->Video For Linux->Video capture adapters->V4L USB devices
* Device Drivers->Video For Linux->Video capture adapters->V4L USB devices->USB Video Class (UVC)
* Device Drivers->Video For Linux->Video capture adapters->V4L USB devices->UVC input events device support (NEW)
 
 
[[File:Enabling-v4l-usb.jpeg|600px]]
 
== Performing the capture ==
 
The video stream from the USB camera con be captured and saved to the out.avi file using the following command:
 
<pre>
ffmpeg -f video4linux2 -r 30 -s 640x480 -i /dev/video0 out.avi
</pre>
 
assuming that /dev/video0 is the webcam device file.
= Video capture using gstreamer =
 
This how-to will be reported soon.