From owner-freebsd-questions@FreeBSD.ORG Thu Nov 22 08:45:02 2007 Return-Path: Delivered-To: questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id AFA9216A46B for ; Thu, 22 Nov 2007 08:45:02 +0000 (UTC) (envelope-from sat@cenkes.org) Received: from heka.cenkes.org (heka.cenkes.org [208.79.80.110]) by mx1.freebsd.org (Postfix) with ESMTP id 911CA13C4EF for ; Thu, 22 Nov 2007 08:45:02 +0000 (UTC) (envelope-from sat@cenkes.org) Received: from amilo.cenkes.org (ppp85-141-134-164.pppoe.mtu-net.ru [85.141.134.164]) (Authenticated sender: sat) by heka.cenkes.org (Postfix) with ESMTP id E0D8B242F837; Thu, 22 Nov 2007 11:44:51 +0300 (MSK) Date: Thu, 22 Nov 2007 11:44:49 +0300 From: Andrew Pantyukhin To: Kevin Downey Message-ID: <20071122084448.GB66812@amilo.cenkes.org> References: <20071121182639.GA66812@amilo.cenkes.org> <1d3ed48c0711211529t2244d2b5y8e256907426cff50@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1d3ed48c0711211529t2244d2b5y8e256907426cff50@mail.gmail.com> X-OS: FreeBSD 8.0-CURRENT amd64 User-Agent: Mutt/1.5.16 (2007-06-09) Cc: questions@freebsd.org Subject: Re: efficient terminal/console screencasting X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: infofarmer@FreeBSD.org List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Nov 2007 08:45:02 -0000 On Wed, Nov 21, 2007 at 03:29:55PM -0800, Kevin Downey wrote: > On 11/21/07, Andrew Pantyukhin 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: > subtitles! > > 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.