cameractrls - Le Bottin des Jeux Linux

cameractrls

🗃️ Specifications

📰 Title: cameractrls 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Tool 👁️ Visual: 2D
🏷️ Category: Tool ➤ Input devices ➤ Webcam ➤ Misc. 🏝️ Perspective: First person (interface)
🔖 Tags: Tool; Webcam; Setting ⏱️ Pacing: Real Time
🐣️ Approx. start: 2022-05-29 👫️ Played: Single
🐓️ Latest: 2025-06-27 🚦 Status: 05. Tested & Playable (status)
📍️ Version: Latest: 💥️ 0.5.8➜0.6.8 / Dev: 48cc16b ❤️ Like it: 3. 👍️⭐⭐⭐ (very good)
🏛️ License type: 🕊️ Libre 🎀️ Quality: 1. 🏆️⭐⭐⭐⭐⭐ (perfect)
🏛️ License: MIT ✨️ (temporary):
🐛️ Created: 2022-12-03 🐜️ Updated: 2025-10-25

📦️ Deliverables

📦️ Package name: cameractrls ..... 📦️ Arch: ✓
📄️ Source: ✓ ..... 📦️ RPM: ✓
⚙️ Generic binary: ..... 📦️ Deb:
🌍️ Browser version: ..... 📦️ AppImage:
📱️ PDA support: ..... 📦️ Flatpak: ✓
✨️ Not use: ..... 📦️ Snap: ✓

🚦 Entry status

📰 What's new?: 🦬️ Huge. vers. 👻️ Temporary:
💡 Lights on: ✓ 📰 Previous News: ✓
🎨️ Significant improvement: ✓ 💭️ New version published (to be updated):
🎖️ This work: 5 stars 🦺️ Work in progress:
👫️ Contrib.: goupildb 🚧️ Some work remains to be done:
🎰️ ID: 16279

📖️ Summary

📜️[en]: A libre interface for fine tuning a webcam via V4L2 controls (and is extensible with non-standard controls). Video4Linux (V4L) is a set of video capture drivers for Linux integrated into the kernel. Currently it has extensions for Logitech (Led mode, led frequency, BRIO FoV), Kiyo Pro (HDR, HDR mode, FoV, AF mode, save), and Systemd (save and restore controls with Systemd path+service). You can adjust the zoom level, horizontal / vertical panning of the image, auto / manual focus, exposure, color balance, flashing frequency of its led in recording mode, resolution, recording frequency and format and save your settings in Systemd. 📜️[fr]: Une interface libre permettant de paramétrer finement une webcam via des contrôles V4L2 (et est extensible avec des contrôles non standard). Video4Linux (V4L) est un ensemble de drivers de capture vidéo pour Linux intégrés au noyau. Actuellement elle est dotée d'extensions pour Logitech (mode Led, fréquence led, BRIO FoV), Kiyo Pro (HDR, mode HDR, FoV, mode AF, sauvegarde), et Systemd (sauvegarde et restauration des contrôles avec Systemd path+service). Vous pouvez ainsi notamment régler le niveau de Zoom, le panoramique horizontal / vertical de l'image, la mise au point automatique/manuelle, l'exposition, la balance des couleurs, la fréquence de clignotement de sa led en mode enregistrement, la résolution, la fréquence et le format d'enregistrement et la sauvegarde de vos réglage dans Systemd.

🎥️ Videos


🎲️ Gameplay: [fr](202207), [pt](202301),

🕸️ Links

🏡️ Website & videos
Website: [Homepage] [Dev site] [Features/About] [Screenshots]
Videos: t(202xxx) gd(202xxx) gu(202xxx) r(202xxx) lp(202xxx) ht(202xxx) g(202xxx) g[fr](202207) g[de](202xxx) g[ru](202xxx) g[pl](202xxx) g[cz](202xxx) g[sp](202xxx) g[pt](202301) g[it](202xxx) g[tr](202xxx)]
Doc: [WIKI] [FAQ]
Updates: [RSS] [Changelog 1 2(no info) 3(usable)]

💰 Commercial
• (empty)

🍩️ Resources
(empty, license): [Homepage] [Dev site] 🎬️ g(202xxx)

🛠️ Technical informations
[PCGamingWiki] [MobyGames]

🦣️ Social
Devs (soyer (soyersoyer) [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Chat] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

🐝️ Related


📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB]

🕊️ Source of this Entry: [Site (date)]

🦣️ Social Networking Update (on mastodon)

🛠️ Title: cameractrls
🦊️ What's: A libre interface for fine-tuning a webcam
🏡️ -
🐣️ https://github.com/soyersoyer/cameractrls
🔖 #LinuxTool #webcam #Setup
📦️ #Libre #Arch #RPM #Flatpak #Snap
📕️ https://lebottinlinux.vps.a-lec.org/LO.html

🥁️ Update: 0.5.8➜0.6.8
⚗️ Huge. vers. 🦬️
📌️ Changes: https://github.com/soyersoyer/cameractrls/blob/main/CHANGELOG.md
🦣️ From: 🛜️ https://github.com/soyersoyer/cameractrls/releases.atom

🎲️[fr] https://www.youtube.com/embed/4ArqPJzY9QM
🎲️[pt] https://www.youtube.com/embed/8UawuvzMTGo

🕶️ A view of the author of Le Bottin des Jeux Linux (me) under the webcamoid utility interface next to a view of the cameractrls interface, while he is making adjustments to his webcam on the latter

📚️ cameractrls is a libre interface for fine tuning a webcam via V4L2 controls (and is extensible with non-standard controls). Video4Linux (V4L) is a set of video capture drivers for Linux integrated into the kernel. Currently it has extensions for Logitech (Led mode, led frequency, BRIO FoV), Kiyo Pro (HDR, HDR mode, FoV, AF mode, save), and Systemd (save and restore controls with Systemd path+service). You can adjust the zoom level, horizontal / vertical panning of the image, auto / manual focus, exposure, color balance, flashing frequency of its led in recording mode, resolution, recording frequency and format and save your settings in Systemd.

📕 Description [en]

📜️ "A libre interface for fine-tuning a webcam" 📜️

Camera controls for Linux

It's a standalone Python CLI and GUI (GTK, TK) and camera Viewer (SDL) to set the camera controls in Linux. It can set the V4L2 controls and it is extendable with the non standard controls. Currently it has a Logitech extension (Led mode, led frequency, BRIO FoV), Kiyo Pro extension (HDR, HDR mode, FoV, AF mode, Save), Systemd extension (Save and restore controls with Systemd path+service).

📕 Description [fr]

Une interface libre permettant de paramétrer finement une webcam, par soyer (soyersoyer).
En Python.

cameractrls est une interface libre permettant de paramétrer finement une webcam via des contrôles V4L2 (et est extensible avec des contrôles non standard). Video4Linux (V4L) est un ensemble de drivers de capture vidéo pour Linux intégrés au noyau. Actuellement elle est dotée d'extensions pour Logitech (mode Led, fréquence led, BRIO FoV), Kiyo Pro (HDR, mode HDR, FoV, mode AF, sauvegarde), et Systemd (sauvegarde et restauration des contrôles avec Systemd path+service). Vous pouvez ainsi notamment régler le niveau de Zoom, le panoramique horizontal / vertical de l'image, la mise au point automatique/manuelle, l'exposition, la balance des couleurs, la fréquence de clignotement de sa led en mode enregistrement, la résolution, la fréquence et le format d'enregistrement et la sauvegarde de vos réglage dans Systemd.


Contrôles de caméra pour Linux

Il s'agit d'une interface de commande en Python autonome (CLI & GUI, en GTK, TK) et d'un visualiseur de caméra (SDL) permettant de définir les contrôles d'une caméra sous Linux. Elle peut configurer les contrôles V4L2 et est extensible avec des contrôles non standard. Actuellement, elle est dotée d'une extension Logitech (mode Led, fréquence led, BRIO FoV), d'une extension Kiyo Pro (HDR, mode HDR, FoV, mode AF, sauvegarde), et d'une extension Systemd (sauvegarde et restauration des contrôles avec Systemd path+service).

🚧️ Installation ➜ 🚀️ Launching [fr]

⚙️ Installation à partir du binaire

📦️ Installation à partir du/des paquet(s) Manjaro/Arch :
• Il(s) est/sont dans les dépôts Manjaro/Arch, il suffit d'installer le(s) paquet(s).

📦️ Installation (méthode alternative) à partir du binaire au format Flatpak :
• Un binaire au format Flatpak est disponible. Il vous suffit d'utiliser votre gestionnaire de paquets Flatpak (bazaar, discover et/ou gnome-software) pour l'installer en quelques clics.

💡Nota :
▸ Installation du support du format Flatpak (si ce n'est par défaut sur votre distribution) :
• Installez le support Flatpak : flatpak qt5-base
• Redémarrez votre PC (nécessaire).
• Installez un gestionnaire de paquets Flatpak : bazaar (mon préféré), discover et/ou gnome-software

[The Linux Experiment] compare les différents formats (Snaps vs Flatpaks vs Appimages) en novembre 2023.
[The Linux Experiment] fait le point sur le sujet en août 2023.
• Un excellent outil pour gérer les droits des applications installées via Flatpak : [Flatseal] (à installer depuis Flatpak).
• Par défaut (si vous n'avez réglé aucun droit supplémentaire via Flatseal ci-avant), lorsque votre application nécessite des données externes au paquet Flatpak (exemple : les données d'un jeu - tel que : game.ipk3 ou doom2/), il est nécessaire de les copier dans le répertoire Flatpak de votre application (situé dans ~./var/app/votre_application ou ~./local/share/flatpak/votre_application).
Exemple : ~./var/app/org.zdoom.GZDoom/.config/gzdoom/ ou ~./local/share/flatpak/net.dengine.Doomsday/current/active/files/)
• Si au lancement de votre application il ne se passe rien, copiez son raccourci en console pour voir le message d'erreur obtenu. Si vous obtenez le message "Could not initialize GLX", en console lancez : “$ flatpak update” puis relancez votre application.
• Les données des applications installées via Flatpak sont copiées dans : ~./.var/app/ ou ~./local/share/flatpak/
• Les binaires des applications installées via Flatpak sont copiées dans : /var/lib/flatpak/app/
Exemple de raccourci Flatpak : /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=gzdoom.sh org.zdoom.GZDoom


📦️ Installation (méthode alternative) à partir du binaire au format Snap :
• Un binaire au format Snap est disponible.

▸ Installation de snap :
(L'installation du gestionnaire de paquets Snap (et ses commandes de base) est aussi décrite sur la fiche "0 03 - Glossaire & licences courantes").
Si ce n'est déjà fait, installez le paquet : snapd

▸ Installation du jeu au format Snap :
Après avoir installé snapd (en dépôt), lancez en console ("your_snap_package" étant le nom de votre jeu) : # snap install your_snap_package

▸ Mise à jour du chemin vers le(s) binaire(s) installé(s) :
Pour que vous puissiez lancer votre jeu/outil en console sans devoir préciser manuellement où il se trouve (il a été installé dans /var/lib/snapd/snap/bin/), mettez à jour la variable $PATH en éditant (si vous utilisez bash) le fichier ~.bashrc. Retrouvez (en bas du fichier) cette variable PATH=/.... et ajoutez à la fin (sans espace et y compris le “:”) :/var/lib/snapd/snap/bin
Notez que cette modification ne sera prise en compte qu'après l'ouverture d'une nouvelle console.

💡Nota :
[The Linux Experiment] compare les différents formats (Snaps vs Flatpaks vs Appimages) en novembre 2023.



📄️ Installation à partir du source

• Source non testé.


🚀️ LANCEMENT DE L'INTERFACE:

▸ Classique :
• Si vous l'avez installé à partir d'un paquet / dans l'un des répertoires système : [Alt+F2] cameractrls ou $ cameractrls
• Ou, rendez son binaire exécutable (clic droit sous votre gestionnaire de fichier) et cliquez dessus, ou dans son répertoire racine lancez : $ ./cameractrls
💡 Nota : si vous l'avez installé via votre gestionnaire de paquets et ne connaissez pas le nom précis du binaire, sélectionnez le paquet dans votre gestionnaire, et dans l'onglet “Fichiers” recherchez son nom dans l'arborescence d'installation (le binaire est généralement installé dans /usr/bin/).

▸ Flatpak :
• Si vous l'avez installé à partir d'un paquet Flatpak, lancez-le depuis :
⚬ le Menu de votre gestionnaire de fenêtres,
⚬ ou depuis votre gestionnaire d'applications Flatpak (bazaar, discover ou gnome-software - ce dernier se nomme “Logiciels”, sont dans la section "Administration" du Menu de votre gestionnaire de fenêtres).
💡 Astuce : L'application Ulauncher (en dépôts AUR) permet aussi de lancer vos applications (y compris Flatpak) via un raccourci (tel que Alt F3) en saisissant ses premières lettres.

▸ Snap :
• Si vous l'avez installé à partir d'un paquet snap, lancez : $ /snap/bin/(nom de l'appli) (ou $ snap run (nom de l'appli))

🕵️ Test [fr]

📜️ Préambule :
⚬ 1ere édition : les 3 et 4 Décembre 2022 sous Manjaro. Par : goupildb. ⏱️ Durée du test : ? minutes. 🎯️ Objectif : Initialisation de l'entrée, tests et premières impressions.
⚬ Mise à jour : le 25 Juin 2023 sous Manjaro. Par : goupildb. ⏱️ Durée du test : 30 minutes. 🎯️ Objectif : Mise à jour de son fonctionnement/évolution, et prise d'une copie d'écran


🎯️ Objectif : Initialisation de l'entrée, tests et premières impressions.

💻️ PC Specs :
Linux distribution: Manjaro
Kernel : 6.0.9-1-MANJARO
Graphics driver : NVIDIA 520.56.06 (proprietary version, via Manjaro)
Desktop environment: X-Cinnamon (5.4.12)

CPU : AMD Ryzen 7 2700X (3,7GHz, 8 cores)
Motherboard : MSI B450 GAMING PRO CARBON AC (RVB)
RAM : 32Go DDR4 (2x16GB)
Graphics card : GeForce RTX 2070 (TU106)
Hard disk: 1TB NVMe Force MP510 + 2x1TB Samsung SpinPoint F1 HD103UJ & WD Green WD10EACS
Monitors : 2 x ASUS ROG Swift PG348Q (3440x1440)
Webcam : Logitech HD Pro Webcam C920 (1080p@30FPS, stereo mic.)
Keyboard : Roccat Vulcan (RVB)
Mouse : G-Lab Kult-Iridium (RVB)
Gamepad : Microsoft Xbox Elite Wireless Controller Series 2 (xpadneo-dkms required)(drift if battery low)



🫕️ Installation :
‣ (✔ v. 0.5.0, 0.4.11) Paquet Arch/AUR : FONCTIONNEL.
‣ (🧪️not_tested) Paquet Flatpak : NON TESTE.
‣ (🧪️not_tested) Paquet Snap : NON TESTE.
🟢️ Il est très facile à installer et à lancer grâce à ses différents types de livrables disponibles.

🏗️ Réalisation :

▸ 📟️ Interface

🟠️ A noter que lorsque l'on lance l'interface il n'y a pas d'affichage de l'image (du moins pas encore à la version testée). J'ai du lancer en parallèle l'interface webcamoid.
🟢️ Les réglages effectués sous l'interface de cameractrls sont alors immédiatement visibles sur l'écran de l'interface de l'utilitaire webcamoid (on verra aussi plus bas l'autre intérêt): excellent.

🟢️ La particularité de l'interface de cameractrls est qu'elle n'affiche que les paramètres disponibles pour le matériel sélectionné.
⚪️ En ce qui concerne ma webcam, celle-ci peut afficher jusqu'en 1080p (1920x1080), et ne dispose pas de zoom matériel ni de motorisation permettant d'effectuer de panoramique.

🟠️ Dans l'onglet "Capture" l'affichage semble verrouillé en 640x480 et en YUYV, néanmoins l'affichage que je vois en direct sur l'utilitaire webcamoid me semble être bien supérieur au 640x480.
⚪️ Le zoom ainsi que le panoramique (haut/bas/gauche/droite) semblent obtenus de manière logicielle sur une image capturée plus grande : je pense que la capture est bien plus grande (vraisemblablement ici en 1920x1080) mais que l'on déplace la fenêtre d'affichage (dont la définition et les coordonnées dépendent des valeurs retenues pour le Zoom et "Pan"/"Tilt" sélectionnés dans l'onglet "BASIC") sur cette capture, probablement pour rester dans la bande passante maxi de ma webcam.

🟢️ J'ai noté aussi que si on lance cameractrls sans l'interface d'affichage webcamoid, les réglages de l'onglet capture ne sont plus verrouillés et l'on peut sélectionner tous les réglages souhaités (admissibles individuellement par le matériel). Dès que l'on utilise réellement la webcam via webcamoid, et que l'on tente de modifier un réglage, les réglages reviennent à leurs valeurs admissibles (bande passante maxi) par le matériel : excellent.
🟢️ Vous ne pourrez pas faire n'importe quoi pour planter votre matériel ;).
⚪️ D'où l'intérêt de lancer cameractrls avec une interface d'affichage (ici webcamoid) afin de visualiser les réglages et de ne pas se lancer dans des réglages inutiles que le matériel ne supportera pas et ne sera donc pas pris en compte.

🟢️ J'ai particulièrement apprécié de pouvoir régler le zoom, le panoramique pour pouvoir recadrer l'image (ma webcam n'est pas exactement centrée sur moi) et la fréquence de clignotement de la led de ma webcam (ludique) lorsqu'elle est en mode enregistrement. 🟢️ Le tout peut être sauvegardé sur Systemd : au démarrage suivant les paramétrages semblent être correctement restitués : excellent.

🟠️ Point(s) faible(s) relevé(s) : il/elle lui manque l'affichage de la webcam (il est nécessaire de faire appel à une interface externe),
🟣️ Point(s) fort(s) relevé(s) : les plages de réglage du matériel sont bridées aux valeurs admissibles par le matériel,


🧭️ Conclusion :

🕵️ Impression globale : 👍️
❤️ Like it: 👏️⭐⭐⭐⭐ (excellent)
🎀️ Quality: 👍️⭐⭐⭐ (very good)

🟢️ Une interface simple qui semble faire du très bon boulot : celui de paramétrer ma webcam et de sauvegarder ses réglages. Excellent !
🟠️ A utiliser obligatoirement avec une interface de visualisation (ici webcamoid) afin de permettre l'affichage et l'ajustement automatique des réglages à ce que votre matériel peut effectivement supporter.
👏️ ❤️ Un grand bravo et merci (notamment pour la version Linux !) à son auteur !