VIDEO(1)

NAME
video - record or display images from video(4)

SYNOPSIS
video [-cdgqRv] [-a adaptor] [-e encoding] [-f file] [-i input] [-O output] [-o output] [-r rate] [-s size] [control[=value]]

DESCRIPTION
video is a utility for reading, writing and displaying streams of raw video frames. By default frames are read from file and displayed via Xv(3). The default file is /dev/video. If the -o option is used frames are read from file and written to output. If the -i option is used frames are read from input and displayed via Xv(3). If the -O option is used frames are read from file, written to output and displayed via Xv(3). The acutance, brightness, contrast, gain, gamma, hue, saturation and white balance temperature controls of file can also be adjusted if file supports these controls.

The options are as follows:

-a adaptor
    Index of Xv(3) adaptor to use. The default is 0, the first adaptor reported by X(7).

-c  List all current supported control values and quit.

-d  Reset all supported controls to their default value and quit.

-e encoding
    Lowercase FOURCC name of video encoding to use. Valid arguments are ‘uyvy’, ‘yuy2’ and ‘yv12’. The default is ‘yuy2’ unless file is being used and only supports ‘uyvy’, in which case ‘uyvy’ will be used by default.

-f file
    video(4) device from which frames will be read. The default is /dev/video.

-g  Use read(2) to grab frames instead of mmap(2).

-i input
    File from which frames will be read. If input is ‘-’, frames will be read from standard input.

-O output
    File to which frames will be written. If output is ‘-’, frames will be written to standard output. In contrast to -o, if this option is used, video will also display the frames via Xv(3).

-o output
    File to which frames will be written. If output is ‘-’, frames will be written to standard output.

-q  Query for encodings, frame sizes/rates, and controls. Display them and quit.

-R  Disable frame rate adjustment.

-r rate
    Rate in frames per second at which to read. Must be an integer greater than 0. If the -r option is not specified, frames will be read as quickly as possible. If reading from a video(4) device, the device's frame rate will be set to the frame rate the device supports that is closest to rate. Frames will be read as quickly as they are available from the device, but will be displayed and/or written to output at the rate specified, unless the -R option is used.

-s size
    Size of frames to read. The format of size is WxH, where W represents width and H represents height, both expressed as number of pixels. The default is 640x480. If size does not contain ‘x’, size is interpreted as only the width. If ‘x’ is the first character of size, the characters following ‘x’ are interpreted as the height. If only one of width or height is specified, the other will be calculated using a 4:3 width:height ratio. For example, if given ‘-s 640’ video will use a size of ‘640x480’. When reading from a video(4) device and displaying the frames on an Xv(3) display, this option also accepts two special strings, ‘half’ and ‘full.’ If either ‘half’ or ‘full’ are specified, video will read frames that are no larger than 2/3 the display width and 2/3 the display height. If ‘full’ is specified, video will stretch the frame to the full size of the display using Xv(3) scaling. If video is reading frames from a video(4) device and the frame size does not match a frame size the device supports, video will use the largest frame size supported by the device that is smaller than the specified size.

-v  Verbose mode. Multiple instances of this option are allowed. Each instance increases the level of informational output printed to stderr.

control[=value]
    Retrieve the specified control, or attempt to set it to value and quit. Multiple control[=value] arguments may be given.

video will quit reading frames and exit nicely if it receives any of the following signals: SIGHUP, SIGINT, SIGKILL, SIGTERM, SIGPIPE.

video responds to certain key presses while it is displaying frames. The keypresses are as follows:

A   Increase acutance (sharpness) control of file.

a   Decrease acutance (sharpness) control of file.

B   Increase brightness control of file.

b   Decrease brightness control of file.

C   Increase contrast control of file.

c   Decrease contrast control of file.

f   Toggle full-screen display.

G   Increase gain control of file.

g   Decrease gain control of file.

H   Increase hue control of file.

h   Decrease hue control of file.

M   Increase gamma control of file.

m   Decrease gamma control of file.

O   Start writing to output. Only meaningful when the -O option is used.

o   Stop writing to output. Only meaningful when the -O option is used.

p   Toggle new frame display.

q   Quit video.

r   Reset all supported controls of file to their default value.

S   Increase saturation control of file.

s   Decrease saturation control of file.

W   Increase white balance temperature control of file.

w   Decrease white balance temperature control of file.

EXAMPLES
The following command will read YUY2 encoded, 640 pixel wide and 480 pixel high video frames from /dev/video and display them using the default Xv(3) adaptor:

    $ video

The following command will read YUY2 encoded, 640 pixel wide and 480 pixel high video frames from /dev/video and write them to video.raw at a rate of 15 frames per second:

    $ video -r 15 -o video.raw

The following command will read YUY2 encoded, 640 pixel wide and 480 pixel high video frames from /dev/video, write them to video.raw and display them using the default Xv(3) adaptor at a rate of 15 frames per second:

    $ video -r 15 -O video.raw

The following command will read YUY2 encoded, 640 pixel wide and 480 pixel high video frames from video.raw and display them on the default Xv(3) adaptor at a rate of 15 frames per second:

    $ video -r 15 -i video.raw

Note that with the first three commands, if /dev/video does not support 640x480 pixels sized frames, the largest frame size smaller than 640x480 will be used, and if /dev/video does not support yuy2 encoding, uyvy will be used.

SEE ALSO
video(4)