KDE: Simple tool to manage webcam settings

Hello DLN Community,

I have been looking for a tool that would allow me to manage system wide my webcam settings like zoom, contrast, focus etc… (the settings would be applied to all applications using the webcam and persistent accross reboots or device swapping)
guvcview is the best thing I have found but not really user friendly and worst thing for me, not persistent. Running a virtual webcam with OBS shouldn’t be the solution either.

After search the internet and irc, I have decided to make it from scratch.
The result fits my needs in terms of video conferencing and should fit the basic needs for most us.
As suggested by the title, this is KDE plasma 5.23+ only.

As a linux user that benefits from the work of all the volunteers in the community, I would like to return the favor and share this tool that helps me and could help others.

The source code is available here : Source Code
I am not a “real” developer. I know there are a lot of improvements to be made in code quality, so be nice please.
For the lucky ones running fedora, I have packaged them here : Fedora Packages

I would be very happy if some of you can try it and give feedback or open issue. I could test it only with 3 webcam models.

Note: Internalization is done only for English and French. If you want more languages, please open an issue.

Cheers

2 Likes

Very cool, I wish I knew C so I could help out. Well done!

2 Likes

Thank you.
Actually for the moment, all I want is for people to use it, give feedback and eventually report which device they are using and if it works well. If it is useful, that is great, if not well that happens :slight_smile:
As I said, for my personal needs, it works, but maybe some people have usecases that are not coveres.

Translations would be nice but that will come with time.

I’ve got some backend improvements in mind but it needs some changes in the api of the kde framework or v4l, some maybe it will come someday. Already asked but not that easy or fast.

1 Like

This is actually awesome. This will come in handy for work video calls. I got a new webcam and it has a fish eye lens so it captures a wide area of my apartment. Would be nice to adjust the camera and limit how much it captures.

You’re allowed to pat yourself on the back and call yourself a “real” developer, considering you’ve built something and shared it to the public.

1 Like

Yes that is the goal. I have exactly the issue with my « best » hi res camera but is a fisheye capture.
In the end you appear very far away and the whole room is captured and distorted.
Unfortunately for me, this cam doesn’t provide the zoom controls. I hope it works for you.

The settings available depend on the webcam capability.

1 Like

The webcam app I use is called “Webcamoid” and there is an article on Front Page Linux I put together to talk about its strengths. There are those fine adjustments you can make I just looked for zoom controls and I see that they have done a pretty major rewrite of the app and is perhaps a bit more polished looking. I do recommend you check it out and see if it meets your needs at all.

2 Likes

Welcome to the community! Thanks for doing this work and sharing it. That’s just awesome! Anybody who does that counts as a “real developer” to me, definitely! As someone with a degree in software engineering, I can tell you that having that isn’t what makes you a “real developer” – it’s producing code that is used in real life that makes you one, and that means real-world experience, such as you have. I hope that your application helps you and others, and that the feedback you get encourages you to stay in the open source community. If it’s refactoring you’re concerned about, I am sure there will be folks in the community who can help out. If I get time I will do too. Just starting out on my open source contributions journey, here too, friend. All the best now - and thank you again :slight_smile:

1 Like

These are the most advanced use cases that would require and additional app to create the virtual camera and allow extra effects or settings. I have played with OBS in the past to add effects or control the webcam settings but it’s overkill imo.
However, Webcamoid looks like a nicer solution than OBS for that. I’ll definetly check it out once I get it working. My first try fail miserably, probably the wayland compatibility not there yet.
What is the resource overhead for the virtual webcam settings with no additional effect?

Personally I don’t like having to run first an additional app for such basic settings. For advanced settings or effects, it makes perfect sens tho.

Thank you.
What are you contributing to if I may ask?

1 Like

You’re welcome. I’ve only this week taken the plunge and chosen KDE as my community / project to be a part of. A few weeks ago there was a suggestion in DL podcast for those wishing to join the community to try bug triaging, which is where I plan to contribute initially.

I do have C++ developer experience, but not so-much with Qt. Once I’ve settled in a bit, hopefully, I’ll look at some development work too!

Do you have any further projects in mind as well, I wonder?

I would be interested in the bug triaging for kde and packaging as well, but I need to be sure I have enough free time to commit into this activity.
Dayjob is already demanding and the wife might not like me to spend more hours on the computer.

I’ve also contributed here and there with ansible or kubernetes when I had specific issues I could fix myself.

Note: I have worked as a C developer for my first job 15 years ago. Learning Qt hasn’t been as hard as I expected. The libraries are well done and documented. Some tutorials are missing or outdated but after some digging and tries, you can find your way. I have no doubts you can be prolific quite fast with Qt. QML gives me more trouble because the logic is different.

1 Like

Same here, friend, with regard to contributions. I’ve been thinking about it for years but not been in a position to really commit myself. Now, I think I can really make a go of it. Let’s see!

Wow - that’s great you’ve contributed to other projects too :+1:

Thanks for the encouragement in Qt. I’ve experimented with it a little and I think I’ll be okay with it. I guess it goes back to times before the standard C++ libraries were as extensive as they are now, so they built things themselves and they’re now part of the Qt framework. I wouldn’t mind a more gradual shift towards standard libraries and newer C++ versions over time, if this hasn’t started happening already :slight_smile:

All the best in your continuing endeavours. This is a great community we have here. You should drop by often!

1 Like