Monday, October 13, 2008

screencasting - slackware

Lee Lefever videos, even though not screencasts, show a simple idea's value. His guiding philosophical consideration seems to be described well here in his blog. Screencasting is important for educational videos and works toward similar ends. For example, screencasts from Joe Wood, a fellow teacher, have a similar flavor to Lee Lefever's videos, and Wood does well with clarification.

What about screencasts in Linux? My previous work on a video I made for an education class left me feeling there should be more. It was initially raw AVI from the camera, but I muxed it to MPEG2. There appeared to be resolution issues - the picture wasn't as "clean" as I wanted it to be. This time, I'm starting with screencasts. I'll eventually work back to recording and cutting video when I can easily manage screencasts.

istanbul


First attempt was with Istanbul, which was pre-installed with Zenwalk 5.1. Something was wrong with the framerates, and all I was seeing was flashing screens, which appeared to indicate a large number of frame drops. Then I looked at this guy's post and it appears that there might also be screen size as well as framerate issues. Istanbul has no sound supplied, it must subsequently be muxed. What could possibly be more annoying?

recordmydesktop


Includes sound and screen, and outputs in Ogg-Theora as .ogv files. Seems the most useful, but the ability to record sound varies with systems. When it works, it works well. The .ogv file can be shifted to .flv format for YouTube uploads or website. I used a script for doing so from here  though I'm sure it's also around at other sites. I had to modify the script slightly for CLI use, and libmp3lame.so.0 must be installed for the mencoder inside it to follow the script properly. I renamed the script ogv2flv.sh and it runs on command line once libmp3lame.so.0 is installed:
$ ogv2flv.sh input.ogv
There is no config file for the CLI version of recordmydesktop, which means hideously long command line entries. Further, typing $ man recordmydesktop only produced "No manual entry for recordmydesktop". Nice going. It appears the best thing is the sourceforge version, until that URL breaks. Strike two. However, a nicely sized screen which works well from command line for capturing browser without the status bar, but including the URL bar is
$ recordmydesktop -x 14 -y 55 -width 988 -height 674 -fps 12 -o wobbly.ogv
This seems to default constantly to 44100 and 2 channels in spite of my entering 1 channel and 22050 frequency and the device hw:0,0, so I eventually deleted these parameters from the line.

Recordmydesktop also has a python based GtK front-end available to those who are interested. This program does have a config file .gtk-recordmydesktop, which appears to be an advantage over remembering the complex CLI commands necessary to avoid the inevitable "broken pipe" commands if you forget one parameter. Each time I edited the config file by hand, the program overwrote my screen size settings each time it opened. Strike three.

xvidcap


Solid, but a few quirks. 1) .xvidcap.scf is supposed to be available for a config file, it apparently doesn't work well or is not read. Accordingly, right clicking on the gui controls provides preferences. Not too bad and they can be saved there too. 2) Have to adjust the box size each time. 3) On at least one occasion, it might have muted my microphone during start-up. 3). Sound is garbled unless using oss emulation aoss. So, I might start xvidcap to do 10 frames per second like this:
$ aoss xvidcap --fps 10
Once screencasting is complete, ffmpeg can shift the mpeg into a YouTube flv in a single command
$ ffmpeg -i test2.mpeg -ar 44100 test2.flv

sound levels


Microphone settings become significant in screencasting. Here are a couple of cards.

Realtek ALC660-D
I set "Mic" as the capture source, and vary the relationship between Mic Boost, Digital, and the Capture bar. The settings which avoid clipping and feedback have been Mic Boost=33, Digital~65-70, and Capture~77-82. Digital seems to be the most important for hiss and I play trade-off between Digital and Capture until the hiss disappears while attempting to avoid clipping distortion if Capture is set too high.

0 comments: