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

Note

Because I wrote a super long description for this video, I had to split this part out and put it on my blog, or YouTube would tell me my description is too long, which I totally agreed.


1   Making the video

Normally, this is the last one, but for the video, I bumped it up to first.

  1. My record scripts

    • setup-record.sh

      Setting up terminal window for 1280x720 recording region, and adjust my primarily tmux window, so they won’t overlay one on another, but this one for Raincat doesn’t need a terminal window.

    • record.sh

      It records the video. I will choose the FPS, sometimes I need to change the size.

    • re-encode.sh and merge.sh

      record.sh records raw images if not with audio, so the raw video needs to be re-encoded before uploading to YouTube. If I record multiple parts, I need to merge them into one.

    • grabbing a screenshot for video thumbnail, typically the title screen if any.

  2. Writing the description

    • titling the video
    • collecting information about the project, the version, programming language and major dependencies, author, license, etc
    • checking out links, RTFM again, etc.
    • putting all stuff together and write
  3. Making a thumbnail

    If the screenshot already has the title in it, then just use it; if not, put a text overlay on it.

  4. Uploading the video

    • tagging the video
    • adding to appropriate playlists
    • turning on monetization, set up record date
    • re-reading my description
    • double checking everything
    • pushing the publish button
    • checking YouTube video manager, just to be sure

2   Choosing one to make

There are good and suitable projects, but sometimes I don’t have one in my queue list. It normally would be one I like and it has good and necessary stuff to show on video.

3   Searching for new projects

I mostly search in GitHub:

  1. gh-trend.py: it searches GitHub trending projects within the programming languages that I am interested in.
  2. search results with my user script and user style for GitHub. I search for specific keywords every day, with help from my user script and style, I can quickly go through without clicking on things I won’t be interested or already checked.

I also search with Google Image.

https://i.ytimg.com/vi/jorqvmbgFaA/maxresdefault.jpg

A quick update on x11grabr. Now the mouse click has been rendered in different shape and colors. Everything is still fixed in code.

Another not quite related thing about x11grabr is I am currently using it to stream and it works normally. However, I know it would have problem if audio stream is included. I am 99.999% sure it will be out of sync. Right now, I don’t have audio streamed.

I still don’t know how I should deal with this. I might ask on mailing list later. One resolution is to grab audio in x11grabr, but I will need to learn container and also how to combine video and audio.

https://i.ytimg.com/vi/_X0pi8ObpMg/maxresdefault.jpg

This is just a quick announcement about what I am currently doing. I started a new project last week, x11grabr, X11 video GRABbeR. It’s 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 won’t be fixed anytime soon.

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

It’s not ready for production use yet.

https://i.ytimg.com/vi/zOYb6iyXqs8/maxresdefault.jpg

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.