recordmydesktop does not record frames properly in karmic

Bug #463019 reported by Jeff Fortin Tam
28
This bug affects 4 people
Affects Status Importance Assigned to Milestone
recordmydesktop
Fix Released
Undecided
Unassigned
recordmydesktop (Fedora)
Fix Released
Medium
recordmydesktop (Ubuntu)
Fix Released
Undecided
Erik B. Andersen
Karmic
Fix Released
Undecided
Unassigned
Lucid
Fix Released
Undecided
Erik B. Andersen

Bug Description

Binary package hint: gtk-recordmydesktop

For some reason, RMD in karmic doesn't record properly. Even if I set it to record at 30 fps (and I have a quadcore processor, it's clearly not the bottleneck), it seems to record at 0.5 or 1 frame per second. Completely useless, sadly.

This used to work in jaunty. Using compiz or not doesn't seem to make a difference.

It also happens on lucid with version 0.3.8-0ubuntu2.

Revision history for this message
In , Kamil (kamil-redhat-bugs) wrote :

Created attachment 362310
recordmydesktop.ogv

Description of problem:
There are some problems with theora in current Rawhide. I don't know if it is application problems or codec problems, but I hope you can decide. All I know is that everything worked ok in Fedora 11.

I have tried to record my desktop using gtk-recordmydesktop and the output file is totally broken. It was set to 15fps, but both in totem and mplayer it plays like 0.25fps (1 frame in 4 seconds). Vlc can't even play it.

When recording using istanbul, it plays correctly in all players, but video quality is unbelievably poor.

I believe all the records/players have not broken out of the blue at once, so there must be some problem in the codec itself.

I attach the two recordings for examination. In both I should be opening system and context menus and moving the cursor over the items fluently.

Version-Release number of selected component (if applicable):
Rawhide 20090922
libtheora-1.1beta3-1.fc12.x86_64
gtk-recordmydesktop-0.3.8-2.fc12.noarch
recordmydesktop-0.3.8.1-1.fc11.x86_64
istanbul-0.2.2-10.fc12.x86_64
vlc-1.0.2-1.fc12.1.x86_64
mplayer-1.0-0.109.20090329svn.fc11.x86_64
totem-2.28.0-1.fc12.x86_64

How reproducible:
always

Revision history for this message
In , Kamil (kamil-redhat-bugs) wrote :

Created attachment 362311
istanbul.ogv

Revision history for this message
In , Gregory (gregory-redhat-bugs) wrote :

The istanbul.ogv file is encoded with qi=16 and the resulting bitrate is 52kbit/sec; this reflects a quality setting of "1" in most applications. Setting the output for low quality/low bitrate actually producing the requested result is notabug.

Revision history for this message
In , Gregory (gregory-redhat-bugs) wrote :

Recordmydesktop.ogv is encoded with a target bitrate of 45kbit/sec but a minimum qi of 63 (equivalent to minimum quality of 10 in most applications).

You're telling the encoder that it must use the highest configurable precision to encode the frames, yet that it can't use more than 45kbit/sec. Older versions of the encoder would just wildly violate your rate constraint under this kind of situation, the newer encoder drops frames in an attempt to meet both your demands.

Again, not a bug in libtheora.

If the recording tools don't make it easy to adjust the settings, or have illogical results then there should probably be bugs filed against them.

Revision history for this message
In , Kamil (kamil-redhat-bugs) wrote :

Thanks for the explanation. I was puzzled how it is possible that recordmydesktop worked in F11 with previous libtheora version and doesn't work in F12. If you say that previous libtheora ignored wrong settings, while new one doesn't, then it's explained I guess.

I checked istanbul in F11 (didn't try it before) and it produces same low quality picture as in F12. That's settled too I guess.

If you really believe it's a problem in recordmydesktop and not in libtheora, I will report this bug in recordmydesktop project and this issue can be closed as notabug. Can you tell me in which tool I could try to record/transcode a movie into theora to check the library works ok? One tool that works well is enough.

Revision history for this message
In , Bug (bug-redhat-bugs) wrote :

This bug appears to have been reported against 'rawhide' during the Fedora 12 development cycle.
Changing version to '12'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Revision history for this message
In , Adam (adam-redhat-bugs) wrote :

Moving to recordmydesktop

Revision history for this message
In , Kamil (kamil-redhat-bugs) wrote :
Revision history for this message
In , Nicu (nicu-redhat-bugs) wrote :

Created attachment 370301
jumpy recording with gtk-recordmydesktop

For me the recording is jumpy, see the attachment, the video freezes from time to time for a few seconds and then jumps forward.

Revision history for this message
In , Nicu (nicu-redhat-bugs) wrote :

@Gregory Maxwell: neither Istanbul or gtk-RecordMyDesktop allow the user to change the bitrate

Revision history for this message
In , Davide (davide-redhat-bugs) wrote :

Confirmed on my F12 x86_64 system.

Revision history for this message
In , Davide (davide-redhat-bugs) wrote :

Downgrading libtheora to the F11 version from
http://koji.fedoraproject.org/koji/buildinfo?buildID=86088
is possible, as no other dependencies seem to be involved. In my case, I had to downgrade both the x86_64 and the i686 package.

This brings smooth session recording back, of course with the "old" Theora encoder with lower quality.

Just a workaround for the time until recordmydesktop is fixed!

Revision history for this message
In , Nicu (nicu-redhat-bugs) wrote :

there are a lot of dependencies for libtheora, including recordmydesktop and gstreamer-plugins-base

Revision history for this message
In , Davide (davide-redhat-bugs) wrote :

Sorry, maybe I was unclear. After downloading the F11 version, I only ran

sudo yum downgrade --nogpgcheck libtheora-1.0-3.fc11.x86_64.rpm

and it worked! I did not have to worry about downgrading recordmydesktop or other packages.

For the i686 version, I messed it up at first, since I ran

sudo yum erase libtheora.i686

which removed a few extra packages (gstreamer-plugins-base.i686, phonon.i686, phonon-backend-gstreamer.i686, qt-x11.i686) as well... But then I reinstalled them.

Hope this helps!

Revision history for this message
Jeff Fortin Tam (kiddo) wrote :

I located the problem with the commandline recordmydesktop tool: for this to work correctly, I *need* to specify the -v_bitrate parameter. Without it, with any parameter combination, I get the laggy output.

Revision history for this message
In , Elad (elad-redhat-bugs) wrote :

"Istanbul" and "Recordmydesktop" both record jumpy video on my machine (Fedora 12 x86_64).

I've tried adding --v_bitrate 700000 in recordmydesktop-gtk int the Misc tab of the advanced settings window (it's an option of recordmydesktop, as written in the man page), but it didn't help. I think it is not related to the bitrate.

extra test that i did was recording with the CLI, maximum bitrate and 50 fps. the video was a little less jumpy, but still too jumpy.

Revision history for this message
In , Gregory (gregory-redhat-bugs) wrote :

elad: Thats not high enough. You're asking theora to encode your screen with nearly perfect quality. Uncompressed 4:2:0 1024x768x15fps is 141mbit/sec. It's going to have to drop some frames to encode that into 700kbit/sec over a short time window with the requested near-perfect quality.

I explained very specifically what recordmydesktop is doing wrong. Does this package not have a maintainer?

In any case, I'll attach a patch which gives sane behaviour.

Revision history for this message
In , Gregory (gregory-redhat-bugs) wrote :

Created attachment 373762
Patch to use sane defaults.

Revision history for this message
In , Kamil (kamil-redhat-bugs) wrote :

>> Does this package not have a maintainer?

I have reported it upstream, but as you can see, the upstream maintainer haven't responded yet. Thank you for the patch. Let's hope at least Fedora maintainer will decide to fix this issue until it is fixed upstream.

Revision history for this message
In , Elad (elad-redhat-bugs) wrote :

I've tested Gregory's patch. It works, and even seems to improve the encoding speed.
Great work Gregory!

Revision history for this message
In , Rob (rob-redhat-bugs) wrote :

Created attachment 374095
Updates rmd_getzpixmap.c to use shmproto.h instead of shmstr.h

Revision history for this message
In , Rob (rob-redhat-bugs) wrote :

Created attachment 374096
Updates rmd_update_image.c to use shmproto.h instead of shmstr.h

Revision history for this message
In , Rob (rob-redhat-bugs) wrote :

I'm running Fedora 12 64-bit, and had a problem with the make stage as my system could not find shmstr.h as this now seems to have been replaced by shmproto.h - therefore I've attached two patches (forgive me, my knowledge of patch is very basic at this point).

For anyone interested in trying this, I have included instructions below - please correct any mistakes you find!

# Install some dependencies
su -
yum install libICE-devel libSM-devel libXext-devel libXdamage-devel libXfixes-devel libogg-devel libvorbis-devel libtheora-devel jack-audio-connection-kit-devel xorg-x11-proto-devel
exit
# Change the folder below to your own path!
cd /home/rob/Download/Packages/Source
wget http://downloads.sourceforge.net/project/recordmydesktop/recordmydesktop/0.3.8.1/recordmydesktop-0.3.8.1.tar.gz
wget http://downloads.sourceforge.net/project/recordmydesktop/gtk-recordMyDesktop/0.3.8/gtk-recordmydesktop-0.3.8.tar.gz
gzip -d recordmydesktop-0.3.8.1.tar.gz
tar -xvf recordmydesktop-0.3.8.1.tar
gzip -d gtk-recordmydesktop-0.3.8.tar.gz
tar -xvf gtk-recordmydesktop-0.3.8.tar
cd recordmydesktop-0.3.8.1
# Add patch to fix new theora
wget https://bugzilla.redhat.com/attachment.cgi?id=373762 -O sanity.patch
patch -p1 < sanity.patch
# Add patches to change shmstr.h to shmproto.h as in 64-bit Fedora "yum whatprovides *shmstr.h" failed
# See also: http://bugs.gentoo.org/show_bug.cgi?id=291111
wget https://bugzilla.redhat.com/attachment.cgi?id=374095 -O rmd_getzpixmap.patch
wget https://bugzilla.redhat.com/attachment.cgi?id=374096 -O rmd_update_image.patch
patch -p1 < rmd_getzpixmap.patch
patch -p1 < rmd_update_image.patch
./configure
make
su -
# Change the folder below to your own path!
cd /home/rob/Download/Packages/Source/recordmydesktop-0.3.8.1
make install
exit
cd ../gtk-recordmydesktop-0.3.8
./configure
make
su -
cd /home/rob/Download/Packages/Source/gtk-recordmydesktop-0.3.8
make install
exit

Revision history for this message
In , Rob (rob-redhat-bugs) wrote :

Created attachment 374101
Fedora 12 64-bit instructions correctly formatted

Revision history for this message
In , Rob (rob-redhat-bugs) wrote :

Attached above as text file - copy and paste test for above instructions shows that some lines are too long and break onto another line!

Revision history for this message
In , Elad (elad-redhat-bugs) wrote :

Rob:
there is another bug opened for this problem: https://bugzilla.redhat.com/show_bug.cgi?id=533531
there is a working patch for this problem attached to that bug.
You should search in the bugzilla before you post a patch.

Revision history for this message
In , Rob (rob-redhat-bugs) wrote :

Noted.

Changed in gtk-recordmydesktop (Ubuntu):
status: New → Confirmed
description: updated
description: updated
tags: added: lucid
Revision history for this message
In , Till (till-redhat-bugs) wrote :

*** Bug 544995 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Fedora (fedora-redhat-bugs) wrote :

recordmydesktop-0.3.8.1-4.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/recordmydesktop-0.3.8.1-4.fc12

Revision history for this message
In , Fedora (fedora-redhat-bugs) wrote :

recordmydesktop-0.3.8.1-4.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/recordmydesktop-0.3.8.1-4.fc11

Revision history for this message
In , Fedora (fedora-redhat-bugs) wrote :

recordmydesktop-0.3.8.1-4.fc12 has been pushed to the Fedora 12 stable repository. If problems still persist, please make note of it in this bug report.

Revision history for this message
In , Fedora (fedora-redhat-bugs) wrote :

recordmydesktop-0.3.8.1-4.fc11 has been pushed to the Fedora 11 stable repository. If problems still persist, please make note of it in this bug report.

Revision history for this message
In , Mohamed (mohamed-redhat-bugs) wrote :

i'm using F12 64bit and i can't get this update till now !

i did many things to get this using yum update & yum clean all && yum update.

but the update doesn't get it.

should i wait another day for the mirrors to be synced?

Revision history for this message
In , Mohamed (mohamed-redhat-bugs) wrote :

i didn't wait for the update process.

after installing this update, the video is running very fast and the sound stops after 1 sec .

Revision history for this message
In , Mohamed (mohamed-redhat-bugs) wrote :

any update about this issue ?

Revision history for this message
In , Kamil (kamil-redhat-bugs) wrote :

Mohamed, the above-mentioned update is available in fedora updates repo and it works well for the issue described. If you experience another problem, please report it as a separate issue and include as many details as possible. Thanks.

Revision history for this message
Jeff Fortin Tam (kiddo) wrote :

I found a bug report upstream: https://sourceforge.net/tracker/?func=detail&aid=2827013&group_id=172357&atid=861428
Which points to the redhat bugzilla and theora 1.1 as the cause: https://bugzilla.redhat.com/show_bug.cgi?id=525155

Now if anyone here could look at this and figure out what's going on...?

Revision history for this message
Erik B. Andersen (azendale) wrote :

From the bugs you found it sounds like RMD has bad defaults. The Fedora bug has a patch, but it's probably beyond what I know how to do to apply it to ubuntu.

Revision history for this message
Erik B. Andersen (azendale) wrote :

Ok, I looked at the patch, and I seemed to be able to patch the ubuntu version with it. I attached the debdiff (think that's all you need to get the updated package, right?).

Changed in gtk-recordmydesktop (Ubuntu):
assignee: nobody → Erik B. Andersen (erik-b-andersen)
status: Confirmed → In Progress
Revision history for this message
Dominic Evans (oldmanuk) wrote :

.debdiff looks good

the sponsors often like you to have uploaded it to PPA or to attach a build log to prove it builds cleanly, then just follow usual sponsorship (subscribe the sponsors etc.) https://wiki.ubuntu.com/SponsorshipProcess

Revision history for this message
Erik B. Andersen (azendale) wrote :

@ Dominic Evans: I'm not 100% sure what you mean by a build log, but I'm guessing you mean the terminal output of building it, which I attached.

@ Jean-François Fortin Tam: I'll try to upload it to https://launchpad.net/~erik-b-andersen/+archive/rmd so you can test it.

Revision history for this message
Erik B. Andersen (azendale) wrote :

@ Jean-François Fortin Tam: Sorry it took so long to get the package in the ppa. I was having trouble uploading it.

Revision history for this message
Erik B. Andersen (azendale) wrote :

If you look at https://launchpad.net/ubuntu/+source/recordmydesktop/0.3.8.1+svn602-1ubuntu1 , it sounds like this has been patched in debian for lucid.

Revision history for this message
Jeff Fortin Tam (kiddo) wrote :

Erik, your .deb package from your PPA solves my problem! If the same patch is applied in Lucid, then yay!

Revision history for this message
Erik B. Andersen (azendale) wrote :

When I went to get the source to modify for lucid it had a patch 'for the new theora' . It didn't look like exactly the same patch, but it changed some of the same things, so it will probably work. Thanks for testing the ppa package.

Revision history for this message
StefanPotyra (sistpoty) wrote :

Erik, thanks for the patch.
After taking a glimpse, would the change in src/rmd_initialize_data.c suffice (I've looking at the debdiff and the version in lucid only though)?
Also, the distribution target should be karmic-proposed (SRU's get first uploaded to karmic-proposed until these are tested and have spent some time there, and then get copied to karmic-updates). If the first point is true, can you update this as well please? (otherwise I'd just update it whilst sponsoring).

Cheers,
   Stefan.

Revision history for this message
Erik B. Andersen (azendale) wrote :

@ StefanPotyra
First, I set the package to something like karmic-updates, but launchpad wouldn't build it, so I changed it. Should I change it to karmic-proposed and make a new debdiff?
I'm not sure what change you are referring to. (I'd be nice if you could clarify) If you mean the change in lucid that someone else made, it looks like it edits the same things as the patch I applied to the karmic version. If you mean would it fix this to only change rmd_initialize_data.c in the karmic version, I think it would, I think it would make it so that the user wouldn't be able to specify the default via the cli.

Revision history for this message
Emmet Hikory (persia) wrote :

I've unsubscribed the sponsors whist this review discussion continues. It it lapses without response, or if a new candidate is prepared, please feel free to resubscribe the sponsors queue.

Revision history for this message
StefanPotyra (sistpoty) wrote :

Erik, I was referring to change only rmd_initialize_data.c, as I didn't look close enough and didn't see the rmd_parseargs was also changed in the lucid version, sorry.
Your debdiff is fine as is, I'm subscribing ubuntu-sru due to the StableReleaseUpdates procedure, and will upload it once they give green lights.

As for distribution target karmic-proposed: No need to create a new debdiff, I can just update this before uploading.

Thanks for the patch!

Revision history for this message
John Dong (jdong) wrote :

ACK from ubuntu-sru, patch looks good. Thanks to all involved!

Revision history for this message
StefanPotyra (sistpoty) wrote :

uploaded, thanks!

Revision history for this message
Martin Pitt (pitti) wrote :

Please fix this in lucid ASAP. The package won't go to -updates with it still being unfixed in lucid. Thanks!

affects: gtk-recordmydesktop (Ubuntu) → recordmydesktop (Ubuntu)
Changed in recordmydesktop (Ubuntu Karmic):
status: New → Fix Committed
tags: added: verification-needed
Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Accepted recordmydesktop into karmic-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Revision history for this message
Erik B. Andersen (azendale) wrote :

@Martin Pitt:
It looks like this problem was solved in Lucid by a similar (but not the same) patch that was added in Debian in response to bug file against Debian. See the page at https://launchpad.net/ubuntu/+source/recordmydesktop/0.3.8.1+svn602-1ubuntu1 ,
in which the changelog mentions
"* debian/patches/02_fix_new_theora.dpatch (Closes: #548631, #559648)"
So, basically, the debdiff I made fixes it in Karmic, and it's already been fixed (by someone from debian) in Lucid.

Revision history for this message
Erik B. Andersen (azendale) wrote :

I'm going to set this to fix released for Lucid, because it should be already patched and the new version available in Lucid.

Changed in recordmydesktop (Ubuntu Lucid):
status: In Progress → Fix Released
Revision history for this message
Erik B. Andersen (azendale) wrote :

I just tested the lucid version and it works fine.

Changed in recordmydesktop:
status: New → Confirmed
Revision history for this message
In , Fedora (fedora-redhat-bugs) wrote :

recordmydesktop-0.3.8.1-4.fc12 has been pushed to the Fedora 12 stable repository. If problems still persist, please make note of it in this bug report.

Revision history for this message
Erik B. Andersen (azendale) wrote :

I've used the proposed karmic version. It seems to work fine for me. Has anyone else tried the proposed version?

Martin Pitt (pitti)
tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package recordmydesktop - 0.3.8.1-0ubuntu2

---------------
recordmydesktop (0.3.8.1-0ubuntu2) karmic-proposed; urgency=low

  * Change video defaults for acceptable framerate (LP: #463019)
    - patched src/rmd_initialize_data.c with https://bugzilla.redhat.com/attachment.cgi?id=373762
    - patched src/rmd_parseargs.c with https://bugzilla.redhat.com/attachment.cgi?id=373762
 -- <email address hidden> (Erik B. Andersen) Wed, 17 Feb 2010 11:11:52 -0800

Changed in recordmydesktop (Ubuntu Karmic):
status: Fix Committed → Fix Released
Revision history for this message
Vadim Peretokin (vperetokin) wrote :

Note that after the upgrade, gtk-recordmydesktop fails to start encoding and hangs at 0%. Worked perfectly before the upgrade.

Temporary workaround is to tinker a lot with the command-line variant.

Revision history for this message
Vadim Peretokin (vperetokin) wrote :

I'm using libtheora 1.0 by the way, the latest available in karmic-update.

Revision history for this message
Erik B. Andersen (azendale) wrote :

Vadim:
What packaging version of libtheora are you using? You could find out with
apt-cache policy libtheora0
Then I'll see if I can get the same problem.

Changed in recordmydesktop (Fedora):
importance: Unknown → Medium
status: Unknown → Fix Released
Changed in recordmydesktop:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.