As of 2016-02-26, there will be no more posts for this blog. s/blog/pba/
Showing posts with label x11grab. Show all posts

Last year, my patch got into FFmpeg repository, just now, after FFmpeg 0.12.2 marked as stable after 0.7.8, I saw my contribution (from FFmpeg manpage):

Unfortunately, I didn't carry on after I created x11grabr. The issue I has still remained and I didn't try to resolve it very hard. Since then nothing was done, it was sort of ceased of development. When I started x11grabr, I wished I could make it like XSplit on Linux. Despite issues, my computer couldn't handle much encoding let along I don't really have anything interesting for live broadcasting.

If you are interested, please send me an email, maybe we can team up.

This is just a quick announcement about what I am currently doing. I started a new project last week, x11grabr, X11 video GRABbeR. Its a fork of x11grab of libav/ffmpeg.

It can do what x11grab does and a little more as you can see in the screencast about. It has issues, but they wont be fixed anytime soon.

I list some tasks, go check up and give me some feedback and thoughts.

Its not ready for production use yet.

But it's not originally made from FFmpeg but libav. One day later after pushed to libav, my two patches got merged into FFmpeg.

Never heard of libav? Neither did I before until I read this thread FFmpeg-devel, then I decided to submit on libav-devel.

I got immediate response and many pointers about my code. I did wrote silly code, you can read my threads followmouse-1, followmouse-2, and showregion.

Basically, you can use
-f x11grab [-follow_mouse centered|PIXELS] [-show_region 1] ...
to enable these two options. You can see a video about them, but I changed they style, it's now dashed line box, not the solid lines as you see in that video.

Go grab FFmpeg or libav, if you can't wait.

(I did get a reply on FFmpeg-devel after the merge)

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 didnt 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.

Its so strange, when I searched for this mouse feature but I never read someone talked about. It looks as if everyone accepts that FFmpegs x11grab should have nothing to do with your mouse. I just dont get it, why didnt 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. Thats so bad because most likely the video size isnt going to be a standard video size. It 99.999% would be something like 987x836, even you does a conversion to standard video size, its 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.

Its 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 didnt 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 didnt try to send a pull requests because I dont care and I dont 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 dont have. I wish other hosting services [whispering Google] can have same Network tab. I dont 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 its changed.