efficient terminal/console screencasting
infofarmer at freebsd.org
Thu Nov 22 00:45:02 PST 2007
On Wed, Nov 21, 2007 at 03:29:55PM -0800, Kevin Downey wrote:
> On 11/21/07, Andrew Pantyukhin <infofarmer at freebsd.org> wrote:
> > A while ago I needed to screencast a terminal to a class of
> > students in real-time. It turned out to be quite straightforward
> > with screen(1) in multiuser mode.
> > Now I want to record screencasts and allow people to watch them
> > later. I'm looking at recordmydesktop, but the innefficiency
> > strikes me: I'm operating in text-only environment, there's no
> > need to record every frame as a flat bitmap. Whatever codec I
> > choose, the files will be huge and of low quality.
> > What I need is something like script(1) on steroids:
> > - accurately record the complete state of my terminal window at
> > any given moment
> > - store it as a succession of updates, each represented in a
> > text-based format (as opposed to pixel-based)
> > - record timings correctly
> > - allow for a method to record speech in the background
> > - allow for a method to play it all back in sync
> > Has anyone heard about any tool which would help me achieve at
> > least some of my requirements?
> Oh man, do I have an idea for you:
> use mjpeg for video with just a black frame
> use whatever audio you want
> a modern container format and a modern subtitle method will let you
> put whatever characters you want where ever you want on the video.
> Boom a video that plays and the "textual" information is kept intact
> and can even be demuxed from the multimedia stuff.
There are basically two ways the subtitles are encoded: bitmap
and text. Both will require a full screen dump on every update.
Neither allow for colors (there are html hacks though). AFAIK,
there's no way to store activity in form of updates in subtitles.
Moreover, even in case of bitmaps, subtitles are still utterly
unstandardized. Their look is very player-dependent.
But the idea is cool, thanks! I might perform a few benchmarks
with mplayer when I have time.
More information about the freebsd-questions