GNOME Bugzilla – Bug 546953
cheese should allow recording/setting higher resolution video
Last modified: 2008-08-12 12:46:46 UTC
I tested cheese with a logitech quickcam pro 5000 webcam. The live preview quality amazed me, so I hit the video recording button, and I was truly disappointed to see the end result. It was a terribly compressed 320x240 theora video. This webcam is capable of 640x480 at 30 frames per second. I just demonstrated to myself that it could do so, by doing this rather arcane command I made by stitching various findings on the interwebs: gst-launch v4l2src ! video/x-raw-yuv,width=640,height=480,framerate=\(fraction\)30/1 ! ffmpegcolorspace ! theoraenc quality=100 ! oggmux ! filesink location=test.ogg Please add a way to set the video resolution, framerate and quality in Cheese. The reason why I would like to use a webcam is to get a tapeless replacement for my camcorder, and be able to record small bits of video without messing around with tapes, cables, memory cards, etc, so I need as much quality as I can get.
Are you really sure that the displayed resolution is different from the recorded one? Seems quite strange, if not impossible. Regarding framerate, we set the maximum available for the current resolution. Regarding quality we set the default theoraenc quality (16), it can surely be improved but the maximum one is 63 not 100.. doesn't that pipeline give you an error or a warning about exceeded range? Anyway there have been a couple of changes regarding video recording in last development releases would you mind try the latest or svn trunk? If you'll do would you please attach here a log from cheese -v? thanks
Nah, strangely the pipeline did not return an error for exceeded quality range. Here is the output with 2.22.3: jeff@kiki:~$ cheese -v Detected webcam: UVC Camera (046d:08ce) device: /dev/video0 video/x-raw-yuv 640 x 480 num_framerates 6 30/1 25/1 20/1 15/1 10/1 5/1 video/x-raw-yuv 352 x 288 num_framerates 6 30/1 25/1 20/1 15/1 10/1 5/1 video/x-raw-yuv 320 x 240 num_framerates 6 30/1 25/1 20/1 15/1 10/1 5/1 video/x-raw-yuv 176 x 144 num_framerates 6 30/1 25/1 20/1 15/1 10/1 5/1 video/x-raw-yuv 160 x 120 num_framerates 6 30/1 25/1 20/1 15/1 10/1 5/1 v4l2src name=video_source device=/dev/video0 ! video/x-raw-yuv,width=640,height=480,framerate=30/1 ! identity I can not test your development tarballs, because they require me to have intltool greater or equal to 0.40.0, and ubuntu 8.04.1 only provides 0.37.1. I have to say that the quality of encoding resulting from cheese is really terrible. I wonder if it's mainly an effect of the minuscule resolution or the quality setting being set to 25% of the maximum, or the combination of both.
you can try nevertheless, just by commenting out that intltool line in configure.ac
>you can try nevertheless, just by commenting out that intltool line in >configure.ac or just install it from source.. it shouldn't be such a hard thing. >I wonder if it's mainly an effect of the minuscule resolution or the >quality setting being set to 25% of the maximum, or the combination of both. Still this resolution thing.. could you please update somewhere a recorded video? I see no reason why recorded video shouldn't be 640x480. Anyway, more than a bug about video recording has been solved in svn. You're using a broken version.
>could you please update *upload, sorry for the typo
Ok, I tested the latest dev tarball by editing configure and configure.ac to replace 0.40.0 by 0.37.0, and indeed the video resolution is now correctly used. Video records at 640x480 @ 30 fps.