I have wanted x11grab to be able to do things like recordMyDesktop and it does even better, because the mouse following in recordMyDesktop somewhat annoying when you watch the video you just make. The grabbing region moves as your mouse moves, which can give viewers headaches.
I did try to submit a patch to FFmpeg about a week ago when I first finished with little success, but I didn’t get any response. So I decided to just fork it and do whatever I like. I can maintain my own copy since x11grab.c is pretty independent from other parts of FFmpeg.
It’s so strange, when I searched for this mouse feature but I never read someone talked about. It looks as if everyone accepts that FFmpeg’s x11grab should have nothing to do with your mouse. I just don’t get it, why didn’t anyone wants that?
The funny unrelated thing I found during searching is some people even try to use xwininfo to get the window region, so they can supply to FFmpeg to grab that region. That’s so bad because most likely the video size isn’t going to be a standard video size. It 99.999% would be something like 987x836, even you does a conversion to standard video size, it’s still bad because you does another encoding and resize/rescale with ratio remained your video.
Screencast is better not to be resized, in my opinion, pixel-to-pixel is the best.
It’s sad that recordMyDesktop (rMD) seems like a dead project, no more commits. I see some people submitted patches and they would not be applied in anyway. I had thought about to send a email to the admin, but didn’t do it.
With my own patch to x11grab, FFmpeg does better. I can output any kind of format I want. With rMD, you have only one format, which sometimes I have problem with.
Aside from this, I want to mention about forking on GitHub. I begin to like it, I forked a few projects and did my own changes to those projects. I didn’t try to send a pull requests because I don’t care and I don’t want to wait for a reaction. I just maintain my own fork.
On GitHub, the Network tab is very useful, I can see what commits I don’t have. I wish other hosting services [whispering Google] can have same Network tab. I don’t particularly like Git, but I learned a few things since I started to fork and there is a plenty a lot about Git to learn. I never learned how to use CVS, but SVN is so easy to learn; same goes to Git vs. Hg, Git so complicated, so many commands and options, but now it’s changed.
Thanks for the patch.
ReplyDeleteI was cropping my videos in blender after doing the screencast, this is so much better. It's working really well.
Hope this feature is merged into the ffmpeg trunk branch, this deserves it.
I was thinking, drawing a semi-transparent circle on a click of the mouse, would give this all the features a screencast recorder needs :-)
ReplyDeleteWould be reading your code to see if I can do it, could it be a nice weekend project :-)
It's already in .
ReplyDeleteGreat! I am using the sources for ubuntu 8.04, I am quite outdated :-)
ReplyDeleteThat's good idea, but may I introduce you key-mon,
ReplyDeleteit has similar feature.
I think this is still worth to be added into x11grab. I might try to add this. (Just "might" ;)
I should be more clear, it's in git tree, but not yet released as a new version.
ReplyDeleteThanks for introducing me key-mon looks nice, but yea, having builtin on ffmpeg. I hope you find this enjoyable to work on. :-)
ReplyDeleteyep, I understand now. I am using the SVN outdated repo, cause it's working well with 8.04
ReplyDeleteHey dude i have downloaded the ffmpeg from the git source - but you mentioned you forked this part off - how can I get your forked version and install it, so I can use this very useful feature?
ReplyDeleteI am not sure what you meant by "downloaded."
ReplyDeleteIf you download tarball you must make sure it's not the tag (they are for releases, the patched x11grab has been in release yet) but the latest tree.
If you clone the git repo, it is there, but you need to turn it ow at configuring.
For example:
./configure --enable-gpl --enable-x11grabYour distro package has taken care of that part for you, but if you want to compile from source, you need to turn it on on your own.Moreover, some video/audio formats are not enabled by default. Run ./configure --help for more detail.
Hi sorry to pick up an old thread, I am really interested in using this. Problem is my Linux commands are weak. How do I install your zip file from the GIT hub. I extracted the files then tried to look at the "make" command and used make -f Makefile from the extracted folder but complain about a missing file cairo
ReplyDelete"Package cairo was not found in the pkg-config search path.
Perhaps you should add the directory containing `cairo.pc'
to the PKG_CONFIG_PATH environment variable
No package 'cairo' found
cc -g -c -o x11grabr.o x11grabr.c
In file included from x11grabr.h:6:0,
from x11grabr.c:35:"
options.h:8:32: fatal error: libavutil/rational.h: No such file or directory
compilation terminated.
make: *** [x11grabr.o] Error 1
You commented on wrong blog post. The content/features in this page should have got into official ffmpeg for more than a year. Check ffmpeg(1).
ReplyDeleteFor x11grabr, you need the development package of cairo in your Linux distribution for compiling x11grabr. Just a note, I have long given up developing it.