Recent from talks
Nothing was collected or created yet.
Guvcview
View on Wikipedia
| Guvcview | |
|---|---|
Guvcview 2.0.1 | |
| Original author | Paulo Assis |
| Initial release | 2008 |
| Stable release | 2.2.1
/ 2 November 2024[1] |
| Repository | |
| Written in | C |
| Platform | Linux |
| Size | 960.7 kB (Guvcview 2.0.1)[1] |
| Type | Photo capture program |
| License | GPL-2.0-or-later |
| Website | guvcview |
Guvcview (GTK+ UVC Viewer) is a webcam application, i.e. software to handle UVC streams, for the Linux desktop, started by Paulo Assis in 2008. The application is written in C[1][2] and is free and open-source software released under GPL-2.0-or-later.
Guvcview is compatible with all V4L2 camera devices, using the Linux UVC driver and based on luvcview for video rendering. Audio support employs the PortAudio open-source library. The application's user interface is built using GTK+ and is designed to be simple and easy to use.[3][4][5][6]
The application has been noted as using fewer resources than other webcam applications, such as the GNOME standard webcam application, Cheese, and is an alternative to other webcam applications, including Apple Photo Booth and KDE Kamoso.[2][7]
Features
[edit]Guvcview uses a two-window interface in normal use. One window displays the camera image to be recorded and the other displays the settings and controls, as well as menus.[8]
Through the Linux UVC driver, Guvcview offers extension controls, vendor-specific controls included in the UVC specifications, which are dynamically loaded into the driver. At present only webcam-maker Logitech has provided the specifications for their UVC webcam extension controls and as a result Logitech camera extension controls are included.[3]
Starting with version 0.9.9, Guvcview was able to be operated in control window only mode and used to control images on other applications, including Ekiga, Cheese, mplayer and Skype.[3]
Still images can be recorded in .bmp, .jpg, .png, .raw and videos in .avi, .mkv (Matroska Multimedia Container open standard format) and Google's .webm open standard format.[1][7]
The video capture mode includes some basic special effects. These are: mirror, invert, negative, mono, pieces and particles, which can be combined by selecting more than one.[1][7]
Operating systems
[edit]Guvcview has been available in Debian for many instruction sets,[9] and in the Ubuntu repositories since Ubuntu 13.10 in 2012.[5][10] Until the 18.10 release, it was the default webcam application included with Lubuntu.[11][12]
Guvcview is also available in the Debian and Puppy Linux repositories.[13][14]
Reception
[edit]In reviewing Guvcview in February 2011, Jack Wallen wrote in Ghacks, "Recently I have had to do some video tutorials. I tried recording these tutorials with Ubuntu's default Cheese Webcam Booth, but unfortunately the combination of my Logitech Quickcam Pro 9000, Ubuntu 10.10, and Cheese didn't want to record video in any usable FPS. So I had to look elsewhere. My search turned me to GUVCView and I can't tell you how happy I have been with the results. Not only is this tool as easy to use as Cheese, it's far more flexible, and renders much better video... GUVCView, from my perspective, is a much better means of recording video than Cheese. This especially applies if the video you are recording is to be used for something other than, say, Skype chatting."[8]
Jim Lynch, writing on Linux Desktop Reviews in May 2011, was less enthusiastic about the application's inclusion in Lubuntu, "I actually like Cheese so I can’t say I’m real thrilled about it being replaced by guvcview, but it’s sort of six of one or half dozen of the other when it comes to these two programs. I could get by fine with either one though your mileage may vary depending on your needs and preferences."[12]
Hectic Geek reviewed the application in September 2012 and concluded "...I didn’t have any issues with it and successfully recorded videos (you can manually disable audio input) and took pictures, added few funny effects … all is good with guvcview...."[7]
The application is rated as 4.5/5 on SourceForge.[6]
See also
[edit]References
[edit]- ^ a b c d e assisp. "guvcview". sourceforge.net. Retrieved 6 December 2024.
- ^ a b "GTK+ UVC Viewer". alternativeto.net. Retrieved 8 May 2015.
- ^ a b c "GTK+ UVC Viewer". sourceforge.net. Retrieved 8 May 2015.
- ^ "home". free.fr. Retrieved 8 May 2015.
- ^ a b "guvcview package : Ubuntu". launchpad.net. Retrieved 8 May 2015.
- ^ a b assisp. "guvcview". SourceForge. Retrieved 8 May 2015.
- ^ a b c d "'guvcview' Captures images and Record Videos using your Webcam (Ubuntu)". Hectic Geek – Application Software & OS Reviews. 18 September 2012. Archived from the original on 17 June 2017. Retrieved 8 May 2015.
- ^ a b Wallen, Jack (5 February 2011). "Record from your web cam in Linux with GUVCView". gHacks Technology News. Retrieved 8 May 2015.
- ^ "Guvcview in Debian for many architectures".
- ^ "GTK+ base UVC Viewer". Ubuntu Apps Directory. Retrieved 8 May 2015.
- ^ "Lubuntu - Ubuntu Wiki". ubuntu.com. Retrieved 8 May 2015.
- ^ a b Lynch, Jim. "Lubuntu 11.04". desktoplinuxreviews.com. Archived from the original on 18 May 2015. Retrieved 8 May 2015.
- ^ All Debian Packages in "jessie", retrieved 7 May 2015
- ^ "Index of /puppylinux/pet_packages-slacko/". ibiblio.org. Retrieved 8 May 2015.
External links
[edit]Guvcview
View on Grokipediaguvcview --control_only), which allows image and device adjustments to be applied to other programs such as Ekiga, Cheese, or Skype without full video display, enhancing integration in multimedia workflows.[1] Guvcview is distributed under the GNU General Public License, with its source code hosted on SourceForge, and it remains actively maintained for modern Linux distributions like Ubuntu, Debian, and Arch Linux.[1][4]
History and Development
Origins and Initial Release
Guvcview was founded in 2008 by developer Paulo Assis as a lightweight application to facilitate video capture and viewing on Linux systems, particularly targeting devices supported by the Video4Linux2 (V4L2) framework.[1][5] 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 webcam inputs on desktop Linux environments where such support was a key focus. Written in the C programming language, Guvcview emphasized simplicity and ease of use for basic video operations.[1][5][6] The software made its first public release available via SourceForge in 2008, quickly establishing itself as an accessible option for Linux users seeking reliable webcam 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.[5][1]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.[5] 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.[7] 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 GNU Scientific Library (GSL) for random number generation in effects processing. More recent releases include version 2.1.0 in January 2024, which addressed audio channel warnings when using FFmpeg for encoding.[8] In November 2024, version 2.2.1 switched the user interface to Qt6 from Qt5, adopted the CMake build system for easier compilation, and added support for the yuv420p pixel format in video output.[9] 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 musl libc.[10] Beyond the primary developer Paulo Assis, key contributions have come from community members including Paul Zander for FFmpeg 8 and musl libc patches, Sam Liddicott for warning silences and GTK3 enhancements, Flavio Spagnuolo for Matroska muxer fixes, George Sedov for threaded video encoding improvements, and Richard Fuchs for audio-video synchronization patches.[11][12]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 (UVC) compliant webcams that enable live preview and recording without additional drivers.[13][1] 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 (mmap) or read operations for efficient data handling.[13] For video recording, Guvcview supports container formats including AVI, MKV, and WebM, paired with codecs such as H.264, VP8, and Theora to balance quality and file size.[14][13] Still image capture is available in formats like BMP, JPG, PNG, and RAW, providing flexibility for single-frame extraction during sessions.[14] Audio integration in Guvcview is facilitated through the PortAudio library, which handles capture from microphones and supports output codecs including AAC, MP3, and AC3, with options for mono or stereo channels to accommodate various recording needs.[1][13] 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.[13] Additionally, on-screen display (OSD) elements like crosshairs assist in precise framing during live preview and recording.[5]User Interface and Controls
Guvcview employs a graphical user interface primarily developed using the GTK+ toolkit, providing an intuitive setup for webcam interaction, while alternative frontends based on Qt5 or Qt6 can be selected during compilation or runtime via command-line flags such as--gui-api=qt6.[13][1]
The interface generally operates in a dual-window configuration, featuring a dedicated preview window for real-time video display and a separate control panel for managing settings, enabling users to monitor and adjust captures simultaneously.[1] 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 focus, zoom, and tilt adjustments.[13][1]
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 Skype while conserving system resources.[1][13] 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.[13] 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.[13] 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.[13]
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, grayscale (mono) 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.[15][16] Guvcview also supports audio effects such as echo, reverb, fuzz, croak, and duckling for modifying captured sound during sessions.[14] In addition to these, basic color adjustments allow fine-tuning of the video output, covering parameters like brightness, contrast, saturation, hue, white balance (gamma), sharpness, and backlight compensation. These controls facilitate real-time modifications during capture, optimizing the visual quality based on lighting conditions or user preference.[8] 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 YUV420p (planar 4:2:0) for efficient processing in modern workflows, with enhanced support for YUV420p in versions from 2.0.4 onward by prioritizing planar over packed formats.[14][17] Output customization extends to adjustable quality settings for both images and videos, where users can select resolutions, frame rates, and codec parameters to balance file size and fidelity. For videos, container options include AVI for simple streams and MKV for advanced multiplexing of multi-track audio and video, supporting synchronized capture from stereo microphones or overlaid elements. Image outputs default to formats like JPEG, PNG, or BMP with configurable compression levels.[18][14] Still capture enhancements include resolution presets that align with the device's maximum supported dimensions—up to 4K (3840x2160) in recent versions for compatible hardware like the Logitech Brio.[19]Technical Implementation
Architecture and Dependencies
Guvcview features a modular architecture 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.[20] 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.[20]
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.[20] Encoding and decoding, including support for H.264/AVC via libavcodec and libavutil from the FFmpeg project, handle multimedia processing.[20] 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).[20] 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.[20]
The build system has evolved from traditional autotools to CMake, with the transition occurring in 2024 to improve cross-compilation and configuration flexibility. Builds can be configured to disable specific UI backends, such as GTK3 or Qt5, using options during the CMake setup process.[20] The standard build sequence involves running ./bootstrap.sh (for autotools legacy), followed by ./configure or CMake invocation, make, and make install, with --prefix to specify installation paths.[20]
While primarily designed for Linux environments, Guvcview is compilable on embedded systems through patches for musl libc, extending its utility beyond glibc-based distributions.[20]
Supported Hardware
Guvcview primarily supports hardware compatible with the Video4Linux2 (V4L2) framework, with a particular emphasis on USB Video Class (UVC)-compliant webcams that leverage the Linux UVC driver (uvcvideo kernel module).[1] This enables seamless integration with a wide range of USB webcams, allowing capture and control of video streams without proprietary drivers.[21] Resolutions supported are device-dependent but typically range from 320x240 up to 4K (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 Raspberry Pi CSI interface when backed by appropriate V4L2 drivers or adaptations.[13] For instance, Raspberry Pi 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.[22] Specialized support includes extension controls for certain Logitech models, such as the C920, which allow adjustments for features like focus, zoom, and backlight compensation through UVC extensions accessible within the application's interface.[23] Additionally, as of 2025, integration with the OBSBOT Meet 4K webcam is facilitated via a dedicated Guvcview fork that adds GTK3 UI controls for its AI-powered features, enhancing usability on Linux systems.[24] 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.[25]Platform Availability
Linux Distributions
Guvcview is integrated into several major Linux 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 Debian, 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.[26] For Ubuntu, packaging began with version 13.10 (released in October 2013), and it remains available in the universe repository for all subsequent releases, installable withsudo apt install guvcview.[27] Other distributions like Puppy Linux included it in their PET package repositories for lightweight installations in older releases such as Precise (2012).[28] openSUSE provides Guvcview through its Package Hub up to version 2.0.8, compatible with Leap and Tumbleweed releases.[29] Raspberry Pi OS, being Debian-based, offers ARM builds installable via apt for Raspberry Pi hardware. Arch Linux provides Guvcview in its official repositories (version 2.2.1 as of November 2025), installable via pacman.[4] Fedora includes it through the RPM Fusion repository.[30]
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.[31] This PPA ensures users receive recent enhancements while maintaining compatibility with Ubuntu-based systems.