Concat 0.2.2 edits on device and exports H.264 MP4
Version 0.2.2 is a native video editor aimed at the quick cuts, captions, titles, effects, and reusable layouts associated with CapCut. It keeps media on the machine, asks for no account, and can transcribe speech or generate voices with local models. The timeline supports multiple tracks and multiple timelines per project. Its own comparison table is candid about the main limit: the current export choice is H.264 MP4, and the effect collection is much smaller than CapCut's.
We measured 549 files and about 48,487 lines of source in the 13.9 MB checkout. Most of the project lives under engine/, where separate Rust crates handle media, the project model, rendering, export, speech, effects, and the Slint window. That separation makes the code navigable for a 0.2.2 beta, though every path involving media eventually meets native libraries that Cargo cannot provide by itself.
Release archives hide native libraries that source builders must supply
Version 0.2.2 ships self-contained archives for macOS, Windows, Linux, Android, and iOS or iPadOS. A creator downloading one of those packages should not have to install FFmpeg separately. Windows gets a zip and installer, Linux gets portable archives, macOS gets unsigned disk images, and the mobile packages require sideloading. The project also supports a portable folder that keeps settings, recent items, and downloaded models beside the executable.
A source checkout has a different bargain. Our dependency step installed 665 packages in 40 seconds, but the contributor guide still requires Rust 1.93, FFmpeg 7+ development libraries, CMake, and a C++ compiler. Linux adds fontconfig and FreeType headers for the default Skia renderer. The repository's Nix flake pins FFmpeg 8, OpenSSL, ONNX Runtime, audio libraries, and windowing dependencies, which is the clearest reproducible route for Linux contributors.
What happened when we ran it
Our fresh Debian sandbox build failed with exit code 101 after 618 seconds. The final log came from ffmpeg-sys-the-third: pkg-config looked for libavutil, could not find libavutil.pc, and reported that PKG_CONFIG_PATH was unset. The log does not show a Rust compiler error or an application defect beyond that missing native prerequisite. It shows that a fresh Rust image, even after the package install succeeds, is not enough to compile the editor.
The test command failed with exit code 101 after 18 seconds at the same check for libavutil. No test assertion ran far enough to produce a failure summary, so calling the tests broken would overstate the evidence. We tested commit 8ef9e20 in an unprivileged container with 3 CPUs and 12 GB of RAM. The 13.9 MB checkout had 7 CI workflow files and a tests directory, but no Dockerfile that installs the native build stack.
Offline models range from 15 MB to 488 MB
Captioning, text-to-speech, and subject cutout stay on the device after their models arrive. The README lists caption downloads from 78 MB to 488 MB, speech models of 132 MB or 349 MB, and cutout models from 15 MB to 179 MB. This is useful for private footage and unreliable connections, but it also makes first-use storage a choice. Concat says the smallest app-plus-caption setup needs 500 MB, while every optional model takes the estimate to 2 GB before project media and exports.
The recommended machine has 6 CPU cores and 16 GB of RAM for smooth 1080p work and larger 4K or caption jobs. Our 3-CPU, 12 GB sandbox never reached the window because the source build stopped at libavutil, so we have no playback or export benchmark to offer. Treat the project's hardware table as guidance, then try your own camera formats and longest timeline before moving a real job into it.
Mobile packages exist, while current reports still show beta behavior
The v0.2.2 release offers Android and iOS builds, but the README marks phones and tablets as needing testing. Issue 92, opened September 16, reports that controls collide with the notification bar on a Redmi Pad 2 Pro and that media import buttons do not work. Desktop has caveats too: macOS binaries are unsigned, and portable Windows or Linux installs must keep their bundled files together. These are reasonable trial conditions for a beta, not promises of a settled editor.
Development is moving quickly. GitHub recorded the last push on September 16, 2026, the same date as measured commit 8ef9e20, one day after v0.2.2 shipped. A long-clip crash fix was opened and closed within hours, while new mobile and process-lifecycle reports arrived the next day. GitHub showed 18 combined issues and pull requests. That mix indicates live maintenance and live breakage, which is more useful than reading the 2,200-star count as a maturity score.
Download the editor before deciding whether to compile it
The v0.2.2 package is the easiest way to judge Concat. Use a real clip, check caption accuracy, scrub a long timeline, and export the exact resolution and codec your delivery requires. Shotcut and Kdenlive remain safer choices for an established general editor. LosslessCut is faster to understand when the job is only trimming or joining media without a full render. Concat makes more sense when local speech features and a lighter CapCut-like workflow outweigh beta roughness.
Contributors should start in the Nix shell or install every native library named in the engine guide before invoking Cargo. The main README's promise of no setup applies to release bundles, while our run installed 665 packages and still lacked libavutil. That distinction decides the recommendation: trying Concat can take one download, but modifying it begins with a platform toolchain that our clean container could not build in 618 seconds.

