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.
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].
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.
Well technically you could inline the Javascript+CSS stuff and you would get a single HTML file ;) No need to write anything, it already exists.
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.
Don't worry about me. I won't be discouraged about anything :)
I want to be able to produce GIFs since that's relatively easy enough, but it got me thinking that there just needs to be support for embedding an iframe in (Github's) markdown. Just strip scripts out of it and let authors worry about making it look right in the markdown in terms of size and using CSS for animations. GIFs are just huge and look bad when making their size reasonable.
In regard to key overlays, I feel the same way. I'm having that issue right now with my other project[1]. There was a little bit of effort put into making the animations with key overlays, and I really don't want to update them so that the images are correct with the current fixes.
In the scope of tmux, is it even possible to capture what keys were pressed? I'd be interested in adding such a feature to tmux2html since having an overlay with CSS and HTML would be trivial.
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.