There is NO option to edit fps in cheese. Cheese just streams direct video input from your webcam.
You mention slow fps during recording, but I'm assuming that the video displayed in cheese even when not recording has the same slow fps, right?
In effect, the fps you see before recording is what you are recording?
If so, I imagine you are recording in your room? which means low lighting.
- try taking the laptop outside in bright sunlight and test if the fps improves or not.
If fps does improve outside, it means that webcam driver is running with an auto-exposure setting ON.
(That means the fps depends directly on the webcam exposure. More light more fps. Less light less fps.)
Some webcam drivers might have an option to turn this setting off.
To check : Install the v4l2ucp
program. Once installed, you can start the program from the menu item System > Preferences > Video4Linux Control Panel
.
Check if you have the options for Automatic Gain and Exposure (a checkbox) , Exposure , Gain. If you have the options, then you can turn it off and adjust the options as suitable.
If you do not have the options, it means your webcam driver does not yet support the auto-exposure options.
If the webcam has options to toggle Auto-Exposure when you boot into Windows, then you're in luck. The option can be included in Linux kernel for your webcam.
Check if there is an existing bug requesting the feature: Search in Product: v4l-dvb
If not, File a bug in the kernel. Product: v4l-dvb , Select Component: webcam
Bug is an enhancement feature request and should include following info:
lspci -vvnn
lsusb
dmesg
uname -a
You can increase the fps of RecordMyDesktop to get finer control frame by frame. as noted here. Sadly this appears to currently be limited to 50 fps which at best will result in one frame every 1/20th of a second. You'll have to play with the settings to accommodate the limits of your system.
You'd need to be able to record 1000 fps to get millisecond frames. While 1000 fps recordings are possible the hardware is pretty cost prohibitive.
Playing the resulting video with the command ffplay videoname
will give you not only a window to watch the video in but also a terminal output showing duration accurate to 1/100 th of a second.
You can also get the duration of the entire video with mediainfo
as in mediainfo videoname
which appears to have results accurate to 1/1000th of a second.
You can use ffmpeg to break a video into frames that you can examine seperately to determine the timing (frame 990 @ 1000 fps would be 990 ms from the beginning)
RecordMyDesktop is available in the Software Center if you don't have it and ffplay
is part of the ffmpeg package also available in the Software Center
Best Answer
Testing a couple of Webcam tools because of the slowness of Cheese (Very slow indeed) as suggested by Geppettvs I have the following:
GUCView (As suggested by Geppettvs) which installs and works the following way:
The following line will add the PPA for this app, update the repositories and install the app:
sudo add-apt-repository ppa:pj-assis/ppa -y && sudo apt-get update && sudo apt-get install guvcview
After which you can run the app with the command guvcview. Be warned that if your webcam is not in /dev/video0 it will throw a warning. You will need to change it to where your webcam is, for example:
guvcview -d /dev/video1
- In my case it was in video1, but it can be in video2, video3... Depends on what USB port it was connected to. guvcview does not automatically detect the webcam if it is connected in another one that is not video0.This offers many options compared to Cheese:
Camorama - Much faster than guvcview and obviously MUCH more than Cheese
It has the same problem as guvcview in regards to finding the webcam device. You need to run it from terminal like this:
camorama -d /dev/video1
if your webcam is not in video0.There is also Kamerka but since it needed to download a lot of KDE libraries I tested this one in another Pc with Kubuntu and works excellent.