QVIDCAP(1)
β¨ QVIDCAP β¨
okay bestie, gather round, because this is the manual page for qvidcap β a v4l2 video capture viewer, and it's literally the moment π
πΈ SYNOPSIS πΈ
qvidcap [<options>]
π« DESCRIPTION π«
so the qvidcap tool is what you use to test video4linux capture devices β and she's flexible, because you can do it with a video device, a file, or over the network π. This application can also serve as a generic video/TV viewer application, no big deal, just casually being a whole media player π
ngl it does NOT (yet) support compressed video streams other than MJPEG π so keep that in mind bestie, that's a real limitation, fr fr
π OPTIONS π
-d,--device=<dev>β use device<dev>as the video device. And plot twist: if<dev>is a number, then/dev/video<dev>is used β¨-f,--file=<file>β read from the file<file>for the raw frame data π-p,--port[=<port>]β listen for a network connection on the given port. The default port is8362π-T,--tpgβ use the test pattern generator. And if neither-d,-fnor-Tis specified then use/dev/video0. so that's the fallback vibe π-c,--count=<cnt>β stop after<cnt>captured frames π-b,--buffers=<bufs>β request<bufs>buffers (default4) when streaming from a video device.-s,--single-step[=<frm>]β starting with frame<frm>(default0), pause after displaying each frame until Space is pressed. one frame at a time, main character energy π-C,--colorspace=<c>β override colorspace.<c>can be one of the following colorspaces:smpte170m,smpte240m,rec709,470m,470bg,jpeg,srgb,oprgb,bt2020,dcip3π-X,--xfer-func=<x>β override transfer function.<x>can be one of the following transfer functions:default,709,srgb,oprgb,smpte240m,smpte2084,dcip3,none-Y,--ycbcr-enc=<y>β override Y'CbCr encoding.<y>can be one of the following Y'CbCr encodings:default,601,709,xv601,xv709,bt2020,bt2020c,smpte240m-Q,--quant=<q>β override quantization.<q>can be one of the following quantization methods:default,full-range,lim-range-P,--pixelformat=<p>β for video devices: set the format to this pixel format. For reading from a file: interpret the data using this pixel format setting. Ignored for other modes. Use-lto see the list of supported pixel formats π-l,--list-formatsβ display all supported formats π-h,--helpβ display this help message π«Ά-t,--timingsβ report frame render timings β±οΈ-v,--verboseβ be more verbose. she talks more π¬-R,--rawβ open device in raw mode--openglβ force openGL to display the video--openglesβ force openGL ES to display the video
π¦ the following options are ignored when capturing from a video device π¦
-W,--width=<width>β set width-H,--height=<height>β set frame (not field!) height β οΈ note it's the FRAME height, not the field, don't get it twisted-A,--padding=<bytes>β set additional horizontal padding (after width)--fps=<fps>β set frames-per-second (default is30)
π§ the following options are only valid when reading from a file π§
-F,--field=<f>β override field setting.<f>can be one of the following field layouts:any,none,top,bottom,interlaced,seq_tb,seq_bt,alternate,interlaced_tb,interlaced_bt--no-loopβ stop at the end of the file, don't loop back to the beginning. no infinite loop for you π--from-frame=<frame>β start playing back the file at the given frame number (the first frame is frame0). yes bestie, the first frame is frame0, we're zero-indexed in this house π
π the following options are specific to the test pattern generator π
--list-patternsβ list available patterns for use with--pattern--pattern=<pat>β choose output test pattern, the default is0--squareβ show a square in the middle of the output test pattern β¬--borderβ show a border around the pillar/letterboxed video--savβ insert an SAV code in every line--eavβ insert an EAV code in every line--pixel-aspect=<aspect>β select a pixel aspect ratio, the default is to autodetect.<aspect>can be one of:square,ntsc,pal--video-aspect=<aspect>β select a video aspect ratio, the default is to use the frame ratio.<aspect>can be one of:4 x3,14x9,16x9,anamorphic--alpha=<alpha-value>β value to use for the alpha component, range0-255, the default is0--alpha-red-onlyβ only use the--alphavalue for the red colors, for all others use0β€οΈ--rgb-lim-rangeβ encode RGB values as limited[16-235]instead of full range--hor-speed=<speed>β choose speed for horizontal movement, the default is0and the range is[-3...3]βοΈ--vert-speed=<speed>β choose speed for vertical movement, the default is0and the range is[-3...3]βοΈ--perc-fill=<percentage>β percentage of the frame to actually fill. the default is100%
β these options use the test pattern generator to test the OpenGL backend β
--test=<count>β test all formats, each test generates<count>frames π§ͺ--test-mask=<mask>β mask which tests are performed.<mask>is a bit mask with these values:
0x01: Mask iterating over pixel formats
0x02: Mask iterating over fields
0x04: Mask iterating over colorspaces
0x08: Mask iterating over transfer functions
0x10: Mask iterating over Y'CbCr encodings
0x20: Mask iterating over quantization ranges
π₯ HOTKEYS π₯
keyboard shortcuts, the whole point of existing tbh, let's go πΉ
Qβ quit application. bye bestie πPβ cycle forwards through all the supported pixel formats. With Shift pressed: cycle backwards. With Ctrl pressed: restore the original pixel format. Only available with--file.Iβ cycle forwards through all the supported interlaced field settings. With Shift pressed: cycle backwards. With Ctrl pressed: restore the original interlaced field setting. Only available with--file.Cβ cycle forwards through all the supported colorspaces. With Shift pressed: cycle backwards. With Ctrl pressed: restore the original colorspace.Xβ cycle forwards through all the supported transfer functions. With Shift pressed: cycle backwards. With Ctrl pressed: restore the original transfer function.Yβ cycle forwards through all the supported Y'CbCr encodings. With Shift pressed: cycle backwards. With Ctrl pressed: restore the original Y'CbCr encoding.Hβ cycle forwards through all the supported HSV encodings. With Shift pressed: cycle backwards. With Ctrl pressed: restore the original HSV encoding.Rβ cycle forwards through all the supported quantization ranges. With Shift pressed: cycle backwards. With Ctrl pressed: restore the original quantization range.- Right-Click β open menu.
- Double left-click β toggle fullscreen on and off.
Fβ toggle fullscreen on and off.ESCβ exit fullscreen.- Space β when in test mode (
--test) pressing Space will skip to the next test. When single-stepping, continue to the next frame. When reading from a file, pause playback until the next press of Space. - Backspace β when single-stepping, go back to the previous frame. βͺ
- Up β reduce the resolution by two pixels in height. Only available when "Override resolution" is enabled.
- Down β increase the resolution by two pixels in height. Only available when "Override resolution" is enabled.
- Left β reduce the resolution by two pixels in width. Only available when "Override resolution" is enabled.
- Right β increase the resolution by two pixels in width. Only available when "Override resolution" is enabled.
π EXIT STATUS π
On success, it returns 0. Otherwise, it will return the number of errors. so if she returns 3 that's three whole errors bestie, count them π
π BUGS π
Report bugs to Hans Verkuil <hverkuil@kernel.org> π§
and that's the whole thing, you ate that π
this gorgeous page came to you from v4l-utils 1.32.0, dated way back in June 2016 π and yeah she's serving QVIDCAP(1) energy, no cap, periodt π
β¨
π¦ where this page comes from
- alpine 3.24: v4l-utils-doc 1.32.0-r1 Β· LGPL-2.0-or-later
- arch rolling: v4l-utils 1.32.0-2 Β· LGPL
- fedora 43: qv4l2 1.32.0-1.fc43 Β· GPL-2.0-or-later AND CC-BY-SA-3.0
- fedora 44: qv4l2 1.32.0-3.fc44 Β· GPL-2.0-or-later AND CC-BY-SA-3.0
- nixos 26.05: v4l-utils 1.32.0
- nixpkgs unstable: v4l-utils 1.32.0
- ubuntu resolute: qvidcap 1.32.0-2ubuntu1 Β· GPL-2.0-only
- ubuntu stonking: qvidcap 1.32.0-5ubuntu1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms