stevengoodwin a day ago

This is a really nice, and very compact, way of demonstrating the terminal in action.

I used it to show off my 2002 version of ASCII pacman game, since no one's going to bother compiling it, and it'll eventually end up with bitrot.

You can see me playing it (really badly!) at https://asciinema.org/a/723703

  • pi_22by7 a day ago

    Nice work on the game! The recording shows it off well. Good thinking using asciinema for this kind of thing.

    I'd probably be the idiot who types pacman and wonders why it's trying to update my system instead of starting the game.

  • justusthane 18 hours ago

    Love it! The Pacman character animation is great.

  • wkjagt 15 hours ago

    Very cool! I'd love to see the code, if it's shareable.

kragen a day ago

I've found asciinema pretty cool and recorded a few recordings of things I've done, like some experimental Emacs commands, a computer algebra system, a Unicode Tetris game in ARM assembly, and a minimal roguelike: https://asciinema.org/~kragen. These are not the most spectacular recordings on the site, but I have found them a useful way to communicate ideas.

I wish there was some kind of voiceover support.

One thing to be aware of before you try it is that, if you make a recording without providing a filename for it, it uploads it by default to the web site, even if you haven't created an account yet, though it doesn't make it public. So maybe don't record anything you have a responsibility of confidentiality for, or patch out that feature.

  • homebrewer a day ago

    Since 3.0 (Rust rewrite that is already shipped by Arch et al), the filename argument is required, and it simply saves it locally by default without even asking to upload.

    upload is a separate command.

  • seansh a day ago

    If you want voiceover and more you might wanna check out CodeMic.io.

    • kragen 10 hours ago

      That's not just proprietary, it's surveillance capitalism. "Subscribe for early access and monthly progress updates." You should be embarrassed for posting that kind of filth on a thread about asciinema, which is a free-software program that works offline and has strict privacy protections.

      Also, codemic.io seems to be oriented toward full-motion video, so aside from the authoritarianism issues, it's not even related.

  • nostoneunturned a day ago

    That is so shady.

    • junon a day ago

      I can see why you think that but Asciinema's whole original purpose was to share quick recordings. IIRC you actually had to go out of your way to just save locally, as it's main advertised and very obvious functionality was that it was uploaded. They've since made things a little more flexible, but I don't perceive it as being shady. If you used it you were most likely after that functionality.

    • kragen a day ago

      It's kind of justifiable in the sense that it's more convenient in the usual case. You say `asciinema rec`, do your thing, and then you have a secure URL to share with somebody, and you can make it public with a couple more clicks.

      Actually I think this has changed, because when I tried this just now, it asked me

         (s)ave locally, (u)pload to asciinema.org, (d)iscard
         [s,u,d]? u
      
      which is a little more friction but probably a safer default.
    • Aurornis 16 hours ago

      It was developed as a tool for the website, not a general purpose screen recording tool.

      The latest version has evolved to be more general purpose without assuming the upload.

minishlink 21 hours ago

I'm using asciinema on the homepage of https://appzung.com What's also cool about it is that you can easily redact information that you would not want to expose, by simply editing the source text .cast file.

dmayle 17 hours ago

I want to take just a second, not to talk about asciinema itself, but to use asciinema to talk about a project I just discovered recently called carbonyl.

It's a command line web-browser that uses a headless GUI browser (in this case chromium) in order to surf the web and render it to the terminal. brow.sh preceded it (powered by Firefox), but in my testing, carbonyl has much better web support.

In any case, here's a very brief demo: https://asciinema.org/a/HLHWeKE2s5bdyhUGQPBum49kx

It's so short because the bandwidth is high to use it, and asciinema.org rejects casts that are greater than 10MB

  • magicalhippo an hour ago

    I looked at Carbony not long ago, but as far as I can see it's not been updated for a couple of years?

  • electroglyph 12 hours ago

    I have a really simple asciinema implementation at terminoid.com, it may work there. I haven't gotten around to finishing my work on it...

Roark66 21 hours ago

I like the idea. I haven't used the tool, but what I'd love to (maybe it already does this) is to be able to take a recording and turn it into a text document showing what to run, what output to expect and so on.

Something that lets one turn a terminal recording into a document showing how to redo that thing without having to watch a video and no need to copy/paste between terminal and text editor, take screenshots and such.

Maybe this could be achieved by recording in a human readable file format and then running it via an LLM with right prompt.

Then I'd like it to record all the time.

I always have a bunch of tmux sessions running. I've set it up to save the history of all sessions, but obviously the history is one file. Something like this could resolve it nicely.

  • ku1ik 18 hours ago

    You can get a plain text log of a recorded session in several ways.

    If you uploaded to asciinema server (e.g. asciinema.org) then you can click on Download and select txt format.

    Or, with the CLI 3.0, you can either:

    - convert existing cast file to plain text: asciinema convert demo.cast demo.txt

    - record directly to plain text: asciinema rec demo.txt

    • alienbaby 16 hours ago

      ok, but can you take a recording and turn it into a text document showing what to run, what output to expect and so on.

      IE: I think the person your replying to would like to have a tool that rebuilds a terminal session as a, for example, step by step guide. Not just grab it as a text file.

theraven a day ago

I’ve moved over to using vhs https://github.com/charmbracelet/vhs

  • eddieh a day ago

    Looks cool, but produce GIFs? Asciinema is text based IIRC.

    The name is the downside of Asciinema IMO. Can’t help but read it as ASCII enema, which is funny, but not what I want think about. Just call it tty-player or something…

  • ethan_smith 17 hours ago

    VHS offers a declarative approach with .tape files that makes terminal demos reproducible and version-controllable, plus it generates GIFs without requiring a browser to view the recordings.

userbinator a day ago

Useful tool, but I can't help reading the name as "ASCII Enema" every time I see it.

  • junon a day ago

    AsciiEnema: It even handles the most significant bits.

    ... I'll see myself out.

pi_22by7 a day ago

This looks really useful for documentation. The text-based approach seems like a huge advantage over screen recordings. Being able to copy-paste commands from a "video" is brilliant. The privacy concern about auto-uploading is a bit concerning though, glad they added the prompt to choose local vs upload.

  • tambourine_man 18 hours ago

    I always read it “ASCII Cinema” in my mind, but that’s obviously not correct (they provide the IPA in the first paragraph)

  • xiconfjs a day ago

    yes, but for me [1] it breaks new-lines which where there before in the terminal.

    [1] Firefox 141 @ Ubuntu 22.04

azemetre 17 hours ago

Could anyone recommend any plugins that turn asciinema recordings to SVGs that are currently maintained?

I'm aware of this one, which seems to be the only one actively maintained from when I lasted looked:

https://github.com/MrMarble/termsvg

Hoping others have different recommendations.

What would be nice about transforming to SVG is low bandwidth and ease of use for static sites.

greazy 7 hours ago

For a workshop I embedded gifs of cli tools in PowerPoint.

It was great. The PowerPoint acted as both notes for me and the trainees who could refer to them after the workshop finished.

Only issue is I prefer sharing pdf of slide deck but I couldn't workout how to export a pdf with gif and no idea if it's possible to embed a gif in a pdf

taoh a day ago

We use asciinema to record CLI tools terminals and add the recordings as svg to our README. We also use the recordings to replay as part of our CI. works great!

  • iib a day ago

    How do you use the recordings as part of the CI?

  • kragen a day ago

    That sounds cool! An animated SVG? How do you convert to SVG format?

    • kragen 7 hours ago

      Upon investigation, both dg and svg-term-cli output SVG with embedded CSS animation. So it's not that SVG supports animation per se. This also remodels my understanding of what CSS animation can do.

x187463 16 hours ago

All of the terminal effects I display over at: https://chrisbuilds.github.io/terminaltexteffects/showroom/ were recorded using asciinema and converted to gif use AGG. https://github.com/asciinema/agg

The workflow only takes a few seconds. The .cast file is output to a folder, AGG reads the .cast and creates a gif. AGG has arguments to automatically set the row/column widths and strip inactive time.

I could not find any other solution that produced high quality gifs. Asciinema is awesome.

  • zimbatm 14 hours ago

    Quality animated SVGs is even better:

    https://github.com/marionebl/svg-term-cli

    • x187463 8 hours ago

      The amount of information the SVG must store to represent the animation actually crashed the application creating it. There’s too much going on in TTE animations.

eviks a day ago

How is this better than basic linear scrollable text? You don't have to waste time waiting for letters to appear at a pace slower than your reading speed. You don't worry about missing a moment and then trying to rewind with the imprecise controls (and you can't use text search to instantly find the word you remember) of broken full-screen button like it's on this website when viewed on a smartphone

  • jasonjmcghee a day ago

    I generally see it used to demo a TUI, to great effect.

    • eviks a day ago

      Good point, I mostly remember the cli sequences as shown in the demo (which are only better than the gif alternative). The TUI version should be their primary demo!

  • yjftsjthsd-h a day ago

    I assume this plays nice with tuis? Ex. you can use this to record vim, which scrollback doesn't do

kstonekuan a day ago

Cool, wonder if this could be used to record agentic cli sessions like claude code and gemini cli

bytejanitor a day ago

The upload "feature" is very dangerous.

  • ku1ik 18 hours ago

    This has been changed. In 2.4 there’s explicit prompt for save/upload/discard. Since 3.0 there’s no auto upload in any form - you always record to a file, and to upload you need to explicitly run `asciinema upload filename`.

meowface a day ago

I wish it supported easy export to MP4.

  • jasonjmcghee a day ago

    You can do it in two commands, but not ideal to need gif as stopgap.

        agg demo.cast demo.gif
        ffmpeg -i demo.gif demo.mp4
  • taoh a day ago

    It should be pretty easy to export to MP4, but using SVG will be lighter and faster, which is why we created the dg tool to automatically export to SVG. Please see my previous comments if interested

theideaofcoffee 17 hours ago

The venerable script(1) command has been around since 1979 (via 3.0BSD), and while some of the timestamping (supporting via the -r flag to feed the resultant file into the playback) and other utility functions (replay via -p are much newer, the result is the same. Record to a (mostly) text file to schlep around as needed. And it's normally included by default on most installs, including macos.

There's no upload-to-server functionality unlike asciinema, but that may be a feature for some users.

stevenjgarner a day ago

I am curious about the use cases where a VIDEO recording is inherently more useful than a TEXT recording of a terminal session. I have found simply using:

script session.log

... to be invaluable, especially when documenting commands that will be finding their way into a bash script or when I am collaborating with another person who will always have script available in their terminal but may have restrictions on being able to install asciinema.