I was very much disappointed when i installed Skype in Fedora, three causes which are as follows in the order. First, Skype for Linux is very old version (2.2 beta) than the Windows Skype, second, the video was too dark or black, and third cause surfaced after i installed Fedora 16 x86_64, no 64 bit binary for Fedora was available. The third one was solved as described in this post: Running Skype for Fedora x86 in Fedora x86_64. For the first one i can’t do anything, but there should be some solution for the second problem: dark video. Cheese (a video capture application) works fine and video is good. Searching in the skype forums got a lot of mumbo jumbo solutions of which none worked. After a lot of search i got a very simple solution.
First download an application called guvcview which lets you control the video devices supported by UVC drivers through a simply GUI. Linux 2.6.26 and newer includes the Linux UVC driver natively, therefore you do not need to worry about the drivers. To check if you have got the uvcvideo driver installed or not run
lsmod | grep uvcvideo
If you have an output with uvcvideo in the first column, then you have the module installed.
To install the application guvcview best thing is to check your distro repositories. For Fedora it is available from the rpmfusion-free repository. If you do not have this repository setup, then follow instructions here: http://rpmfusion.org/Configuration/. After you have configured the repository. Then execute the below.
yum install guvcview
Now you are ready.
With guvcview you can capture images, videos and control your video camera parameters. If you run guvcview from your kickstart menu then it will also launch a video window. You can check out the different controls here. For the current purpose we will not require the video window guvcview provides, instead we require only the controls of guvcview and control other application’s video input. To do this guvcview has a command line option -o or --control_only . Starting guvcview with this option will only give you the control window, and from this window you can control the parameters of video input of any other application which is using the video input device which guvcview is controlling.
Therefore to make it work with skype launch skype and login, click on the Skype logo (the small S in the bottom left corner of the skype window), click Options, click on Video Devices from the left side menu, and click on Test button. Then launch guvcview with the --control_only option (although you could launch this before skype).
Next, simply click on the Exposure, Auto Priority check box, and notice the sample video test in the Skype video test window change. That’s it. Check out the screenshots from my system. Note the sample video test samples.
The same effect can be achieved through command line with the tool uvcdynctrl, if you have installed guvcview then it should be installed in your system. Using this tool to set the Auto Exposure 1 you need to do
uvcdynctrl -s 'Exposure, Auto Priority' 1
To get the value of the property Exposure, Auto Priority you need to do the following.
uvcdynctrl -g 'Exposure, Auto Priority'
Make it work
Note that, this is not a one time configuration, you need to keep the guvcview window open in control only mode, whenever you want to control any video input through that device guvcview is controlling. When you receive a call or call some one, before or after you start the video launch guvcview -o and check the Exposure, Auto Priority and continue as normal. When call is finished you can close guvcview.
To avoid launching a terminal to execute guvcview -o you can enter a new or modify the existing fedora kickstart menu entry (by rightclicking it and selecting Edit Applications menu) to to launch guvcview -o instead of only guvcview.
Or simply run the command line tool uvcdynctrl once to set the Exposure, Auto Priority property.
You can also control any other video input application like above.
Playing a lot with the controls messes up the video configuration. But using the Exposure, Auto Priority option works well.
Links and References
- guvcview official website: http://guvcview.sourceforge.net/
- Linux UVC Drivers and Tools: http://www.ideasonboard.org/uvc/
02.06.2013: Added uvcdynctrl method.