Fact-checked by Grok 2 weeks ago

Guvcview

Guvcview, also known as GTK+ UVC Viewer, is a application designed for that provides a simple graphical user interface built with GTK+ (or optionally Qt5) to capture and view video streams from devices supported by the Video4Linux2 (V4L2) kernel interface, with particular emphasis on those using the driver. Developed by Paulo Assis and first released in 2008, Guvcview enables users to preview live video from webcams and similar hardware, adjust capture settings such as resolution, frame rate, and image controls, and save recordings in formats like MJPEG or YUYV. It supports audio input through backends like PortAudio or , allowing synchronized video and sound capture for applications such as video calls or streaming. The software is lightweight and versatile, compatible with a wide range of V4L2-compliant devices beyond just UVC, though it excels in handling UVC extensions for advanced controls on brands like . Key features include a control-only mode (invoked via command-line options like guvcview --control_only), which allows image and device adjustments to be applied to other programs such as Ekiga, Cheese, or without full video display, enhancing integration in multimedia workflows. Guvcview is distributed under the , with its hosted on , and it remains actively maintained for modern Linux distributions like , , and .

History and Development

Origins and Initial Release

Guvcview was founded in 2008 by developer Paulo Assis as a application to facilitate and viewing on systems, particularly targeting devices supported by the Video4Linux2 (V4L2) framework. The project's initial development centered on ensuring compatibility with USB Video Class (UVC) streams through V4L2, addressing the need for a straightforward tool to handle inputs on desktop environments where such support was a key focus. Written in , Guvcview emphasized simplicity and ease of use for basic video operations. The software made its first public release available via in 2008, quickly establishing itself as an accessible option for users seeking reliable functionality without the overhead of more complex applications. From inception, Guvcview was released under the GNU General Public License version 2.0 or later (GPL-2.0-or-later), promoting open-source collaboration and distribution.

Major Versions and Updates

The initial stable release of Guvcview, version 1.0.0, occurred in March 2009, introducing a command-line option to display the version and fixes for format negotiation issues in video capture. In March 2013, version 1.7.0 was released, featuring a refactoring of the AVI and MKV muxers along with support for VP8 and Theora video codecs, Vorbis audio codec, and the WebM container format. A significant major rewrite came with version 2.0.0 in September 2014, which modularized the codebase into four shared libraries (libv4l2src, libguvcview, libgviewrender, and libgviewencode) to improve maintainability and extensibility; it also added an SDL2-based rendering backend and integrated the for in effects processing. More recent releases include version 2.1.0 in January 2024, which addressed audio channel warnings when using FFmpeg for encoding. In November 2024, version 2.2.1 switched the user interface to Qt6 from Qt5, adopted the build system for easier compilation, and added support for the yuv420p pixel format in video output. Version 2.2.2, released in November 2025, incorporated SFML 3.0 for enhanced multimedia handling, added support for OBSMEET4K hardware via extension unit controls, and included patches for compatibility with FFmpeg 8 and libc. Beyond the primary developer Assis, key contributions have come from community members including Zander for FFmpeg 8 and libc patches, Sam Liddicott for warning silences and GTK3 enhancements, Flavio Spagnuolo for muxer fixes, George Sedov for threaded video encoding improvements, and Richard Fuchs for audio-video synchronization patches.

Features

Video and Audio Capture

Guvcview primarily captures video from devices compatible with the Video4Linux2 (V4L2) framework, with a strong emphasis on USB Video Class () compliant webcams that enable live preview and recording without additional drivers. This support allows users to access a range of input sources, including standard webcams and other V4L2-enabled hardware, using capture methods such as memory-mapped () or read operations for efficient data handling. For video recording, Guvcview supports container formats including , , and , paired with codecs such as H.264, , and to balance quality and file size. Still image capture is available in formats like , JPG, , and , providing flexibility for single-frame extraction during sessions. Audio integration in Guvcview is facilitated through the PortAudio library, which handles capture from microphones and supports output codecs including , , and , with options for mono or stereo channels to accommodate various recording needs. Capture modes include timed recording, where sessions can be limited to a specified duration in seconds, and interval-based photo sequences for automated still captures at set intervals. Additionally, (OSD) elements like crosshairs assist in precise framing during live preview and recording.

User Interface and Controls

Guvcview employs a primarily developed using the + toolkit, providing an intuitive setup for interaction, while alternative frontends based on Qt5 or Qt6 can be selected during or runtime via command-line flags such as --gui-api=qt6. The interface generally operates in a dual-window configuration, featuring a dedicated preview for real-time video display and a separate control panel for managing settings, enabling users to monitor and adjust captures simultaneously. The control panel includes sections for selecting video devices (defaulting to /dev/video0), configuring capture resolutions (e.g., 640x480) and frame rates (e.g., 30 fps), and accessing hardware-specific extensions, such as Logitech webcam controls for , , and tilt adjustments. A control-only mode, accessible via the --control-panel or --control_only command-line option, launches the application without the preview window, permitting parameter modifications for integration with other software like Ekiga or while conserving system resources. This mode was designed to facilitate efficient tuning of device settings in resource-constrained environments or during scripted operations. For non-graphical use, Guvcview supports headless operation through the --gui-api=none flag, alongside command-line options for tasks such as querying the application version (--version), listing supported formats (--list-formats), and specifying output resolutions or frame rates directly. These features enable automation and integration into broader workflows without visual elements. An optional SFML rendering backend, selectable via --render-api=sfml, provides an alternative to the default rendering for the preview window, offering improved performance on low-end hardware by leveraging lightweight graphics handling. This backend supports window management options like fullscreen (--render-window=full) or custom sizing (e.g., --render-window=800x600), enhancing usability across varied systems. The controls integrate seamlessly with capture functions, allowing real-time adjustments to parameters during preview or recording sessions.

Effects and Formats

Guvcview provides a range of built-in video effects applicable to both preview and recording sessions, enabling users to apply visual modifications post-acquisition. These include mirror for horizontal flipping, negative for color inversion, for black-and-white rendering, and more advanced options like pieces and particles for fragmented or dynamic distortions. Effects such as invert, which reverses the image vertically or horizontally, can also be combined to create layered visual alterations. Guvcview also supports audio effects such as , reverb, fuzz, croak, and duckling for modifying captured sound during sessions. In addition to these, basic color adjustments allow fine-tuning of the video output, covering parameters like , , , hue, white balance (gamma), , and backlight compensation. These controls facilitate modifications during capture, optimizing the visual quality based on lighting conditions or user preference. The application handles format negotiation automatically to leverage the device's optimal capabilities, querying V4L2 interfaces for supported configurations. It accommodates various pixel formats, including MJPEG for compressed streams, YUY2 for uncompressed YUV 4:2:2, RGB for raw color data, and for efficient processing in modern workflows, with enhanced support for YUV420p in versions from 2.0.4 onward by prioritizing planar over packed formats. Output customization extends to adjustable settings for both images and videos, where users can select resolutions, rates, and parameters to balance file size and fidelity. For videos, container options include for simple streams and for advanced of multi-track audio and video, supporting synchronized capture from microphones or overlaid elements. Image outputs default to formats like , , or with configurable compression levels. Still capture enhancements include resolution presets that align with the device's maximum supported dimensions—up to (3840x2160) in recent versions for compatible hardware like the Logitech Brio.

Technical Implementation

Architecture and Dependencies

Guvcview features a modular consisting of four shared libraries that separate core functionalities: libgviewv4l2core for video and audio handling, libgviewrender for rendering, libgviewaudio for audio processing, and libgviewencoder for encoding utilities. These libraries are installed to the system's library directory (e.g., ${prefix}/lib) and provide headers in ${prefix}/include/guvcview-2/, enabling reusable components for integration with other applications. The software relies on several key dependencies for its operations. Device access is facilitated by the Video4Linux2 (V4L2) framework through libv4l and libudev, supporting UVC-compliant hardware interfaces. Encoding and decoding, including support for H.264/AVC via libavcodec and libavutil from the FFmpeg project, handle multimedia processing. The user interface is built with GTK+ 3 (or optionally Qt5/Qt6), while audio input/output uses PortAudio (portaudio19); rendering is managed by SDL2 (or alternatives like SDL1 or SFML). Additional libraries such as libpng for image handling and optional ones like libpulse for audio or libgsl for signal processing may be required based on configuration. The build system has evolved from traditional autotools to , with the transition occurring in 2024 to improve cross-compilation and configuration flexibility. Builds can be configured to disable specific backends, such as GTK3 or Qt5, using options during the setup process. The standard build sequence involves running ./bootstrap.sh (for autotools legacy), followed by ./configure or invocation, make, and make install, with --prefix to specify installation paths. While primarily designed for Linux environments, Guvcview is compilable on embedded systems through patches for libc, extending its utility beyond glibc-based distributions.

Supported Hardware

Guvcview primarily supports hardware compatible with the Video4Linux2 (V4L2) framework, with a particular emphasis on USB Video Class ()-compliant webcams that leverage the Linux driver (uvcvideo kernel module). This enables seamless integration with a wide range of USB webcams, allowing capture and control of video streams without proprietary drivers. Resolutions supported are device-dependent but typically range from 320x240 up to (3840x2160), contingent on the hardware's capabilities and the UVC standard's provisions. Beyond standard UVC webcams, Guvcview extends compatibility to other V4L2-compliant devices, including various USB cameras, TV tuners, and embedded camera modules such as those using the CSI interface when backed by appropriate V4L2 drivers or adaptations. For instance, CSI cameras can be accessed via Guvcview after enabling the V4L2-compatible driver, though performance may vary based on the specific module and kernel configuration. Specialized support includes extension controls for certain models, such as the C920, which allow adjustments for features like , , and backlight compensation through extensions accessible within the application's interface. Additionally, as of 2025, integration with the OBSBOT Meet is facilitated via a dedicated Guvcview that adds GTK3 UI controls for its AI-powered features, enhancing usability on systems. Limitations include no native support for non-V4L2 hardware, requiring users to rely on kernel modules like uvcvideo for UVC functionality; devices outside this ecosystem may need third-party bridges or wrappers to interface properly.

Platform Availability

Linux Distributions

Guvcview is integrated into several major distributions through their official package repositories, allowing users to install it easily using standard package managers such as apt or zypper. This availability ensures broad accessibility for webcam capture and viewing on native Linux environments without requiring manual compilation in most cases. In , Guvcview has been included in the official repositories since version 11 (Bullseye, 2021), supporting multiple architectures including amd64, arm64, and i386, and can be installed directly via apt. For , packaging began with version 13.10 (released in October 2013), and it remains available in the universe repository for all subsequent releases, installable with sudo apt install guvcview. Other distributions like included it in their PET package repositories for lightweight installations in older releases such as Precise (2012). provides Guvcview through its Package Hub up to version 2.0.8, compatible with Leap and Tumbleweed releases. , being Debian-based, offers ARM builds installable via apt for hardware. Arch provides Guvcview in its official repositories (version 2.2.1 as of November 2025), installable via pacman. includes it through the RPM Fusion repository. To access the latest versions beyond distribution repositories, the Personal Package Archive (PPA) maintained by developer Paulo Assis offers updated builds, such as version 2.2.1 for Ubuntu 24.04 (Noble Numbat), added with sudo add-apt-repository ppa:pj-assis/ppa followed by an apt update and install. This PPA ensures users receive recent enhancements while maintaining compatibility with Ubuntu-based systems.

Ports and Builds for Other Systems

Guvcview, primarily designed for Linux environments, has seen experimental builds adapted for ARM-based embedded systems, particularly single-board computers. Community developer avafinger has modified versions such as 2.0.2.1 and 2.0.4 to support hardware like the Orange Pi PC, One, 2Plus, and 2E (using H3 SoCs and GC2035 CMOS cameras), Banana Pi M64 (with OV5640 sensors), and Pine64+ (A64 SoC with S5K4EC or OV5640 cameras). These builds require specific dependencies including libv4l-dev, libgtk-3-dev, and libavcodec-dev, followed by a bootstrap, configure (with options like --enable-yuyv), and make process, often on Armbian distributions. They enable USB and CMOS camera capture but are tailored for these boards' kernel configurations and may need purging of stock guvcview packages for compatibility. There is no official support for Windows or macOS, as guvcview relies on the Linux-specific Video4Linux2 (V4L2) framework for device access. For users on these platforms, community recommendations point to cross-platform alternatives like Webcamoid, a Qt-based webcam suite that provides similar capture, effects, and recording features across Windows, macOS, , and other systems. Webcamoid supports UVC-compliant devices without V4L2 dependencies, making it a viable substitute for guvcview's functionality in non-Linux environments. Development revisions from the official repository enable custom builds with enhanced portability options, such as Qt5 interfaces as an alternative to the default GTK3 backend. These Qt5 variants, available in packages like guvcview-qt5-git (based on version 2.0.4), allow compilation with cross-platform toolkits for broader support. Additionally, SFML rendering integration provides lightweight video output alternatives, configurable during build to improve performance on resource-constrained systems without altering core V4L2 dependencies.

Reception

Critical Reviews

Guvcview received positive coverage in a 2011 review on gHacks, where it was praised for its flexibility in capturing and recording video on , outperforming alternatives like Cheese in video quality and ease of parameter adjustment. A 2020 evaluation on Mateu Aguiló's technology blog described Guvcview as lightweight yet critiqued its for lacking the polished appearance of Cheese, while still recommending it for its extensive control options. In a 2024 from Handbook, the release of version 2.1.0 was highlighted for addressing FFmpeg compatibility issues, such as deprecated audio channel warnings, solidifying Guvcview's role as a dependable tool for management and integration with applications like . Aggregated user-submitted reviews on rate Guvcview at 4.4 out of 5 stars, with commenters frequently emphasizing its stability and reliability for webcam operations across environments.

User Feedback and Adoption

Guvcview has garnered positive user feedback, particularly for its simplicity and compatibility with various hardware setups. On , the application holds an average rating of 4.4 out of 5 based on 12 reviews, with users frequently praising its ease of use on low-end systems such as netbooks and lightweight distributions like LMDE and Salix OS, where it performs reliably for testing and recording without taxing resources. However, some reviews highlight occasional issues, including crashes during recording and difficulties switching between devices like and cards, which can disrupt workflow on certain configurations. The software sees notable adoption in embedded and educational contexts, especially among users for webcam-based projects such as surveillance and streaming setups. Discussions on forums demonstrate its popularity for these applications, with users recommending compatible and troubleshooting integration for higher frame rates in resource-constrained environments. It is also employed in containers for live video streaming, as outlined in technical guides from 2023 that detail containerized deployments for isolated webcam capture. Community engagement remains active through the project's Git repository on SourceForge, where developers submit patches for bug fixes and feature enhancements, contributing to ongoing improvements in device support and stability. Tutorials, such as the 2011 YouTube video by NixiePixel, illustrate the application's recording capabilities and have helped sustain user interest by showcasing its straightforward interface for beginners. As of 2025, Guvcview maintains steady availability and downloads through Ubuntu's Launchpad repositories and SourceForge, with recent releases like version 2.2.2 ensuring compatibility with modern kernels and drivers. Ongoing maintenance, including updates to address build issues with libraries like FFmpeg, keeps the tool relevant for contemporary applications.

References

  1. [1]
    GTK+ UVC Viewer
    ... guvcview --control_only), this allows image control on other apps, like ekiga, cheese, mplayer, skype, ... Audio. Guvcview audio support can be selected ...DownloadsGuvcview downloadDocumentationDownload guvcview-src-2.0.6 ...Guvcview Reviews
  2. [2]
    guvcview(1) - Debian Manpages
    Mar 9, 2025 · Guvcview is an application for capturing and viewing video from devices supported by the linux kernel video4linux2 interface.
  3. [3]
    guvcview package : Ubuntu - Launchpad
    guvcview is a V4L2 video viewer and capture software designed with the linux UVC driver in mind (although it should work with any other V4L2 driver).<|control11|><|separator|>
  4. [4]
    guvcview 2.2.1-2 (x86_64) - Arch Linux
    Architecture: x86_64. Repository: Extra. Split Packages: guvcview-common, guvcview-qt. Description: Simple GTK+ interface for capturing and viewing video ...
  5. [5]
    guvcview
    ### Summary of guvcview Project
  6. [6]
    Linux UVC - GTK+ UVC Viewer
    For more information on the linux UVC project and a list of compatible hardware please visit the linuxtv home page. 2008 - Paulo Assis ...
  7. [7]
    Download guvcview-src-1.7.0.tar.gz (guvcview) - SourceForge
    Move beyond alerts. Gain full visibility, context, and control over your external attack surface to stay ahead of every threat. Try for Free.
  8. [8]
    UVC Webcam/Camera Software Guvcview 2.1.0 Released (Ubuntu ...
    Jan 23, 2024 · Guvcview, the free open-source tool for capturing image/video and dynamically controlling UVC camera and webcam devices, released version 2.1.0.Missing: Paulo development history 2008
  9. [9]
    Download guvcview-src-2.2.1.tar.bz2 (guvcview) - SourceForge
    Software downloads may not be possible on this device. Try To Download Anyway Get Download Link Share This. guvcview-src-2.2.1.tar.bz2. Scanned for malware ...
  10. [10]
  11. [11]
    guvcview / Git-Master / [38e237] - SourceForge
    guvcview can be build with both Gtk3 and Qt6 support enabled, you can then change the ui interface from the command line: 'guvcview --gui=gtk3' or 'guvcview -- ...
  12. [12]
  13. [13]
    guvcview(1) - Arch manual pages
    SYNOPSIS. guvcview. DESCRIPTION. Guvcview is an application for capturing and viewing video from devices supported by the linux kernel video4linux2 interface.Missing: origins 2008
  14. [14]
    Guvcview - capturing video from webcams - LinuxMaster Club
    Sep 25, 2021 · Guvcview is a free and open source, simple program for capturing and viewing videos from v4l2 devices for Linux
  15. [15]
    Guvcview - full-featured video grabber - LinuxLinks
    Apr 4, 2024 · Guvcview (GTK+ UVC Viewer) is a webcam application offering a simple interface with special effects for video capture.
  16. [16]
    5 Best Facecam Recorder for All Platforms - DemoCreator
    The Guvcview webcam recorder can add one or more than one special effects like mirror, pieces and particles, mono, negative, invert while capturing the video ...
  17. [17]
    guvcview-2.0.6-bp154.1.167 - SUSE Package Hub -
    - Update to version 2.0.4: * drop support for internal 422 packed format (use only 420 planar) * add support for extra pixel formats, including be formats ...
  18. [18]
    Webcam / Video Playback Problems in Ubuntu MATE 15.10
    Mar 9, 2016 · I have tried both .mkv and .avi formats in guvcview (Cheese only allows .mkv), and I get the same result every time. I have also tried ...
  19. [19]
    Customizability of (Logitech Brio 4K Ultra HD) Webcam on Ubuntu
    Jun 16, 2020 · You can customize a lot of settings using guvcview . enter image description here. Install with: sudo apt install guvcview.Making 1080p webcam running at 60 fps using UVC 1.5 - Ask UbuntuHow can I run guvcview with a different video source on Ubuntu ...More results from askubuntu.com
  20. [20]
    biotrump/guvcview: http://sourceforge.net/p/guvcview/git ... - GitHub
    Guvcview depends on the following: intltool,; autotools,; libsdl2 or libsdl,; libgtk-3,; portaudio19,; libpng,; libavcodec,; libavutil,; libv4l,; libudev, ...Missing: architecture | Show results with:architecture
  21. [21]
    Webcam setup - ArchWiki
    Nov 2, 2025 · Use hflip to invert it horizontally. Note that the format argument yuv420p might be needed to avoid an error, otherwise there might not be any ...
  22. [22]
    rasp B+ raspbian + guvcview - Raspberry Pi Forums
    Nov 10, 2021 · A couple of the formats supported by the camera are not supported by the app - H264 for one. ... Interfacing (DSI, CSI, I2C, etc.) Keyboard computers (400 ...guvcview compatible webcams?Camera Module find but no video in guvcviewMore results from forums.raspberrypi.com
  23. [23]
    Use guvcview to setup Logitech C920 webcam and keep configuration
    Apr 3, 2018 · I have a Logitech C920 webcam connected to my computer running Debian Linux. I want to access the stream by using mplayer (/dev/video0) and it ...
  24. [24]
    samliddicott/meet4k: Control extra features of OBSBOT Meet 4K ...
    Control extra features of OBSBOT Meet 4K Camera under Linux. See also guvcview fork for GTK3 UI controls.
  25. [25]
    Linux UVC driver & tools – FAQ - Ideas on board
    qv4l2, guvcview and luvcview are common test tools for UVC webcams, but feel free to try other V4L2 applications as well. In particular be careful that ...
  26. [26]
    Debian -- Package Search Results -- guvcview
    You have searched for packages that names contain guvcview in all suites, all sections, and all architectures. Found 8 matching packages.Missing: repository | Show results with:repository
  27. [27]
    guvcview package : Ubuntu
    ### History of guvcview in Ubuntu
  28. [28]
    guvcview Reviews - 2025 - SourceForge
    Rating 4.4 (12) · Free · LinuxVery nice, it just works. Ubuntu "Saucy" 13.10. Has a nice range of features. The only thing lacking that I would like is the option of a Qt interface rather ...
  29. [29]
    Index of /puppylinux/pet_packages-precise/
    This directory contains various packages like abiword, amd_fglrx, amule, and chromium, with different sizes and types.
  30. [30]
    guvcview - openSUSE Software
    A GTK interface for capturing and viewing video from devices supported by the Linux UVC driver, although it should also work with any v4l2 compatible device.
  31. [31]
    Stable : Paulo Assis
    - **Latest guvcview version for Ubuntu 24.04 (Noble):** 2.2.1+ubuntu0~ppa1+1483-0~202411021308~ubuntu24.04.1
  32. [32]
    Guvcview 2.0.2.1 for Orange PI (H3) - BananaPi M64 - Pine64+ (A64)
    GPL-3.0 license. Guvcview for OPI with CMOS Camera (H3 - A64 - A83T) / NanoPi M2 / M3 with USB camera. This is my modified version (2.0.2) that works with OPI ...
  33. [33]
    avafinger/guvcview_2.0.4: Guvcview 2.0.4 - Experimental - GitHub
    Guvcview 2.0.4 with CMOS Camera (H3 - A64 - A83T). This is my modified version (2.0.4) that works with OPI (Orange Pi) PC / One / 2Plus / 2E and BananaPi ...Missing: initial | Show results with:initial
  34. [34]
    Webcamoid, The ultimate webcam suite!
    Webcamoid is the best software for managing your camera​​ Available on GNU/Linux, Mac, Windows, Android, and FreeBSD, Webcamoid lets you capture stunning photos ...
  35. [35]
    GTK+ UVC Viewer Alternatives for Windows - AlternativeTo
    Mar 21, 2025 · Other interesting Windows alternatives to GTK+ UVC Viewer are Yawcam, AMcap, UniCam and webcamXP . guvcview is a video viewer and capture ...
  36. [36]
    Graphical Environment - Termux Wiki
    This article is only applicable only to Termux installations running on Android 7.0 or higher. Termux provides support for programs that use X Window System ...
  37. [37]
    Package request v4l-utils · Issue #5019 · termux/termux-packages
    Mar 9, 2020 · I'm trying to record from the camera of my phone using ffmpeg but it requires v4l2 to access the camera. the packages for v4l2 are not ...
  38. [38]
    AUR (en) - guvcview-qt5-git - Arch Linux
    Jan 14, 2016 · Video viewer and capturer for the linux uvc driver, Qt5-version ... sfml (sfml-gitAUR); git (git-gitAUR, git-glAUR) (make); intltool (make) ...Missing: portability | Show results with:portability
  39. [39]
    guvcview-2.0.8-bp157.1.4 - SUSE Package Hub -
    + Fix audio codecs (AC3 and AAC) input format for latest libavcodec API (float). + Add support for delayed frames in video encoding. - Changes since version 1.6 ...
  40. [40]
    Record from your web cam in Linux with GUVCView - gHacks.net
    Feb 5, 2011 · With GUVCView you can capture video or images along with audio. You can also control the look of your captured images/videos with easy to use sliders and check ...<|control11|><|separator|>
  41. [41]
    Guvcview instead of Cheese - Mateu Aguiló Bosch
    Jun 1, 2020 · I have been experiencing significant slowness in my webcam using cheese. I have moved to Guvcview now, and I am very happy with the move.
  42. [42]
    guvcview compatible webcams? - Raspberry Pi Forums
    Does anybody know of any webcams which work with guvcview which offer a good quality (480p or there shouts) and a frame rate higher than 10 FPS, ...
  43. [43]
    Linux Webcam Recording Made Easy with GUVCviewer - YouTube
    Feb 7, 2011 · ... record, and edit video from your webcamera. In this video I review GUVCviewer and show you some of what it can do on my Logitech cam ...