filmcraft

storytoldApache-2.0活跃维护 有专家点评

用纯 Rust 从零实现的开源非线性视频编辑器,支持多轨道剪辑与视频处理,适合想要轻量、高性能剪辑工具的用户。

FilmCraft: An open-source, nonlinear video editor written from scratch in pure Rust

v0.19.0发布于 2026-11-09 11:54 UTC18,017star +253 / 7 天7,365fork同步于 2026-11-11 05:23 UTC

专家点评

上手难度:硬核更新于 2026-11-11

纯 Rust 自研编解码与 GPU 合成的非线性剪辑器,顶替 Premiere/Resolve 在 Linux 和浏览器里的位置

适用场景

  • 在 Linux 桌面上做正式剪辑:Premiere 没有 Linux 版,Resolve 的 Linux 版对硬件和授权有额外门槛,这个项目原生跑在 Metal/Vulkan/DX12 上,是少数能当主力时间轴用的开源选项
  • 需要帧率精确的素材(23.976/29.97 丢帧、混合帧率时间轴):时间轴用整数 tick 而非浮点秒,长序列不会累积漂移,浮点时间轴的编辑器在这类工程里要反复手动对齐
  • 把剪辑流程交给脚本或代理驱动:所有操作都是命令,可被外部程序精确重放,做批量套模板、自动粗剪这类流水线时不用去逆向 GUI 自动化
  • 在浏览器里做轻量预览或协作审片:WebAssembly 版本省掉装客户端,代价是走 WebGPU 路径,和原生版不是同一套运行环境

踩坑

  • 硬件加速是 issue 区反应数最高的一条(GPU/媒体引擎解码、GPU 特效、GPU 导出),说明当前解码和导出很可能仍以 CPU 路径为主;拿它剪 4K 多轨或长 GOP 素材前,先确认你的工作流是否依赖硬解硬编
  • README 没给构建命令和依赖版本,自研编解码器意味着要自己处理各平台的多媒体工具链;从 clone 到能跑大概率要读文档甚至翻源码,别按「cargo build 就好」预期
  • 项目自述年轻且快速迭代,接口与行为会变;工程文件格式和命令接口在升级时可能不兼容,长期项目要锁版本并自己留导出备份

同类对比

要成熟稳定的商业级调色与交付链选 DaVinci Resolve;要 Linux 上久经使用、插件生态完整的开源方案选 Kdenlive 或 Shotcut。这个项目的分流点是「纯 Rust 自研栈 + 命令化可编程 + 浏览器运行」,这三点你不需要就没必要承担它的迭代风险。

怎么上手

由 README 提炼,执行前请确认
README 未给出安装或构建命令
硬件要求按 README 说明

README 未说明具体显存或 GPU 型号要求;GPU 合成器基于 wgpu,支持 Metal、Vulkan、DirectX 12 与 WebGPU,并提供 CPU 渲染路径。

纯 CPU 可运行支持 Apple Silicon
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

纯 Rust 从零编写的开源非线性视频剪辑器,跨平台原生运行并支持浏览器 WebAssembly

用纯 Rust 从零实现的开源非线性视频编辑器,支持多轨道剪辑与视频处理,适合想要轻量、高性能剪辑工具的用户。

核心能力

  • 自研 H.264/HEVC/ProRes/AAC 编解码器,按公开规范用 Rust 实现
  • GPU 合成器基于 wgpu,在 32 位线性光下合成并保留 CPU 对照路径
  • 时间轴以整数 tick 计算,23.976/29.97 丢帧等帧率精确不漂移
  • 完整调色面板含曲线、色轮、HSL 二级与实时波形图矢量图
  • 所有操作皆为命令,可被 AI 代理精确驱动

容易踩的坑

README 未说明构建依赖与版本要求;项目自述处于年轻且快速迭代阶段,接口与行为可能变动;浏览器端需通过 WebAssembly 运行,与原生版环境不同

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.19.0
  1. v0.19.0FilmCraft v0.19.0最新正式版2026-11-09 · 2026-11-09 11:54 UTC

    What's Changed

  2. v0.18.0FilmCraft v0.18.02026-11-06 · 2026-11-06 20:21 UTC
    查看更新说明

    What's Changed

  3. v0.17.1FilmCraft v0.17.12026-11-05 · 2026-11-05 01:47 UTC
    查看更新说明
  4. v0.17.0FilmCraft v0.17.02026-11-03 · 2026-11-03 00:53 UTC
    查看更新说明

    What's Changed

  5. v0.16.0FilmCraft v0.16.02026-11-01 · 2026-11-01 19:26 UTC
    查看更新说明

    What's Changed

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    [!NOTE] ArtCraft is a community of artists from all walks of life. Digital, generative, music, games — if you make things, you're one of us. Come say hi on Discord.

    FilmCraft is a professional non-linear editor: familiar panels, workspaces, tools and shortcuts, so your hands already know where everything is. Underneath, it is new from the bitstream up. The H.264, HEVC, ProRes and AAC codecs are our own, written in Rust from the public specifications. A GPU compositor works in linear light. Frame math runs on exact integer time, so edits never drift. And every action in the app is a command that an AI agent can drive as precisely as you can.

    Edit

    A timeline you already know. Source and Program monitors, bins with thumbnails, a multi-track timeline with patch and target buttons, sync locks and linked selection. The Editing, Assembly, Color, Effects and Audio workspaces are all there, and every panel docks wherever you want it.

    • Three-point editing. Mark In and Out in the Source monitor, then insert (,) or overwrite (.) onto the patched tracks. Lift (;) and extract (') take ranges back out.
    • Every trim. Ripple, roll, slip, slide, rate stretch and razor tools. Trim mode selects edit points as ripple, roll or trim, nudges them a frame at a time (⌥← ⌥→, ×5 with ⇧), toggles the trim type with ⌃T and extends them to the playhead with E. Q and W ripple-trim to the playhead. The Trim Monitor shows both sides of the edit, and dynamic trimming trims live while it plays: L forward, J back, K to stop and commit as one undo step.
    • Exact time. Every edit is computed on integer ticks: 254,016,000,000 per second, which divides evenly by every common frame rate and sample rate. 23.976, 29.97 drop-frame and 59.94 are exact, not approximate.
    • The details pros rely on. Markers with colours, names and durations; export sequence review notes with Markers ▸ Export Markers as CSV…; add edit (⌘K) on one or all tracks; nesting; copy, paste and paste insert; ripple delete and close gap; snapping; unlimited undo with a History panel.
    • Your keys. A Keyboard Shortcuts editor (⌥⌘K) with a drawn keyboard, panel-specific shortcuts, conflict warnings and presets for FilmCraft and standard NLE key layouts.
    • Never lose work. Saves are atomic, auto-save keeps a rolling set of versions, and a crash-recovery journal written about a second after each edit brings back unsaved changes after a crash or power cut.

    Color

    A complete color grading panel, in the order a colourist works:

    • Basic Correction: temperature and tint, exposure, contrast, highlights, shadows, whites, blacks, saturation.
    • Creative: eight built-in looks with an intensity control, plus faded film, sharpen and vibrance. The looks are colour transforms written in code, not LUT files.
    • Curves: an RGB curve editor with monotone-cubic interpolation (no overshoot), and hue vs saturation, hue vs hue, hue vs luma, luma vs saturation and saturation vs saturation.
    • Color Wheels: shadow, midtone and highlight wheels, each with its own lightness control.
    • HSL Secondary: key a colour by hue, saturation and luma, view the key as a matte, and correct only what you selected.
    • Vignette: amount, midpoint, roundness and feather.

    Effects and motion

    • A comprehensive Video Effects bin (over 90 effects across 16 categories), legacy effects, plus around 30 transitions. Blurs (Bokeh, Focus, Compound), keys (Ultra Key, Track Matte), distortions (Corner Pin, Turbulent Displace, Warp Stabilizer), Lights & Glows, Immersive Video (VR) effects on equirectangular footage, Posterize Time, Echo and more. Cross dissolve, dip to black or white, film dissolve, wipes, irises, pushes, slides, zooms, page peel, cube spin and more.
    • Motion and opacity on every clip: position, scale, rotation, anchor point and anti-flicker, plus 26 blend modes.
    • Advanced keyframing: linear, Bezier, auto and continuous Bezier, hold, ease in and ease out. Effect Controls shows a keyframe lane for every parameter under a time ruler with the playhead's handle, and each animated parameter opens into value and velocity graphs with draggable influence handles. Effect Controls and the Properties panel share the keyframe navigator (◀ ◆ ▶): add or remove the keyframe at the playhead, step to the previous or next one.
    • A GPU compositor built on wgpu (Metal, Vulkan, DirectX 12, WebGPU). It samples YUV straight from the decoder with footprint supersampling and blends in linear light. A CPU path renders the same frames, and the two are tested against each other.

    Audio

    • Loudness meters to broadcast standards. Momentary, short-term and integrated loudness and true peak to ITU-R BS.1770 and EBU R128, alongside the peak meters. Our integrated reading matches ffmpeg's ebur128 filter to the tenth of a LU.
    • Clip effects on our own DSP library: parametric EQ, high-pass, low-pass and band-pass filters, dynamics, a true-peak limiter, delay, reverb, DeNoise, DeHummer, invert and pitch shift. Parameters can be keyframed. Effects stay continuous across scrubbing, playback and export, with latency compensated.
    • Audio Track Mixer and Audio Clip Mixer: faders, pan, mute, solo, five insert slots per track (pre- or post-fader), sends, submixes and a Mix track, all sample-accurate and latency-compensated. 24 tracks with three effects each mix about six times faster than real time on one core.
    • Automation like a console: Read, Latch, Touch and Write modes recorded live from the mixer during playback, shown and edited as track keyframes on the timeline. Plus the Audio Gain dialog (set, adjust, normalize) and constant-power crossfades.
    • Audio-clock playback. The sound card is the master clock, so picture follows sound and never the other way round.

    Titles and captions

    • A real text engine: OpenType shaping with kerning and ligatures, bidirectional text, line breaking, tracking and leading, drawn in linear light and sharp at any scale or rotation.
    • Type, Shape and Pen tools on the Program monitor: click to type, edit with a caret and selection, drag out rectangles, ellipses and paths. Graphic clips hold text and shape layers with fill, strokes, background and shadow, all keyframable, and edited in the Properties panel.
    • Captions: caption tracks in Subtitle, CEA-608, CEA-708 and Teletext formats; import and export SRT, WebVTT and SCC with frame-exact timing; edit captions in the Text panel and burn them into exports.

    Formats and codecs

    No FFmpeg inside. The video codecs, AAC, Opus and the containers are our own Rust code, implemented from the public ITU-T, ISO and IETF specifications and tested frame by frame against ffmpeg as an external oracle.

    DecodeEncodeNotes
    H.264 / AVC✓✓Decoder bit-exact on 37+ streams, 500–600 fps at 1080p. Encoder: High, Main and Baseline profiles, CABAC, B-frames, CRF/CBR/VBR/2-pass
    HEVC / H.265✓Main and Main 10, bit-exact on 41 streams (tiles, WPP, PCM, long-term references), about 225 fps at 1080p
    Apple ProRes✓✓Decodes 422 Proxy to 4444 XQ; export writes 422 HQ
    AAC-LC✓✓
    VP8✓Every coding tool, bitstream versions 0–3, hidden altref frames, alpha layer of transparent WebM; bit-exact with libvpx on its published VP8 test vectors; in WebM/Matroska and MP4
    VP9✓Profiles 0–3, 8/10/12-bit, 4:2:0 to 4:4:4, tiles and superframes; bit-exact on 50+ streams; in WebM/Matroska and MP4
    Opus✓SILK, CELT, hybrid and multistream surround; range-exact on every RFC 8251 conformance vector; in WebM/Matroska and MP4
    AV1✓Main profile, 8/10-bit 4:2:0 and monochrome, every coding tool incl. film grain, superres and spatial layers; bit-exact with libdav1d on the libaom vectors tested; in MP4 and WebM/Matroska
    DNxHD / DNxHR✓✓All SMPTE ST 2019-1 CIDs (LB to 444, 8/10/12-bit); export writes DNxHR in MOV
    MJPEG, PCM✓✓
    MP3, FLAC, ALAC, Vorbis✓Via the symphonia crate (MPL-2.0) for now, to be replaced by our own
    MP4 / MOV✓✓Fragmented MP4, edit lists, timecode tracks
    Matroska / WebM✓Lacing, Cues, header stripping, HDR colour metadata
    AVI✓AVI 1.0 and OpenDML (files past 1 GB); Motion JPEG, H.264, HEVC and uncompressed RGB / YUV with PCM, MP3, MP2 or AC-3. DivX / Xvid and DV not yet
    Stills✓✓Import PNG, JPEG, GIF, WebP, TIFF and BMP (animated GIF, APNG and WebP as clips, with transparency); export PNG sequences and animated GIF

    Also imported: MPEG-2 / MPEG-1 video, AC-3, MP2, MXF (OP1a / OP-Atom), MPEG transport and program streams (AVCHD, broadcast, DVD), Ogg and image sequences. Not yet: AV1 export, camera RAW, E-AC-3. Hardware decoding works on macOS (VideoToolbox), Windows (Media Foundation) and, for H.264 and HEVC, Linux (VA-API); H.264 export can use NVIDIA's encoder on Windows and Linux (opt-in), and H.265 (HEVC Main, 8-bit) export works through it (NVENC on Windows, VideoToolbox on macOS) (#30).

    Export

    • H.264 MP4 with AAC, using our own encoders. A 6-second 960×540 render takes 1.3 seconds and decodes in ffmpeg without a single warning, with strict error detection on.
    • Also: Apple ProRes 422 HQ and Motion JPEG in QuickTime, MXF OP1a and standard OP-Atom (DNxHR, ProRes or H.264 with PCM and start timecode), PNG sequences, animated GIF and WAV.
    • Background jobs with progress and cancel, so you keep editing while it renders.
    • Render previews: the render bar marks segments green, yellow or red; rendered previews are cached by content, so an edit only invalidates what it touches and undo brings the green back.

    Interchange

    Move timelines between FilmCraft and every other editor:

    • FCP 7 XML (xmeml): industry-standard timeline interchange format. It carries nested sequences, transitions, generators, Motion, Opacity, Time Remap and audio levels, with keyframes.
    • FCPXML 1.9–1.11: the spine, connected clips as lanes, transitions, retiming and compound clips.
    • OpenTimelineIO: the open interchange format of the film industry, round-tripping every FilmCraft detail through metadata.filmcraft.
    • CMX 3600 EDL: the oldest format still in use, with drop-frame timecode, dissolves, wipes, speed changes (M2) and one EDL per track.
    • AAF (Edit Protocol): standard timeline and audio interchange format. Video and audio tracks, dissolves and dips, clip volume with keyframes, markers and source timecode; audio embedded or as separate WAV / AIFF files, trimmed with handles, with clip effects rendered in and broken out to mono, plus an optional video mixdown. Import reads AAF back, extracting embedded audio.
    • OMF 2.0: the audio-post handoff: the audio tracks with crossfades and gain, sample-accurate, with the audio encapsulated or alongside.

    Import merges the document's bins, media and sequences into your project as one undoable step, and links each media file it finds on disk.

    Built for agents

    Every menu item, button, slider and drag in FilmCraft is a command with an id, typed parameters and an enabled state. There are more than 650 engine commands (filmcraft-cli commands lists them), with more commands continuously added. The UI, the CLI, a JSON control channel and an MCP server all dispatch the same commands, so Claude or any agent can cut, trim, grade, mix and export exactly the way a person does. The UI can also be driven at the level of mouse and keyboard: every widget has an automation id, and agents can click, drag, type and take screenshots.

    // over the control channel (JSON lines on TCP) or as MCP tool calls
    {"method": "engine.execute", "params": {"command": "timeline.place",
      "params": {"item": 1, "track": "V1", "seconds": 0, "sourceIn": 284298240000000, "duration": 1270080000000}}}
    {"method": "engine.execute", "params": {"command": "effects.setParam",
      "params": {"clip": 87, "effect": "lumetri", "param": "curve_luma", "value": [[0,0],[0.25,0.21],[0.75,0.82],[1,1]]}}}
    {"method": "ui.screenshot", "params": {"path": "frame.png"}}
    

    The trailer and the grades in these screenshots were built exactly this way, by an agent driving the running app.

    Everywhere

    • Native on macOS, Windows and Linux, with a native macOS menu bar.
    • The web: the same engine and UI run in the browser via WebAssembly (apps/filmcraft-web, see docs/web.md); every release ships it as filmcraft-web-<version>.zip.
    • Swappable UI. The interface is one crate (ui-egui) over the engine, so a different front end can replace it without touching editing logic.

    Get started

    New to editing in FilmCraft? Follow Getting started: video fades and audio volume keyframes.

    cargo run --release -p filmcraft                           # the desktop app, with a demo project
    cargo run --release -p filmcraft -- --control 9876         # plus the JSON-lines control server
    cargo run --release -p filmcraft-cli -- commands           # list every engine command
    cargo run --release -p filmcraft-cli -- mcp                # MCP server (headless)
    

    Japanese text in the interface and in titles comes from craft-fonts, an optional build input (release builds always include it; without it FilmCraft uses its own and the system's fonts):

    git clone https://github.com/storytold/craft-fonts ../craft-fonts
    CRAFT_FONTS_DIR="$PWD/../craft-fonts" cargo run --release -p filmcraft
    

    The control protocol is documented in docs/control-protocol.md. Stuck, or want to show what you made? Ask in Discord.

    Documentation

    CONTRIBUTING.md · docs/contributing.mdSetup, quality gates, commit conventions, how to add commands, effects, codecs, panels and assets
    AGENTS.mdThe rules every contributor must follow: assets, clean room, licences
    docs/architecture.mdLayers, data model, time base, command system, render and export pipeline
    docs/testing.mdUnit, property and ffmpeg-oracle tests, accuracy criteria, benchmarks
    docs/agents.mdDriving FilmCraft over MCP and the control channel; how agents develop it
    docs/control-protocol.mdControl-channel and MCP reference
    docs/project-files.md.fcproj format, schema migrations, auto-save and crash recovery
    docs/graphics.md · docs/captions.mdText engine, graphic clips and tools; caption tracks and formats
    ROADMAP.mdStage, parity numbers, languages, what's next and the progress log
    docs/target-app-parity.md · docs/gaps.md · docs/roadmap.mdParity assessment, the ranked list of shortfalls, milestones and current focus
    docs/codec-parity.md · docs/file-format-parity.md · docs/hardware-parity.md · docs/ui-parity.md · docs/localization-parity.mdParity checklists by dimension

    Status

    FilmCraft is young and moving fast. Editing, trimming, multicam, colour, keyframes, effects, titles, captions, mixing, codecs and export work today.

    FilmCraft is in alpha. We track two numbers (docs/target-app-parity.md, re-measured 2026-10-10):

    • Feature breadth: ~86%. Professional NLE menu items, effects, transitions, panels and formats that exist in FilmCraft (menus 92% and effects 100% measured).
    • Ready for real work: ~56%. Our honest estimate of how close FilmCraft is to handling full production work on real projects.

    The biggest gaps today:

    • Speed on big footage. Hardware decoding works on macOS and Windows, and for H.264 and HEVC on Linux (VA-API, or NVDEC with NVIDIA's driver; VP9 and AV1 decode in software there). Blend modes and the most common effects run on the GPU, but color grading, keys and export rendering still run on the CPU; H.264 encoding can use the hardware encoder on macOS and on Windows and Linux with an NVIDIA GPU (opt-in, Export ▸ Hardware encoding), and H.265 export is hardware-only on both (HDR sequences export Main 10 PQ / HLG with NVENC; VideoToolbox writes 8-bit SDR) (#30).
    • Native .prproj project import. .prproj files can't be opened yet; bring sequences over as FCP7 XML, AAF or OTIO.
    • No plugins. No VST3 / Audio Units or OpenFX hosting.
    • Delivery codecs. H.264 is our only software delivery-codec export; H.265 exports only through a hardware encoder (NVIDIA on Windows: Main 8-bit SDR and Main 10 HDR PQ / HLG; VideoToolbox on macOS: 8-bit Main, SDR); no AV1 export yet.
    • Real-world media and platforms. Our decoders are bit-exact on conformance streams, but camera and phone files in the wild are less tested. Windows and Linux get far less testing than macOS.
    • AI features. Few so far; speech to text is optional and off by default.

    Bug reports with real footage are the most useful thing you can send us: open an issue or tell us in Discord.

    Architecture

    A layered Cargo workspace:

    LayerCrates
    Codecs and containersh264, h264enc, hevc, vp9, prores, aac, opus, isobmff, matroska, avi, bitstream
    Foundationstime, geom, color, frame, media, text, project, audio-dsp
    Editing and interchangeedit, codecs, captions, format (project files), interchange
    Rendering and outputrender, gpu, export
    Engineengine: command registry, session, undo, jobs
    Front endsui-egui, automation (MCP), apps/filmcraft, apps/filmcraft-cli
    Test supporttestkit (ffmpeg oracles, fixtures), golden (golden-image tests)

    Nothing below the front ends depends on a UI toolkit or OS API. cargo xtask ci checks formatting, lints, tests, the layering rules, asset attribution and the wasm build.

    Downloads

    New to FilmCraft? Download it from the FilmCraft page on getartcraft.com. That's the easiest way to install it.

    Want a specific build or format? On GitHub, the latest release has every build listed below, and all releases has earlier versions and their notes. <ver> in the file names is the version number, and SHA256SUMS.txt lists a checksum for every file.

    Windows

    BuildInstallerPortable
    x64 (64-bit Intel/AMD)filmcraft-<ver>-windows-x64.msifilmcraft-<ver>-windows-x64-portable.zip
    arm64 (Snapdragon and other ARM PCs)filmcraft-<ver>-windows-arm64.msifilmcraft-<ver>-windows-arm64-portable.zip
    x86 (32-bit)filmcraft-<ver>-windows-x86.msifilmcraft-<ver>-windows-x86-portable.zip

    Installers and executables are code-signed.

    If the app doesn't open on Windows: the desktop app initializes only Vulkan and DirectX 12 by default, not OpenGL. Letting wgpu also create an OpenGL instance can crash some graphics drivers (AMD's atio6axx.dll) before the window appears, so the app would flash in Task Manager and quit. WGPU_BACKEND overrides the default for troubleshooting (for example dx12 or vulkan). In PowerShell, from the folder containing the executable:

    $env:WGPU_BACKEND = "vulkan"
    & .\filmcraft.exe
    Remove-Item Env:WGPU_BACKEND                     # restore the default for later launches
    

    An explicit gl override can bring the driver crash back on affected systems. The macOS, Linux and web backend defaults are unchanged.

    A PC whose GPUs were installed from different driver packages of one vendor (a laptop with an integrated and a discrete AMD GPU, for example) can list one GPU twice, once through each installed version of the Vulkan driver, and a window drawn through the stale one crashes inside the driver (amdvlk64.dll, exit code 0xc0000005). FilmCraft draws with the newer one and says so in %APPDATA%\FilmCraft\Logs\filmcraft.log; installing one driver package for every GPU removes the duplicate. With one driver per GPU the adapter is the one wgpu picks, as before.

    macOS

    BuildFileNotes
    App, universal (Apple silicon + Intel)filmcraft-<ver>-macos-universal.dmgSigned and notarized
    Command-line tool, universalfilmcraft-cli-<ver>-macos-universal.zipSigned and notarized

    Linux

    Formatx86_64aarch64 (ARM64)Notes
    AppImagefilmcraft-<ver>-linux-x86_64.AppImagefilmcraft-<ver>-linux-aarch64.AppImageRuns anywhere; updates itself with AppImageUpdate (.zsync files)
    Flatpakfilmcraft-<ver>-linux-x86_64.flatpakfilmcraft-<ver>-linux-aarch64.flatpakSandboxed; flatpak install --user <file>
    Debian/Ubuntufilmcraft-<ver>-linux-x86_64.debfilmcraft-<ver>-linux-aarch64.deb
    Fedora/RHEL/openSUSEfilmcraft-<ver>-linux-x86_64.rpmfilmcraft-<ver>-linux-aarch64.rpm
    Tarballfilmcraft-<ver>-linux-x86_64.tar.gzfilmcraft-<ver>-linux-aarch64.tar.gzUnpack and run ./install.sh

    RISC-V (riscv64): filmcraft-<ver>-linux-riscv64.tar.gz (tarball only; needs glibc 2.39+, e.g. Ubuntu 24.04 or Debian 13).

    The tarball installer places FilmCraft, its command-line tool and desktop integration in ~/.local, without administrator permissions. For all users, run sudo ./install.sh --prefix /usr/local instead. Running the installer again updates the installation.

    Gentoo (community-maintained): the ::snakebyte overlay packages the Linux release as media-video/filmcraft-bin. It is maintained by the community, not by the FilmCraft team, so report packaging problems to the overlay:

    eselect repository add snakebyte git https://github.com/switch87/snakebyte-overlay.git
    emaint sync -r snakebyte
    echo 'media-video/filmcraft-bin ~amd64' >> /etc/portage/package.accept_keywords/filmcraft
    emerge --ask media-video/filmcraft-bin
    

    FreeBSD

    BuildFile
    x86_64filmcraft-<ver>-freebsd-x86_64.tar.gz

    Web (WebAssembly)

    BuildFileNotes
    Static sitefilmcraft-web-<ver>.zipRuns in a modern browser; host it on any static server

    The Crafting Apps

    FilmCraft is one of the Crafting Apps: free, open-source creative tools from the ArtCraft team, each written from scratch in Rust and each able to stand on its own.

    AppWhat it's forCodeLearn more
    PhotoCraftImage editing: layers, masks, type and real PSD filesGitHubWebsite
    VectorCraftVector illustrationGitHubWebsite
    FilmCraftVideo editing, color and soundGitHubWebsite
    LightCraftPhoto library and raw developmentGitHubWebsite
    PdfCraftReading, organizing and protecting PDFsGitHubWebsite
    EffectCraftMotion graphics and visual effectsGitHubWebsite
    DesignCraftPage layout and publishingGitHubWebsite
    FigCraftInterface design and prototypingGitHubWebsite
    WordCraftWord processing and documentsGitHubWebsite
    SoundCraftAudio recording and editingGitHubWebsite
    DeckCraftPresentations and slide decksGitHubWebsite
    CADCraftComputer-aided designGitHubWebsite
    GridCraftSpreadsheets and dataGitHubWebsite
    TextureCraft3D texture paintingGitHubWebsite
    Craft AnythingSee how any software works, then build your ownGitHubWebsite
    SolidCraftParametric 3D CAD by Tangency Labs (community app)GitHub

    And ArtCraft itself, our AI image and video studio for artists who want real control.

    License and credits

    FilmCraft is dual-licensed under MIT or Apache-2.0, at your option. Copyright (c) 2026 ArtCraft Team and the FilmCraft contributors. Required notices are in NOTICE.

    Bundled fonts, icons, images and other assets keep their own open licenses; each one is listed with its author, source and license in ATTRIBUTION.md. Builds made with craft-fonts (all official releases) also embed its fonts (OFL-1.1), listed in its ATTRIBUTION.md.

    Footage and music in the screenshots: NASA's Apollo 11 film and television footage from images.nasa.gov (launch, Launch Control Center, lunar surface and recovery) and the Apollo 11 air-to-ground voice transcript, all US Government works in the public domain (NASA does not endorse this project); Night of the Living Dead (1968), Carnival of Souls (1962) and Charade (1963), all in the US public domain; Earth Views from the ISS by NASA; Chopin's Nocturne Op. 48 No. 1 and Ballade No. 1, performed for Musopen and released under CC0. The media itself is not in this repository. Sources and details for every asset are in ATTRIBUTION.md.

    FilmCraft is an independent implementation. It contains no proprietary code, icons, images, presets or LUTs, and no GPL or LGPL code; every icon is drawn in code and every asset is openly licensed and attributed (AGENTS.md), apart from the ArtCraft name and logos, which are trademarks of the ArtCraft Team used under docs/brand/LICENSE-brand.txt. ffmpeg is used only as an external test oracle.

    The ArtCraft name, wordmark and logos in docs/brand/ are trademarks of the ArtCraft Team and are not covered by this license. They may be used only unmodified, and only as part of this repository and FilmCraft, under docs/brand/LICENSE-brand.txt. Forks and modified versions must remove them.

    Star history

    Star History Chart