Show HN: ttystudio – a terminal-to-gif recorder without the headaches
github.com
github.com
The colors aren't perfect, but the file sizes are always surprisingly small. The one linked is 10 seconds long and about 500kB.
It's kind of janky, but here's the script I've been using for the past year or so without fault for recording: https://github.com/zachlatta/dotfiles/blob/master/local/bin/....
But I upvoted you anyway, because byzanz IMHO is the easiest/fastest screen recorder to use for this kind of task (far better than the more popular recordmydesktop).
I successfully use byzanz with screenkey (from AUR) to record terminal sessions very effectively.
The former not only requires Xorg running, but also gnome. The latter runs on any WM, or even via SSH. Quite different goals.
I don't think Byzanz requires GNOME though. I've been happily using it with i3.
Maybe this is more of a browser-issue and if we're going to embrace abusing GIFs as video containers perhaps browser vendors should give the user video player-style controls?
Typing one command to record and output a gif/apng works better for me. If you can get over the node.js part, I'd wager it's likely to be less of a headache.
This seems like it'll run on any environment that supports node.
* Use variable length frames * Only update areas that change between frames
For apng: * Use a palette, it can even handle 4 bits per channel palettes which could be enough for terminals.
Maybe these are all not necessary, a naive "gifsicle --optimize" reduced example.gif's size to ~150 KiB. It didn't remove frames though.
The APNGs already use a palette (3). RGBA (6) is opt-in only. Although, it should probably just be RGB if people want to use it since the alpha is useless for terminal recordings anyway.
The only reason the --rgba option exists is because I ended up OOMing the process once or twice when compiling palettes for huge animations (1000s of frames) - this is before palette generation was optimized more.
For example telnet://termcast.develz.org/ for the Dungeon Crawl Stone Soup community or telnet://termcast.org/ for general content.
From time to time people do live-coding on this, too.
Terminus works fine with tmux, vim, ncmpcpp, mutt, irssi, cmatrix, hundreds of pieces of ansi art, and everything I've tried it with.
As far as powerline goes: I think powerline changes some unicode glyphs for its own purposes, so you would need to grab the powerline .bdf if there is one and compile it to ttystudio's bdf .json format.
Font formats other than .bdf may be supported in the future. This was a weekend project for me and .bdf happened to be the most convenient (and I use terminus in my own terminal so I'm biased).
> nodejs