ascii-chat 0.14.5 frames your face, lets a browser host the call, and queues media live
1 hour ago
ascii-chat is video chat in your terminal. In version 0.14.5, the terminal and browser apps share far more. Session screens, microphone processing and rendering preferences now run through the same C code, compiled to WebAssembly for the browser. On top of that come Face Follow, browser-hosted calls, and live playlists.
Ask about this presentation
Chapters
Show transcriptHide transcript
ascii-chat is video chat in your terminal. In version 0.14.5, the terminal and browser apps share far more. Session screens, microphone processing and rendering preferences now run through the same C code, compiled to WebAssembly for the browser. On top of that come Face Follow, browser-hosted calls, and live playlists.
Face Follow zooms and pans around a face before the image is turned into ASCII. Here is the full frame. And here it is with Face Follow on, which is also what your peers receive. It holds briefly when it loses you, then widens back out instead of jumping to a bystander. It's off by default. Turn it on with the face follow flag, or in browser settings.
In the terminal app, you can now change what you're showing without restarting a session. Press O to open a file or URL, or paste or drop a path into the terminal. V reads the clipboard, and the angle brackets step through a playlist. On the command line, repeat the file and URL flags to build the same list, and add loop to repeat it.
Creating a discovery session in the browser now starts a real host. It accepts WebRTC peers, combines their video, sends ASCII frames back, and leaves each person's own microphone out of their audio mix. When the host leaves, a successor chosen from measured participant data takes over, and terminal and browser peers reconnect.
Both apps now share the same session screens. Question mark opens help, right bracket opens the status and log overlay, and slash searches the logs, in the terminal or in the browser. Microphones share one C processor before Opus encoding, and each side keeps its own echo cancellation.
If your terminal fell behind the camera, it now catches up. On terminals that answer its probe, old frames are skipped and the newest one is drawn, and the FPS counter only counts fresh frames. A blocked terminal no longer stops incoming audio. Hosts render each viewer's own color, palette and frame rate. And half-block mode lost its doubled and cropped geometry.
If you call over WebRTC, upgrade both ends together, because the peer-security handshake changed. Plain TCP and WebSocket default to ACIP encryption. Secure WebSockets and WebRTC use TLS or DTLS, and add ACIP when you ask for it or set a password. And key with no-encrypt still verifies identity.
Linux packages ship fully static. The amd64 and arm64 builds use musl, with no shared-library dependencies, and macOS and Windows link their third-party libraries statically. Building from source now needs CMake 3.30, up from 3.28. The libasciichat version stays at 0.3.0.
Download the package for your platform from the release page. For a portable archive, extract it and run ascii-chat from its bin folder. Streaming-site URLs still need yt-dlp. Wait only if a WebRTC peer you call can't upgrade at the same time. Otherwise, 0.14.5 frames your face, lets a browser host the call, and queues media live.








