asciinema[1] does a similar thing but captures a whole terminal session. If somebody would add key input overlay support[2], it would actually be tremendously useful for demonstration purposes of interactive, mainly keyboard driven, terminal applications.
[1] https://asciinema.org/ [2] https://github.com/asciinema/asciinema/issues/105
asciinema is a very useful. But, what I found unappealing about it was that I needed asciinema to play the recordings (is that still the case?). I wanted to be able to put the rendered session anywhere I wanted.
The example links are actually hosted on my server and were uploaded using Dropshare. Pretty easy peasy if I need to share something that I don't want public.
asciinema stores the raw program output including any terminal escape sequences in a JSON format[1] and then uses a javascript terminal emulation library to replay/recreate the terminal state in your browser. The player, made up of one Javascript and one CSS file, can be self hosted[2].
[1] https://github.com/asciinema/asciinema/blob/master/doc/ascii...
This doesn't meet my criteria for easy peasy :(
If there was a utility that converted that json file to a single HTML file, that'd be a different story. If you feel up to doing that, tmux2html uses an MIT license, so feel free to use the parts that parses the escape sequences.
Anyway I didn't mean to discourage you from working on your project.
I just would like to use a decent terminal recording solution to showcase some of my own projects (e.g. abduco+dvtm, vis[1]). Ideally it would support:
* copy pasting from the screen cast
* pausing / adjusting playback speed
* simple self hosting mechanism
* conversion to gif as preview for inclusion in Markdown files or for environments where Javascript is disabled
* overlay to show pressed keys
AFAIK all but the last point is possible with asciinema. In the past I've used mkcast[2] which uses a fork of screenkey and is a pain to use. Apparently its developer now recommends xscast.
Anyway it is a mess to use and as a result the featured screen casts for my projects are rarely updated and by now completely out of date.