A browser viewer for Tacview .acmi flight recordings (DCS replays). Supports piecing together many recordings into one continuous timeline that can span weeks. Timelines are chunked into smaller pieces that the client will fetch on demand, similarly to how video streaming works.
Demo can be found at https://acmi-viewer.github.io with a timeline from Contention Modern DCS server.
- View Tacview
.acmifiles in the browser, or stitch many recordings into a single timeline. - Playback with scrubbing, speed control, and gap skipping.
- Searching for pilots across the whole timeline
unknown_2026.08.19-21.24-2.mp4
A timeline consists of a manifest and chunked .acmi files. The manifest is a single json file that contains list of references to the recording chunks as well as an index of pilots from the whole timeline. The manifest and the chunks can be fetched from any web server, or when running locally, from the local file system. The default location for local manifests is data/timeline/<name>/manifest.json, see below.
From the command line:
deno task chunk --out data/timeline data/*.acmi # Place your acmi files in /path/to/project/dataOr use the Build a timeline tab in the viewer (Chromium only!)
You can run the viewer locally with Deno:
deno task serve # or: deno run --allow-net --allow-read server.jsAnd visit http://localhost:8000.
Note:
- This project was 100% vibe coded by Claude
- Claude-written documentation can be found in DOCUMENTATION.md
- For transparency, I'd appreciate if any AI generated pull requests contain a transcript of the chat that produced the code