asciinema __asciinema__ (aka asciinema CLI or asciinema recorder) is a command-line tool for recording and live streaming terminal sessions. Unlike typical _screen_ recording software, which records visual output of a…
asciinema


__asciinema__ (aka asciinema CLI or asciinema recorder) is a command-line tool
for recording and live streaming terminal sessions.
Unlike typical _screen_ recording software, which records visual output of a
screen into a heavyweight video files (.mp4, .mov), asciinema CLI runs
_inside a terminal_, capturing terminal session output into a lightweight
recording files in the
asciicast format (.cast),
or streaming it live to viewers in real-time.
The recordings can be replayed in a terminal, embedded on a web page with the
asciinema player, or published to
an asciinema server, such as
asciinema.org, for further sharing. Live streams allow
viewers to watch terminal sessions as they happen.
asciinema runs on GNU/Linux, macOS and FreeBSD.
Notable features:
- recording of terminal sessions to a file, with optional keyboard input
- replaying of recordings inside a terminal, with adjustable speed, looping,
- local and remote live
- combined sessions: record to a file while streaming locally and remotely at
.zst) recordings (8% of the original size
on average),
- conversion from asciicast v1/v2/v3 to asciicast v2/v3, raw terminal output,
- concatenation of multiple recordings into one, with timing adjusted
- mid-session controls: pause/resume capture and add markers on the fly via
- session metadata capture, including terminal size, terminal theme, command,
- configuration file support for defaults such as recording command, capture
- headless mode, configurable terminal window size, and exit-status propagation
- support for stdin/stdout in conversion and playback from local files, stdin,
- integration with asciinema
To record a session run this command in your shell:
sh
asciinema rec demo.cast
To stream a session via built-in HTTP server run:
sh
asciinema stream -l
To stream a session via a relay (asciinema server) run:
sh
asciinema stream -r
Check out the Getting started
guide for installation and usage
overview.
Building
Building asciinema from source requires the Rust
compiler (1.82 or later), and the Cargo package
manager. If they are not available via your
system package manager then use rustup.
To download the source code, build the asciinema binary, and install it in$HOME/.cargo/bin in one go run:
sh
cargo install --locked --git https://github.com/asciinema/asciinema
Then, ensure $HOME/.cargo/bin is in your shell's $PATH.
Alternatively, you can manually download the source code and build the asciinema
binary with:
sh
git clone https://github.com/asciinema/asciinema
cd asciinema
cargo build --release
This produces the binary at target/release/asciinema. You can just copy the
binary to a directory in your $PATH.
To generate man pages and shell completion files, set ASCIINEMA_GEN_DIR to the
path where these artifacts should be stored. For example:
sh
ASCIINEMA_GEN_DIR=/foo cargo build --release
The above command will build the binary and place the man pages in /foo/man/,
and the shell completion files in the /foo/completion/ directory.
> [!NOTE]
> Windows is currently not supported. See #467.
> You can try PowerSession instead.
Development
All development happens on develop branch. This branch contains the current
generation (3.x) of the asciinema CLI, written in Rust.
The previous generation (2.x), written in Python, can be found in the python
branch.
If you wish to propose non-trivial code changes, please first reach out to the
team via forum,
Matrix or
IRC.
Donations
Sustainability of asciinema development relies on donations and sponsorships.
If you like the project then consider becoming a
supporter or a corporate
sponsor.
asciinema is sponsored by:
Consulting
If you're interested in integration or customization of asciinema to suit your
needs, check asciinema consulting
services.
License
© 2011 Marcin Kulik.
All code is licensed under the GPL, v3 or later. See [LICENSE](./LICENSE) file
for details.
-
asciinema ★ PINNED
Terminal session recorder, streamer and player 📹
Rust ★ 18k 14d agoExplain → -
asciinema-player ★ PINNED
Web player for terminal session recordings and live streams
JavaScript ★ 2.9k 6d agoExplain → -
asciinema-server ★ PINNED
Platform for hosting and sharing terminal session recordings
Elixir ★ 2.5k 6d agoExplain → -
agg ★ PINNED
asciinema gif generator
Rust ★ 1.7k 1mo agoExplain → -
asciicast2gif ▣
Generate GIF animations from asciicasts (asciinema recordings)
CSS ★ 1.2k 3y agoExplain → -
avt
asciinema virtual terminal
Rust ★ 227 2mo agoExplain → -
vt-clj
asciinema virtual terminal
Clojure ★ 41 7y agoExplain → -
publish-to-ipfs
Script to publish locally saved asciicast to IPFS
Shell ★ 18 8y agoExplain → -
a2png ▣
Script for generating PNG preview from asciicast JSON file
CSS ★ 14 4y agoExplain → -
tst ▣
Terminal streamer
Rust ★ 10 2y agoExplain → -
asciinema-logo
Official asciinema logo
Ruby ★ 10 2y agoExplain → -
libtsm
asciinema's fork of libtsm
C ★ 9 10y agoExplain → -
ttyrec2asciicast
ttyrec to asciicast converter
Python ★ 6 8y agoExplain → -
blog.asciinema.org
asciinema blog
CSS ★ 5 5mo agoExplain → -
PKGBUILD
Arch Linux package build description file for asciinema recorder
Shell ★ 5 10y agoExplain → -
asciinema-snap
Snap package for asciinema
★ 3 6y agoExplain → -
asciinema.github.io
asciinema documentation site source
Nix ★ 1 8d agoExplain → -
discussions
Public open-ended discussions about asciinema
★ 1 3y agoExplain → -
asciicast-rs
Rust library for reading/writing asciicast files
★ 0 2y agoExplain → -
.github
No description.
★ 0 2y agoExplain →
No repos match these filters.