# 1. Screencasting & Videos for Education/Research

In this post, I will write about how I am doing screencasting and why I am doing it. You can download this example or get it from youtube. Also, check out the thoughts I have related to using videos in education and research.

### Introduction

As I listed in the ‘Popularizing’ section in my webpage, there are quite a few people working professionally on popularizing science. Those are good examples of using video format instead of written format to communicate scientific ideas. During the history of human kind, the way knowledge transmitted was the oral way and not the written way. It has been a few thousand years that we have notations to write with, and communicate the knowledge. Finally, we have the equipment to talk again, instead of writing. And this time to all the people on earth. This post talks about one of the most simple and cheapest ways to make videos. It is called screencasting, which means recording your screen, possibly with your voice over it.

### How to do screencasting?

You can do screencasting with your own flavor of software and hardware, just do a little bit of research to find your choice. For example, if you use Gnome 3, I think you only need to press a key combination like Ctrl+Alt+Shift+R to start recording. See the help and a result. If you wanna see other programs, a good place to start is this list on Wiki; Sort by “Software license” and check out the blue ones.

I use FFmpeg, compiled with x11grab, to do the recording and also encoding to .webm format. This example line of code here is for recording raw,

\$ ffmpeg -f alsa -ac 2 -i plughw:GoMic -video_size 1920x1080 -framerate 30 -f x11grab -i :0.0 -acodec pcm_s16le -vcodec libx264 -preset ultrafast -crf 0 -threads 0 output.mkv

I put all these commands with some explanation here. I learned almost all I know from this link. You can change the bit-rates, resolution, codecs, sound input settings, and so on. The reason I am using webm is that its copyright license and its separate patent license both are GPL-compatible.
The program that I am using for writing is Xournal which I am content with. In Xournal to have all the fonts printed in the final pdf, you can print to postscript and use ps2pdf, or print to pdf if you can. “Export to PDF” option doesn’t work for me for some of the fonts.
There are few other programs for taking notes. I tried hoodle (early development, buggy and slow, though it’s programmed in Haskell which I like to learn someday), and jarnal (which doesn’t have pressure sensitivity support). If you like working with bitmap you can use bitmap graphic software, such as GIMP or MyPaint.
The graphics tablet I am working with, a Wacom cth480, was crashing the xorg whenever I was connecting it after xserver started. I fixed the issue after I read this post, although I end up not using the patches. Seems like the patches are already applied. So the only thing you need to do is the step I and II in the post, which is basically making wacom.ko using input-wacom and installing xf86-input-wacom. You do not have to have a tablet to make videos. You can easily use ready slides and only talk over them and screencast.
Last but not least, a good microphone is necessary. Using your laptop’s mic usually gives you a really bad result. I am using a Samson Go Mic. You can use shock mounts or post processing to clear the audio from sudden shock noises. Also a pop filter is really helpful if you wanna talk too close to the mic.

### Why screencasting?

First, to record videos for my students and do it properly at least once and have it for later. Of course, this benefits my students and others who wanna see some problem solving videos. At the moment, the biggest issue I have with the video making is that instead of shouting in teacher voice I have to get close to the microphone and do not speak loud so not to bother my roommates. I still think recording the classroom, if it’s done well, is the best bet. But of course, it comes with costs.
Second, I am planning to use this screencasting to send my talks to my colleagues when we cannot get together.