FilmCraft is a free, open-source video editor designed as an alternative to Adobe Premiere Pro. Built from scratch in Rust, it combines timeline-based editing, color correction, audio mixing, visual effects, titles, captions, and video export in a desktop application.
FilmCraft aims to provide a familiar editing experience for users accustomed to professional non-linear video editors. It supports Windows, macOS, and Linux, with a WebAssembly version for browsers. Its command-line interface and Model Context Protocol (MCP) server also make it possible to automate editing tasks using scripts and compatible AI agents.
The project is ambitious, but it remains under active development. Although its feature checklist covers a substantial portion of Premiere Pro's functionality, the developers estimate that it is only around 50% to 60% ready to replace Premiere in real-world production workflows.
Features
Multitrack Timeline Editing
FilmCraft provides a traditional video editing workspace with source and program monitors, media bins, thumbnails, and a multitrack timeline. Its interface includes familiar editing workspaces for assembly, color correction, effects, and audio.
The editor supports three-point editing, trimming, clip insertion, overwriting, transitions, keyframes, and synchronized audio and video. It also includes multicamera editing and tools for organizing media and sequences.
These capabilities make FilmCraft suitable for assembling footage, creating documentaries, editing promotional videos, and working on other timeline-based projects.
Color Grading and Video Effects
FilmCraft includes color correction tools, tone adjustments, and a GPU-based compositor that processes images in linear light. Users can adjust footage and apply effects without relying on Adobe's proprietary editing engine.
The project includes a broad selection of video effects and transitions, with many familiar editing operations represented in its command and interface systems.
However, feature availability does not guarantee identical results to Premiere Pro. Some advanced effects are approximations, and certain processing tasks still rely on the CPU. Performance can vary depending on the footage, effects, and export settings.
Audio Editing and Mixing
FilmCraft includes audio tracks, mixing controls, clip volume adjustments, keyframes, and audio transitions. Its audio tools support common post-production tasks such as balancing dialogue, music, and sound effects.
The application can decode several audio formats, including AAC, Opus, MP3, FLAC, ALAC, and Vorbis. It can also export audio as WAV.
A significant limitation is the lack of VST3 and Audio Units plugin hosting. Users who depend on third-party audio effects or established professional mixing workflows should account for this before switching.
Titles, Graphics, and Captions
The text engine supports typography features such as kerning, ligatures, bidirectional text, line breaking, tracking, and leading.
Users can create text and graphic clips containing shapes, paths, fills, strokes, backgrounds, and shadows. These elements can be animated using keyframes.
FilmCraft also supports subtitle and caption workflows, including SRT, WebVTT, and SCC import and export. Caption tracks can use formats such as Subtitle, CEA-608, CEA-708, and Teletext.
These tools are useful for adding opening titles, lower thirds, subtitles, and other graphics directly within an editing project.
Video Formats and Export
FilmCraft implements several codecs and containers in Rust rather than bundling FFmpeg as its video-processing engine. The project uses FFmpeg externally for testing and comparing codec behavior.
Supported formats include H.264, HEVC, Apple ProRes, VP9, AV1, Avid DNxHD/DNxHR, Motion JPEG, and common still-image formats. Support differs between decoding and encoding.
For export, FilmCraft offers H.264 MP4 with AAC audio, ProRes 422 HQ, Motion JPEG in QuickTime containers, DNxHR, image sequences, animated GIF, and WAV audio.
Background rendering jobs provide progress reporting and cancellation. Cached render previews help avoid recalculating unchanged sections of a timeline.
There are important limitations. H.264 is the primary delivery-codec export option, while HEVC and AV1 export are not generally available as equivalent delivery options. Hardware encoding support also depends on the operating system and hardware.
Project Interchange
FilmCraft supports several formats for exchanging timelines with other editing and audio-production applications.
These include Final Cut Pro XML, FCPXML, OpenTimelineIO, CMX 3600 EDL, AAF, and OMF. Depending on the format, projects can transfer sequences, tracks, transitions, keyframes, markers, source timecode, and audio information.
This interoperability is particularly useful when collaborating with editors who use different applications. Nevertheless, complex projects should be tested after import because interchange formats and individual applications do not always represent every editing feature identically.
AI-Agent Automation
One of FilmCraft's most distinctive features is its command-oriented editing engine. The graphical interface, command-line tools, JSON control interface, and MCP server use the same underlying command system.
Compatible AI agents can execute editing commands, inspect project state, manipulate timeline elements, adjust effects, and initiate exports. The application also provides automation identifiers that allow tools to interact with its interface.
This makes FilmCraft interesting for developers experimenting with programmatic video editing and repeatable post-production workflows.
Download FilmCraft v0.7.2 - Software Mirrors |
|---|
FilmCraft v0.7.2 for Windowsfilmcraft-0.7.2-windows-x86.msi | 54.42 MB filmcraft-0.7.2-windows-x86-portable.zip | 66.13 MB filmcraft-0.7.2-windows-x64.msi | 54.37 MB filmcraft-0.7.2-windows-x64-portable.zip | 67.08 MB filmcraft-0.7.2-windows-arm64.msi | 51 MB filmcraft-0.7.2-windows-arm64-portable.zip | 64.05 MB |
FilmCraft v0.7.2 for macOSfilmcraft-cli-0.7.2-macos-universal.zip | 57.82 MB filmcraft-0.7.2-macos-universal.dmg | 69.88 MB |
FilmCraft v0.7.2 for Linuxfilmcraft-0.7.2-linux-x86_64.tar.gz | 66.21 MB filmcraft-0.7.2-linux-x86_64.rpm | 66.73 MB filmcraft-0.7.2-linux-x86_64.flatpak | 48.34 MB filmcraft-0.7.2-linux-x86_64.deb | 67.12 MB filmcraft-0.7.2-linux-x86_64.AppImage.zsync | 219.5 kB filmcraft-0.7.2-linux-x86_64.AppImage | 62.64 MB filmcraft-0.7.2-linux-riscv64.tar.gz | 64.93 MB filmcraft-0.7.2-linux-riscv64.rpm | 65.53 MB filmcraft-0.7.2-linux-riscv64.deb | 65.75 MB filmcraft-0.7.2-linux-aarch64.tar.gz | 63.44 MB filmcraft-0.7.2-linux-aarch64.rpm | 64.69 MB filmcraft-0.7.2-linux-aarch64.flatpak | 45.24 MB filmcraft-0.7.2-linux-aarch64.deb | 65.22 MB filmcraft-0.7.2-linux-aarch64.AppImage.zsync | 210.91 kB filmcraft-0.7.2-linux-aarch64.AppImage | 60.19 MB |
FilmCraft v0.7.2 for BSDfilmcraft-0.7.2-freebsd-x86_64.tar.gz | 65.58 MB |
Others Download related to FilmCraft v0.7.2filmcraft-web-0.7.2.zip | 12.56 MB |
FilmCraft v0.7.2 Source Code
FilmCraft v0.7.2 Source code (zip)
FilmCraft v0.7.2 Source code (tar.gz)
|
FilmCraft v0.7.2 Release Notes: What's Changed- Share docking transactions and preserve FilmCraft panel behavior by @skylartaylor in #881
- ci: refactor workflows to use storytold/craft-common-actions by @dylanmtaylor in #1051
- #853: Shift constrains pen mask segments to 45° steps by @vangel76 in #862
- Reveal in Finder for Project clips with a local path by @vbasky in #889
- fix(media): RF64 trailing metadata stays outside audio duration by @mjohnson7cd in #944
- Keep nested sequence markers in OTIO export by @vbasky in #947
- Export: correct loudness lost to peak limiting by @earlvanze in #952
- Keep New Sequence open when frame size is rejected by @vbasky in #974
- #980: VP9 decode loop-filters a frame as a superblock-row wavefront by @vangel76 in #995
- #790: Matroska AAC / MP3 / AC-3 trims the exact CodecDelay by @vangel76 in #792
- #923: reordered Matroska video without DefaultDuration keeps its frame rate by @JordyUSA in #986
- timeline: box selection updates live while dragging by @ReReddo in #1028
- Engine: list edge, params and reverse in the sequence.applyAudioTransition schema (#1100) by @MarekSpodBiedry in #1107
- Timeline: keep continuous thumbnails fixed while the view zooms (#1094) by @MarekSpodBiedry in #1108
- fix(effects): keep a setParam keyframe outside the clip at its time (#1055) by @itrycodinganditsbad in #1120
- dock: the mouse wheel over a tab strip switches tabs by @ReReddo in #1032
- Roll linked audio with the picture cut by @vbasky in #870
- #243: text fields keep unmodified keys so IMEs can compose by @opentechnepal in #888
- One undo for a Scale (and similar) mouse drag by @vbasky in #892
- Essential Graphics: an Install refused shows why on the status bar (#611) by @vbasky in #949
- fix(render): update Noise grain on every frame using exact timestamps by @Ni-zav in #956
- Timeline: a drag with Track Select Forward/Backward moves what it selects by @mktk1117 in #979
- fix: 値グラフからキーフレームの補間を選択 #962 by @haranishi in #1138
- tools: press and drag a grouped tool to open its flyout by @ReReddo in #1030
- meters: adapt to the panel's size; react while scrubbing by @ReReddo in #1031
- fix(render): 5.1 sources on a stereo track fold down instead of losing C and surrounds by @ossini in #1036
- Timeline: a press on the ruler moves the playhead at once (#1090) by @MarekSpodBiedry in #1109
- fix(cli): fail export/render that drew offline media unless --allow-offline (#1054) by @itrycodinganditsbad in #1121
- fix: パネルのフォーカス枠の欠けを修正 #1075 by @haranishi in #1144
- macOS: app menu follows the interface language (#1145) by @keller-lukas in #1151
- Keep recovery snapshots when session metadata is unreadable by @vbasky in #932
- monitors: about 10% of zoom per wheel notch, exactly reversible by @ReReddo in #1026
- Underline vertical graphic text by @vbasky in #1044
- Underline follows baseline shift on whole-style text by @vbasky in #1045
- Fix #1072: Text panel 'Import captions file…' button label invisible in light mode by @mjohnson7cd in #1084
- #1091: Home / End and other jumps scroll the Timeline to the playhead by @vangel76 in #1097
- fix: 再生停止後も音量メーターを更新 #1062 by @haranishi in #1133
- Hot-text number fields select the whole value when clicked (#1126) by @MarekSpodBiedry in #1166
- #867: Indonesian (id) interface translation by @vangel76 in #878
- #847: AV1 decode runs deblocking, CDEF and loop restoration in parallel row bands by @vangel76 in #886
- Refuse trim and timing edits on a locked track by @vbasky in #934
- Match Frame on a reversed clip uses moving source time by @vbasky in #973
- Fix Extract hard cutoffs and clipped caption font targets by @whatever-industries in #1047
- Clear used media as offline instead of stripping the timeline by @vbasky in #1050
- #820: fall back to DX12, then a software adapter, when the graphics start fails by @vangel76 in #827
- #844: on-monitor corner-roundness handle for masks by @vangel76 in #851
- #965: HDR and wide-gamut media play on the GPU path by @JordyUSA in #1017
- OS drops on an empty Timeline create a sequence by @vbasky in #833
- #841: import packed 10/12-bit and Y'CbCr DPX stills by @vangel76 in #842
- #840: restart an audio stream the device drops instead of playing silent by @vangel76 in #849
- Reject negative times on timeline.place and markers.add by @vbasky in #869
- LongGOP seek / time-to-first-frame, not the H.264 throughput gap by @vbasky in #876
- Import every MPEG audio stream, not only the first PID by @vbasky in #891
- MCP invalid --bridge exits 2 like other usage errors by @vbasky in #975
- #924: decoded H.264 / HEVC frames keep the signalled colour primaries by @JordyUSA in #988
- WIN: stabilize Windows verification prerequisites by @jahvari in #989
- Reject non-finite numbers and empty LUT input ranges in .cube import (#998) by @MarekSpodBiedry in #1012
- #1018: Scene Edit Detection in the timeline clip's right-click menu by @ossini in #1048
- fix: サブクリップ配置で親の音声を保持 #913 by @haranishi in #1099
- Escape cancels a drag in progress: drag-and-drop, value drags, color pickers and dialogs by @ReReddo in #608
- Export FCP7 XML markers on source media by @vbasky in #946
- #395: Arabic and Hebrew in the interface: fallback fonts, captions in reading order by @seif9116 in #1140
- Timeline: dragging a clip above the top track or below the last one adds a new track (#1104) by @MarekSpodBiedry in #1167
- fix(tts-text): preserve magnitude, fractions and leading zeros in narration by @Ni-zav in #954
- Move fade-out with a non-ripple Speed/Duration change by @vbasky in #969
- Refuse timeline.move when the source track is locked by @vbasky in #970
- Clamp Automate Cross Dissolve to the placed overlap by @vbasky in #976
- #922: eight-channel AAC reports and returns eight channels by @JordyUSA in #984
- Lumetri panel: truncate a long clip name in the header so the control rows stay in view (#997) by @MarekSpodBiedry in #1013
- settings: label colour presets (built-ins, import, export, delete) by @ReReddo in #1035
- fix(audio): シャトル再生で音程維持設定を反映 (#959) by @haranishi in #1146
- #831: cargo xtask parity measures effects and transitions (--area) by @vangel76 in #836
- #480: exports no longer stop for good when a clip's decoding uses rayon (rotated iPhone HEVC clips) by @MrCloudy2 in #846
- Opening Demo Project does not keep the previous save path by @vbasky in #933
- Import FCPXML one-frame markers as points by @vbasky in #945
- One undo for a multi-point Trim by Frames by @vbasky in #971
- Add OmaStore manifest by @KitsuneSemCalda in #513
- Paste cut clips even when old OS clipboard files linger by @vbasky in #839
- #835: workflow acceptance tests through the MCP server, checked by ffprobe by @vangel76 in #843
- #854: GIF frame delays add up to the sequence duration by @vangel76 in #872
- monitors: show the unreadable slate for persistently failing (damaged) media by @FredApps in #885
- Clear Close Sequence also clears File Close (Cmd+W) by @vbasky in #832
- fix(export): estimate TIFF sequence size using the actual channel count by @Ni-zav in #957
- #928: the schema reports Restore open sequences as wired by @JordyUSA in #992
- Count VideoToolbox sessions, frames and declined requests in perf.stats (#981) by @MarekSpodBiedry in #1014
- Keep the voice-over start point when recording past the end of the timeline (#960) by @MarekSpodBiedry in #1015
- timeline: drag the outer track edges to resize by @ReReddo in #1027
- docs: German in the localization parity table (follow-up to #630) by @keller-lukas in #1073
- #371: split stereo halves from FCP7 XML play on their own side by @carlitosteso3 in #1085
- fix: ハイフン区切り数字の先頭ゼロを保持 #910 by @haranishi in #1105
- Text editing on the Program monitor: double-click and Ctrl/Cmd+A select all the text (#1102) by @MarekSpodBiedry in #1106
- Export: unknown keys in
settings are an error, not ignored by @japbcoelho in #1113 - fix(captions): apply body and div timing to TTML paragraphs (#895) by @itrycodinganditsbad in #1119
- fix(playback): rest Program marked playback on the Out frame by @Ni-zav in #955
- Export: FLAC (clean-room encoder; .flac files and FLAC audio in MP4/MOV) by @JordyUSA in #613
- #598: import AVI files (clean-room AVI / OpenDML demuxer) by @JordyUSA in #650
- program monitor, effect controls: on-screen transform handles for Motion and Transform by @ReReddo in #667
- #809: own MPEG audio Layer I / II decoder plays MP2 at ffmpeg's default bit rates by @vangel76 in #819
- #1039: faster HEVC motion compensation and deblocking, bit-exact (−10…28% cycles per frame) by @vangel76 in #1053
- #432: VP8 video decodes (clean-room pure-Rust VP8 decoder), so VP8 WebM no longer shows black by @MrCloudy2 in #1064
- Type text committed by an input method into text layers on the monitor (#1083) by @MarekSpodBiedry in #1110
- monitors: a zoom bar for the time ruler, larger transport buttons by @ReReddo in #1025
- #859: complete the Brazilian Portuguese (pt-br) interface translation by @vangel76 in #866
- Project panel: dragging one of several selected items places them all, back to back, in one undo step by @aw4e in #746
- number fields: type a calculation and get its result by @ReReddo in #845
- i18n: complete and polish the Japanese catalog by @FacedFour1207 in #991
- fix: マーカーの色変更と範囲帯の右クリックを修正 (#1143) by @haranishi in #1161
- #786: right-click Label menus show the label colours by @vangel76 in #873
- #1092: Project panel Shift-click selects the range from the anchor by @vangel76 in #1095
- Show audio effects in Effect Controls on linked A/V clips by @vbasky in #834
- #857: reject unknown marker colour names instead of storing Green by @vangel76 in #864
- Linked Rate Stretch keeps one speed when a neighbour limits a partner by @vbasky in #972
- Source marks honour frame, seconds and timecode by @vbasky in #1043
- #850: launch files open whatever the extension's case, with absolute paths by @vangel76 in #858
- #260: file dialogs on Linux no longer stop the app (GNOME "not responding") by @MrCloudy2 in #604
- export: type the file name and pick the location in Quick Export by @ReReddo in #1033
- fix(menus): native menu follows command enablement (#902) by @itrycodinganditsbad in #1129
- #402: animated GIF and APNG import as clips, with transparency by @liangforstudy in #931
- #1065: CinemaDNG / DNG import with a clean-room decoder by @vangel76 in #1068
- #874: compressed (RLE / ZIPS / ZIP) OpenEXR export by @vangel76 in #879
- fix(timeline): snap sub-frame timeline.place to the frame grid; inspect counts export's frames (#1101) by @itrycodinganditsbad in #1139
- fix: エフェクトコントロールの矩形選択とShiftスナップを修正 (#967) by @haranishi in #1159
- #828: import OpenEXR stills and image sequences by @vangel76 in #837
- Median Radius is not capped at four working pixels by @vbasky in #1046
- M7: optimize audio DSP and isolate the unchanged mixer throughput gate by @earlvanze in #865
- Trim MP3 encoder delay when decoding audio files (#1137) by @MarekSpodBiedry in #1165
- fix(ui): add Korean font fallback for UI text by @mjohnson7cd in #964
- UI: favorite themes and appearance shortcuts by @luniiya in #1070
- #1039: 8-bit HEVC pictures as u8, in-place motion compensation (−14…23 % per frame), big-picture analysis by @vangel76 in #1067
- Linux: VA-API EncSlice probe and bounded export GPU wait (#1058) by @vbasky in #1063
- timeline: cancel drag and restore playhead on Escape (#580) by @Auipp in #1052
- dialogs: drag them by the title bar (open centred, no longer anchored) by @liangforstudy in #1217
- fix: Close Gapをショートカットに割り当てられるようにする by @haranishi in #1168
- ui: reduce sequence copying and cache transcript redraw data by @OorjitSethi in #1193
- #1124: ⌘D / ⇧⌘D apply transitions to the selected clips or edit points by @n-delic in #1198
- Release workflow: pass the Azure signing secrets by @echelon in #1169
New Contributors- @skylartaylor made their first contribution in #881
- @earlvanze made their first contribution in #952
- @itrycodinganditsbad made their first contribution in #1120
- @opentechnepal made their first contribution in #888
- @mktk1117 made their first contribution in #979
- @whatever-industries made their first contribution in #1047
- @jahvari made their first contribution in #989
- @seif9116 made their first contribution in #1140
- @KitsuneSemCalda made their first contribution in #513
- @FredApps made their first contribution in #885
- @japbcoelho made their first contribution in #1113
- @aw4e made their first contribution in #746
- @FacedFour1207 made their first contribution in #991
- @Auipp made their first contribution in #1052
- @OorjitSethi made their first contribution in #1193
- @n-delic made their first contribution in #1198
Full Changelog: v0.6.0...v0.7.2 |
Performance and Compatibility
FilmCraft is written in Rust and uses a modular architecture that separates its editing engine from the graphical interface. The project emphasizes frame-accurate timing, background rendering, codec testing, and GPU compositing.
Native applications are available for Windows, macOS, and Linux. A WebAssembly build also allows the application to run in a browser.
Despite these strengths, FilmCraft is not yet a complete replacement for Premiere Pro. The developers identify performance with large footage, incomplete hardware acceleration on Linux, limited plugin support, and real-world media compatibility as areas that still need work.
The project's automated codec tests are useful evidence of implementation progress, but they do not establish compatibility with every camera, phone, or professional media workflow.
System Requirements
Operating systems: Windows, macOS, and Linux.
Browser support: A WebAssembly version is available.
Linux architectures: x86-64 and ARM64 packages are available.
Development requirements: Rust and the project's documented dependencies are required to build from source.
Hardware acceleration: Availability depends on the operating system, graphics hardware, and the specific decoding or encoding task.
The project does not provide a comprehensive minimum hardware specification in the information reviewed. Users working with high-resolution footage should test performance on their own systems before adopting FilmCraft for demanding projects.
Pros and Cons
Pros
Free and open-source under the MIT or Apache 2.0 license.
Native applications for Windows, macOS, and Linux.
Multitrack editing, trimming, keyframes, transitions, and color grading.
Built-in title, graphics, and caption tools.
Broad codec and media interchange support.
Background rendering with cached previews.
Command-line and MCP support for AI-assisted editing.
Rust-based implementation without bundling FFmpeg as its processing engine.
No mandatory commercial subscription.
Cons
Still under active development and not yet ready to replace Premiere Pro in every production workflow.
Performance with large projects and demanding footage needs further validation.
No VST3 or Audio Units plugin hosting.
HEVC and AV1 export are not available as general delivery-codec options.
Hardware acceleration varies by operating system and task.
Compatibility with real-world camera and phone footage requires further testing.
Some effects and transitions are approximations rather than exact equivalents of Premiere Pro features.
How to Install
The easiest option is to download the appropriate package from the project's GitHub Releases page. Available packages include Linux AppImage, DEB, and RPM files, a universal macOS disk image, and a portable Windows archive.
To build and run FilmCraft from source, install Rust and the required development tools, then execute:
git clone https://github.com/storytold/filmcraft
cd filmcraft
cargo run --release -p filmcraft
To start the application with its JSON control server, run:
cargo run --release -p filmcraft -- --control 9876
To list the available editing commands:
cargo run --release -p filmcraft-cli -- commands
To launch the headless MCP server:
cargo run --release -p filmcraft-cli -- mcp
Consult the official documentation for detailed build dependencies, automation configuration, and platform-specific instructions.
Final Verdict
FilmCraft is an ambitious open-source video editor that combines professional-style timeline editing, color correction, audio tools, captions, codec support, and project interchange in a single Rust-based application. Its command-oriented architecture and MCP integration are particularly interesting for developers who want to automate video editing with scripts or AI agents.
Its broad feature set makes it worth exploring, especially for users who want a free alternative to commercial video editors. However, the number of implemented features should not be confused with production readiness. Plugin compatibility, performance with demanding footage, hardware acceleration, and support for real-world media remain important considerations.
FilmCraft is best suited to experimentation, development, and projects that can tolerate an evolving editing environment. Professionals who rely on mature plugin ecosystems and predictable performance should continue using their established editor until FilmCraft has been tested against their specific workflows.