Difference between revisions of "video 4 linux 2 notes"
m |
m (→Gstreamer) |
||
Line 22: | Line 22: | ||
<pre> | <pre> | ||
gst-launch v4l2src device=/dev/video0 ! 'video/x-raw-yuv,width=640,height=480,framerate=60/1' ! xvimagesink | gst-launch v4l2src device=/dev/video0 ! 'video/x-raw-yuv,width=640,height=480,framerate=60/1' ! xvimagesink | ||
+ | </pre> | ||
+ | |||
+ | === gstreamer fbdevsink "ERROR: Pipeline doesn't want to pause." === | ||
+ | |||
+ | If you are trying to use the framebuffer device for video playback then you may get an error like the one below. This is a permissions problem. Try adding '''sudo''' in front of the pipeline, or run the command as root. | ||
+ | |||
+ | <pre> | ||
+ | $ gst-launch videotestsrc ! ffmpegcolorspace ! fbdevsink | ||
+ | Setting pipeline to PAUSED ... | ||
+ | ERROR: Pipeline doesn't want to pause. | ||
+ | Setting pipeline to NULL ... | ||
+ | Freeing pipeline ... | ||
</pre> | </pre> | ||
Revision as of 05:38, 23 June 2011
Contents
V4L2 -- Video For Linux Version Two
UVC
For a list of cameras that support UVC see the official Linux UVC site. Full UVC support in Linux:
I have been using a Logitech HD Pro Webcam C910, USB Device ID: 046d:0821, for my tests.
Gstreamer
Gstreamer is fast replacing all my other command-line tools for handling video.
1920x1080: This will have a low frame-rate since it will essentially max-out the USB bandwidth. It's useful for capturing individual frames without compression.
gst-launch v4l2src device=/dev/video0 ! 'video/x-raw-yuv,width=1920,height=1080' ! xvimagesink
This will capture at a higher framerate, but it will undersample the pixels so you will get an effective 320x240 resolution.
gst-launch v4l2src device=/dev/video0 ! 'video/x-raw-yuv,width=640,height=480,framerate=60/1' ! xvimagesink
gstreamer fbdevsink "ERROR: Pipeline doesn't want to pause."
If you are trying to use the framebuffer device for video playback then you may get an error like the one below. This is a permissions problem. Try adding sudo in front of the pipeline, or run the command as root.
$ gst-launch videotestsrc ! ffmpegcolorspace ! fbdevsink Setting pipeline to PAUSED ... ERROR: Pipeline doesn't want to pause. Setting pipeline to NULL ... Freeing pipeline ...
Capture video and modify settings at the same time
Start `guvcview` with the --control_only option to display a GUI dialog to edit camera settings. This will work while another video display or capture application is already running.
guvcview --control_only --device=/dev/video0
fswebcam
`fswebcam` is a small and simple tool for grabbing still images from a camera. The world needs more apps like this. It can grab a single image or grab sequences of images in a loop. It can save images to a file or pipe them to stdout.
fswebcam --png --save fswebcam-test.png