Re: efficient terminal/console screencasting

2007-11-22 Thread Girish Venkatachalam
On 21:26:41 Nov 21, 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.

screen(1) is really cool. :)

 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.

How about ttyrec(1) and ttyplay(1) ?

 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)

If you want pixel based output then there are quite a few options but
none to my taste. As you mention they all are bloated.

 - record timings correctly
 - allow for a method to record speech in the background

This you have to do manually with sox(1). Not a big deal. A simple shell
script can do what you want.

 - allow for a method to play it all back in sync

This is no big deal either. If you want to create a video, then you have
to go in for pixel based stuff. You can however do efficient compression
and use a good codec like x264 or something.

 Has anyone heard about any tool which would help me achieve at
 least some of my requirements?

Your idea seems good enough to create an open source tool that does
exactly what you want.

Best,
Girish
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: efficient terminal/console screencasting

2007-11-22 Thread Andrew Pantyukhin
On Wed, Nov 21, 2007 at 03:29:55PM -0800, Kevin Downey wrote:
 On 11/21/07, Andrew Pantyukhin [EMAIL PROTECTED] 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.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: efficient terminal/console screencasting

2007-11-22 Thread Kevin Downey
On 11/21/07, Andrew Pantyukhin [EMAIL PROTECTED] 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.

I leave the actual implementation as an exercise for the reader.


-- 
The Mafia way is that we pursue larger goals under the guise of
personal relationships.
Fisheye
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: efficient terminal/console screencasting

2007-11-22 Thread Girish Venkatachalam
On 11:44:49 Nov 22, Andrew Pantyukhin wrote:
 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.
 

Subtitles can be hard coded into the video with mencoder. The command
line is straight forward.

$ mencoder video.avi -sub subtitles.srt -o videosubtitles.avi -ovc lavc
-oac copy

 Moreover, even in case of bitmaps, subtitles are still utterly
 unstandardized. Their look is very player-dependent.
 

Not a problem if you hard code them.

 But the idea is cool, thanks! I might perform a few benchmarks
 with mplayer when I have time.

But your basic problem remains unsolved. mencoder can build a video from
frames and you can mux the audio with mplex or some such thing.

All this means a bit of effort.

regards,
Girish
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: efficient terminal/console screencasting

2007-11-22 Thread Andrew Pantyukhin
On Thu, Nov 22, 2007 at 10:00:48AM +0530, Girish Venkatachalam wrote:
 On 21:26:41 Nov 21, 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.
 
 screen(1) is really cool. :)
 
  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.
 
 How about ttyrec(1) and ttyplay(1) ?

Oh, yes. I've tried ttyrec a few years ago but have completely
forgotten about it since. Thanks, it helps a lot!

  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)
 
 If you want pixel based output then there are quite a few options but
 none to my taste. As you mention they all are bloated.
 
  - record timings correctly
  - allow for a method to record speech in the background
 
 This you have to do manually with sox(1). Not a big deal. A simple shell
 script can do what you want.
 
  - allow for a method to play it all back in sync
 
 This is no big deal either. If you want to create a video, then you have
 to go in for pixel based stuff. You can however do efficient compression
 and use a good codec like x264 or something.
 
  Has anyone heard about any tool which would help me achieve at
  least some of my requirements?
 
 Your idea seems good enough to create an open source tool that does
 exactly what you want.

I'm still hoping to get by with some hacks, but you might be
right. It's a pity and almost a surprise there's no widely
available text-based video codec. Maybe I just need to try my
luck on mplayer-related mailing lists.

P.S. Please don't post to questions@ and freebsd-questions@ at
the same time. It's the same list and you're just sending double
mails.
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: efficient terminal/console screencasting

2007-11-22 Thread Andrew Pantyukhin
On Fri, Nov 23, 2007 at 02:09:10AM +0300, Andrew Pantyukhin wrote:
 I'm still hoping to get by with some hacks, but you might be
 right. It's a pity and almost a surprise there's no widely
 available text-based video codec. Maybe I just need to try my
 luck on mplayer-related mailing lists.

I see there are at least Ogg Writ [1] which is in early
development stages and Camtasia TechSmith Screen Capture Codec
[2] which is a closed-source Windows-only thing. I hope there are
more I don't know about yet.

[1] http://wiki.xiph.org/OggWrit
[2] http://www.techsmith.com/codecs/tscc/default.asp
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: efficient terminal/console screencasting

2007-11-22 Thread Girish Venkatachalam
On 02:09:11 Nov 23, Andrew Pantyukhin wrote:
 
 I'm still hoping to get by with some hacks, but you might be
 right. It's a pity and almost a surprise there's no widely
 available text-based video codec. Maybe I just need to try my
 luck on mplayer-related mailing lists.

Best of luck!

 P.S. Please don't post to questions@ and freebsd-questions@ at
 the same time. It's the same list and you're just sending double
 mails.

Many thanks for pointing out.

Fixed the bug in my homebrew mailing system. mutt had two entries in
the subscribe line.

regards,
Girish
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]