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.6.0 - Software Mirrors |
|---|
FilmCraft v0.6.0 for Windowsfilmcraft-0.6.0-windows-x86.msi | 53.23 MB filmcraft-0.6.0-windows-x86-portable.zip | 64.52 MB filmcraft-0.6.0-windows-x64.msi | 53.16 MB filmcraft-0.6.0-windows-x64-portable.zip | 65.41 MB filmcraft-0.6.0-windows-arm64.msi | 49.94 MB filmcraft-0.6.0-windows-arm64-portable.zip | 62.53 MB |
FilmCraft v0.6.0 for macOSfilmcraft-cli-0.6.0-macos-universal.zip | 56.72 MB filmcraft-0.6.0-macos-universal.dmg | 67.99 MB |
FilmCraft v0.6.0 for Linuxfilmcraft-0.6.0-linux-x86_64.tar.gz | 64.65 MB filmcraft-0.6.0-linux-x86_64.rpm | 65.15 MB filmcraft-0.6.0-linux-x86_64.flatpak | 47.36 MB filmcraft-0.6.0-linux-x86_64.deb | 65.53 MB filmcraft-0.6.0-linux-x86_64.AppImage.zsync | 214.48 kB filmcraft-0.6.0-linux-x86_64.AppImage | 61.21 MB filmcraft-0.6.0-linux-riscv64.tar.gz | 63.53 MB filmcraft-0.6.0-linux-aarch64.tar.gz | 62.08 MB filmcraft-0.6.0-linux-aarch64.rpm | 63.26 MB filmcraft-0.6.0-linux-aarch64.flatpak | 44.4 MB filmcraft-0.6.0-linux-aarch64.deb | 63.76 MB filmcraft-0.6.0-linux-aarch64.AppImage.zsync | 206.54 kB filmcraft-0.6.0-linux-aarch64.AppImage | 58.94 MB |
FilmCraft v0.6.0 for BSDfilmcraft-0.6.0-freebsd-x86_64.tar.gz | 64.03 MB |
Others Download related to FilmCraft v0.6.0filmcraft-web-0.6.0.zip | 14.89 MB |
FilmCraft v0.6.0 Source Code
FilmCraft v0.6.0 Source code (zip)
FilmCraft v0.6.0 Source code (tar.gz)
|
FilmCraft v0.6.0 Release Notes: What's Changed- CLI: a closed stderr no longer panics with exit 101 (#537) by @MarekSpodBiedry in #567
- CLI export: forward a lone --start or --end so the engine reports the missing bound (#538) by @MarekSpodBiedry in #568
- Roll: reversed clips take the cut from the opposite source end (#526) by @MarekSpodBiedry in #558
- fix(edit): reversed trims use the media handle their playback direction consumes (#527) by @MarekSpodBiedry in #559
- Trim: extend each selected edit point to the playhead by its own distance (#528) by @MarekSpodBiedry in #560
- Linked slip: clamp to one shared delta so picture and sound stay aligned (#529) by @MarekSpodBiedry in #561
- Frame-held Regular In trim stops at the previous clip instead of overlapping it (#530) by @MarekSpodBiedry in #562
- Export settings: accept camelCase for nested snake_case fields (#531) by @MarekSpodBiedry in #563
- Queue move: saturate a huge relative offset instead of overflowing (#532) by @MarekSpodBiedry in #564
- Forced relink and Replace Footage keep the new file's properties (#534) by @MarekSpodBiedry in #565
- Project Manager: keep every parent of a nested subclip when collecting (#535) by @MarekSpodBiedry in #566
- Parametric Equalizer: use the full EQ so master gain, bands 1/2/4/5 and pass filters reach the audio (#540) by @MarekSpodBiedry in #570
- Audio Gain: measure the peak of the audio stream each clip plays (#541) by @MarekSpodBiedry in #571
- masks.addVertex: clamp oversized index on animated paths, reject empty paths instead of panicking (#543) by @MarekSpodBiedry in #572
- MCC export: end each ancillary packet with its checksum byte so FFmpeg reads the captions (#544) by @MarekSpodBiedry in #573
- Text panel: word navigation ignores a selection the transcript no longer has (#546) by @MarekSpodBiedry in #574
- Slide: keep reversed neighbours' source ranges correct (#548) by @MarekSpodBiedry in #575
- #323: AAF files open in readers that load the meta-dictionary by @txiki739 in #419
- Keep selected audio streams distinct in AAF/OMF exports by @sanyamsingh001 in #467
- interchange: fix file:// URLs for Windows verbatim paths (FCP7 XML media offline in Premiere) by @digitaldecaycreations-lgtm in #497
- Export sequence markers to a spreadsheet-safe CSV by @vbasky in #454
- #447: HybridDecoder fallback replay goes on past samples the software decoder rejects by @MrCloudy2 in #453
- fix(export): Selection as Project exports a selected bin's contents (#536) by @maxm11 in #557
- Issue #545: captions.list with a track that names no caption track is an error by @LloydNicholson in #556
- MCP render_frame: max_side 0 means no limit (#459) by @MarekSpodBiedry in #464
- Keep frame navigation precise and time arithmetic bounded by @sanyamsingh001 in #494
- #219: right-clicking a cut opens the edit point menu by @MrCloudy2 in #257
- Audio plays while scrubbing (#211) by @carlitosteso3 in #275
- Audio of video clips: volume in Effect Controls + draggable volume line (#223) by @ossini in #472
- Preview transition placement while dragging onto timeline clips (#482) by @DWAA1660 in #487
- timeline, monitors: drag the current-time timecode to scrub, click to type a time by @ReReddo in #576
- #484: Enable flips each selected clip on its own by @liangforstudy in #511
- Fill graphic shapes and text with a linear gradient by @vbasky in #514
- ui: add an eyedropper to colour parameters (Ultra Key, Color Key...) by @Guilhermeb-Ferrarezi in #518
- graphics: shape commands document
seconds / track / time, and placement errors name the command that asked by @maccagnit in #521 - Project files: each sequence reopens with its playhead where it was left by @liangforstudy in #506
- Implement scrollable areas for media dialog by @chuygarcia92 in #516
- i18n: the tl! source scan in tests passes on CRLF checkouts by @ReReddo in #488
- Text panel: tab widths follow the drawn label (Japanese tabs overlapped) by @haranishi in #450
- i18n: Japanese for the whole interface by @haranishi in #449
- Fix Light theme inconsistencies by @adurr21 in #555
- #474: VA-API decoders share one display (no 0.3 s open / 70 ms close per decoder on NVIDIA) by @MrCloudy2 in #475
- M-HW: NVENC takes the export's RGBA and converts it on the GPU (#30) by @MasakatsuFunaki in #486
- Issue #552: MP4 and Matroska colour from the bitstream when the container has none by @LloydNicholson in #446
- #346: the from-source Flatpak includes the CLI and MCP server by @txiki739 in #420
- chore: bump github actions to fix Node 20 deprecation warnings by @dylanmtaylor in #501
- docs: register the MCP server from an installed release by @sawizzle in #504
- Windows: skip AV1 oracle tests when ffmpeg lacks libsvtav1/libdav1d by @Tom1tk in #427
- CLI render: report the real reason for an invalid scale instead of no sequence (#539) by @MarekSpodBiedry in #569
- appearance: View > Appearance names the middle theme "Dark", as Settings does by @ReReddo in #489
- i18n: add Ukrainian (uk) interface translation by @dmatviichuk in #407
- #288: MP4 / MOV pictures are cropped as the file says (H.264 / HEVC cropping, clean aperture) by @MrCloudy2 in #492
- Issue #551: Anamorphic media: honour pixel aspect ratio in placement, monitors and New Sequence From Clip by @LloydNicholson in #445
- Linux: NVDEC hardware decoding for H.264 and HEVC by @SilentYeti in #549
- Add Simplified Chinese (zh) translation by @hadmark in #550
- Standardise system appearance modes and FilmCraft theme previews by @luniiya in #505
- FCP7 XML: keep the source channel of split mono audio tracks (#463) by @MarekSpodBiedry in #465
- fix(mcp): media_import schema mirrors file.import (#499) by @mjohnson7cd in #509
- Start scalar graph drags at the pointer press position by @sanyamsingh001 in #470
- Essential Graphics: Make a property drag one undo step by @gyroninja in #522
- clip.link: pair video clips with overlapping audio clips (#507) by @Hathor875 in #515
- effects.setParam: choices by name, a
keyframe option, and the keyframe count in the result by @maccagnit in #520 - #430, #224: select, edit, delete and resize transitions by @swillunderscore in #503
- project: share sequences across edit snapshots by @David-T-Campos in #434
- [feat] files dropped onto the Timeline are placed there, not just imported. Supports preview too by @mitchmckinstry in #517
- #262: file dialogs list extensions in any capitalisation on Linux by @txiki739 in #390
- cli: make --help print usage successfully by @jnohclee-rgb in #357
- WINCI: Repair HEVC timing and CRLF translation validation by @cshapiro in #442
- Playback: fall back to a working output device when the ALSA default cannot be opened by @ahmedhosnypro in #254
- linux: install a dev desktop entry so the taskbar shows the app icon by @ahmedhosnypro in #246
- Text to Speech narrations: panel, natural voices (Kokoro-82M in pure Rust), click-to-edit by @mutombopr in #278
- GPU export rendering (on by default) and Vignette, Video Limiter, Lumetri Color on the GPU compositor by @mutombopr in #421
- Progress docs per the craftrules standard; re-measure against Premiere Pro 26.5.2 by @echelon in #700
- Hardening: an AAF weak-reference collection with a zero key size can't exhaust memory by @haranishi in #584
- CFB: bound the DIFAT and FAT chain walks by the file's own size by @haranishi in #585
- fix(i18n): prefer Japanese system glyphs over Chinese fallback (#547) by @Ni-zav in #589
- Keyboard slip: clamp linked clips by one shared delta (#529) by @MarekSpodBiedry in #594
- Reject unknown mcp options instead of silently ignoring them (#476) by @MarekSpodBiedry in #595
- Audio Clip Mixer: click the dB readout to type a volume (#481) by @MarekSpodBiedry in #596
- #402: WebM transparency (VP9 alpha in BlockAdditions) by @liangforstudy in #597
- Trim Monitor: Make trim drags no longer deadlock by @gyroninja in #599
- Export: CRF (constant quality) for H.264 by @JordyUSA in #600
- Export: never crash on WAV/AIFF over 4 GiB; stream PCM to disk by @JordyUSA in #606
- project panel: drag in empty space to marquee-select, in List, Icon and Freeform views by @ReReddo in #607
- timeline, project panel: paste images and copied files from the system clipboard by @ReReddo in #615
- Let a bin be cleared from its context menu, the trash button, the panel menu and Delete (#587) by @MarekSpodBiedry in #622
- Space out browser downloads so image-sequence exports are not dropped (#378) by @MarekSpodBiedry in #624
- ui: reject software rasterizers for GPU compositing and say so by @4papuce in #633
- MP4: read the start timecode from a Sony rtmd track when there is no tmcd by @maxm11 in #644
- perf(export): index the bin tree once in closure() (#536 follow-up) by @maxm11 in #646
- #456: Select All in the Project panel takes only the shown bin by @vangel76 in #652
- #412: select a single keyframe in Effect Controls by @vangel76 in #656
- #480: exports no longer stop for good when a clip's decoding uses rayon (rotated iPhone HEVC clips) by @MrCloudy2 in #662
- #461: interchange import links media through the streaming reader by @vangel76 in #664
- #333: Fade In and Fade Out presets add up on one clip by @vangel76 in #665
- #457: Settings > Appearance > UI Scale by @vangel76 in #672
- platform: look up kVTCompressionPropertyKey_ConstantBitRate at run time by @abdelkabirouadoukou in #673
- Pass Hard Limiter look-ahead into the DSP limiter by @vbasky in #674
- Apply Ultra Key Setting as a parameter preset by @vbasky in #675
- Add file.import replace mode for empty-project round-trips by @vbasky in #676
- Apply Transform shutter angle when the override is on by @vbasky in #679
- #239: Position keyframes get the value and velocity graphs by @vangel76 in #684
- Preserve individual linked-clip selections when deleting media by @vbasky in #685
- Keep Link Media actions accessible for large lists and long paths by @vbasky in #686
- fix(monitor): make Button Editor customize transport controls by @Ni-zav in #688
- feat(timeline): rename video and audio tracks from their headers by @Ni-zav in #689
- #680: Shift+Delete ripple deletes with the Timeline focused by @vangel76 in #690
- #279: WAV opens in place and reads only the samples asked for by @vangel76 in #691
- #659: macOS app may use the microphone for voice-over by @vangel76 in #692
- #67: media files share a bounded pool of open descriptors by @vangel76 in #693
- #614: Head, Head and Tail and Continuous video thumbnails in the Timeline by @vangel76 in #698
- timeline, text editing, program monitor: clicking empty space deselects by @ReReddo in #699
- #313: J/K/L shuttle the Source monitor both ways at up to 8x by @vangel76 in #701
- #411: importing a folder keeps its structure as bins by @vangel76 in #702
- timeline: lines between the tracks, a short playhead head by @ReReddo in #703
- fix(captions): reject overflowing TTML times and round extreme clocks safely by @Ni-zav in #705
- fix(captions): preserve literal angle brackets in EBU STL export by @Ni-zav in #706
- Captions: render the track font and add a font picker by @impostazioni in #708
- settings: the hex colour field takes typing by @ReReddo in #722
- Captions: delete caption tracks from the timeline and Delete Tracks dialog by @impostazioni in #723
- fix(tts-text): preserve amounts and numeric units in narration by @Ni-zav in #725
- fix(edl): retain named audio crossfades when importing EDL by @Ni-zav in #726
- #709: --gpu-rendering takes a space-separated value by @vangel76 in #730
- #714: an MP4 without an edit list starts at its first picture by @vangel76 in #732
- #721: 5.1 AAC imports decode in WAV/SMPTE channel order by @vangel76 in #733
- graphics: shape handles change the shape's Size, Shift keeps the ratio by @ReReddo in #737
- Fix silent WAV sample-rate substitution by @vbasky in #658
- fix(settings): mark inactive Timeline focus preference as unwired by @Ni-zav in #727
- #710: --version works after global options by @vangel76 in #735
- #591: named clips that cannot stand in for a selection say why by @vangel76 in #651
- #642: open Help/About links in the system browser on the desktop by @vangel76 in #657
- #653: a dragged trim edge stops at the end of the media by @vangel76 in #663
- #284: reset buttons keep keyframes; a reset button on every property by @vangel76 in #671
- effect controls: row lines, a draggable divider, scrolling anywhere, larger keyframes by @ReReddo in #681
- HW5: AV1 sequence headers compare by picture format, so SVT-AV1 files stay on hardware by @mutombopr in #738
- #712: keyboard Slide keeps linked picture and sound aligned at a neighbour limit by @vangel76 in #740
- #695: Timeline markers can be picked and cleared by @vangel76 in #741
- appearance: the Highlight Color drives the playhead, timecodes and focus by @ReReddo in #743
- #715: a Matroska remux that keeps its timestamps starts at its first picture by @vangel76 in #745
- #719: positive Roundness rounds the Lumetri vignette by @vangel76 in #747
- #456: a new bin asks for its name by @vangel76 in #749
- #620: Project Notes panel, saved in the project by @vangel76 in #750
- #456: a bin can be dragged into another bin and back out by @vangel76 in #751
- #227: Lumetri presets can be dragged onto a Timeline clip by @vangel76 in #753
- #483: media dropped past the last track goes on a new track by @vangel76 in #754
- #227: transitions travel with the clips they sit on when moved by @vangel76 in #755
- Project panel: double-click anywhere empty in Icon view opens Import by @JordyUSA in #636
- #374: trim preview keeps the waveform in place instead of squeezing it by @JordyUSA in #627
- Treat media extensions as case-insensitive on import by @vbasky in #677
- #342: ProRes 4444 and 4444 XQ export, with alpha by @vangel76 in #682
- #648, #668: select a gap in the Timeline and close it with Delete (Ripple Delete) by @ossini in #704
- i18n: add German (de) interface translation by @keller-lukas in #630
- feat: Add Russian (ru) localization by @ivandrozdov1505-coder in #610
- #374: a clip's fades follow its edges on a regular trim by @vangel76 in #756
- #228: Export Frame reports a frame still loading instead of saving it blank by @vangel76 in #757
- #266: quitting with unsaved changes asks to save first by @vangel76 in #758
- #284: panel menu Maximize Frame can be restored; an empty dock reopens panels by @vangel76 in #759
- GPU export: a frame planned as one CPU image skips the renderer pool (Auto was slower than Off) by @maccagnit in #760
- GPU export: a CLI built on its own exports on the CPU instead of failing by @maccagnit in #761
- #626: undecodable video shows the MEDIA UNREADABLE slate, not black by @vangel76 in #762
- #313: the Source monitor remembers its clips; Close and Close All by @vangel76 in #763
- program monitor: drag a rectangle's corners round with on-canvas corner handles by @ReReddo in #765
- #313: double-clicking a Timeline clip opens it in the Source monitor by @vangel76 in #767
- codecs: an open GOP's leading pictures decode from the GOP before, not as black frames by @alex-brazh in #772
- Media: Automatically refresh growing files works (and catches re-renders) by @KattKnight in #625
- HW6: AV1 export format, enabled where a hardware encoder registers one by @mutombopr in #739
- text: the CJK system-font search no longer keeps every probed font file in memory (#769) by @MarekSpodBiedry in #777
- Timeline: draw each audio track's own waveform, not track 1's (#770) by @MarekSpodBiedry in #778
- Linux: H.265 export through NVENC by @SilentYeti in #783
- #781: cargo xtask parity measures menu coverage by @vangel76 in #782
- #424: Render In to Out renders only the frames between In and Out by @vangel76 in #784
- #647: decode E-AC-3 (Dolby Digital Plus) audio by @vangel76 in #788
- #779: export JPEG, Targa and DPX image sequences by @vangel76 in #791
- #780: Optical Flow time interpolation synthesises motion-compensated frames by @vangel76 in #789
- Timeline: Option-drag copies clips instead of moving them by @impostazioni in #794
- #577: Effect Controls shows a selected transition's own timeline by @vangel76 in #795
- fix(menus): show configured label colors in Edit menu by @Ni-zav in #802
- fix(playback): keep audio during forward shuttle speeds (#771) by @Ni-zav in #803
- #498: French (fr) interface translation by @vangel76 in #804
- #800: MP2 audio in MP4 and MOV decodes instead of playing silent by @vangel76 in #808
- #805: Morph Cut morphs along optical flow instead of cross-dissolving by @vangel76 in #811
- #806: export OpenEXR image sequences by @vangel76 in #812
- Clear leftover item selection when making a new bin by @vbasky in #815
- monitors: the wheel zooms about the pointer, the middle button pans by @ReReddo in #824
- #813: masks round their corners (rounded rectangle masks) by @vangel76 in #818
- #821: import Targa and DPX stills and image sequences by @vangel76 in #826
- #814: AAC Audio export (audio-only .m4a, or ADTS .aac) by @vangel76 in #825
- Release prep: 0.6.0 and a Linux riscv64 release build by @echelon in #830
New Contributors- @digitaldecaycreations-lgtm made their first contribution in #497
- @vbasky made their first contribution in #454
- @maxm11 made their first contribution in #557
- @LloydNicholson made their first contribution in #556
- @ossini made their first contribution in #472
- @ReReddo made their first contribution in #576
- @liangforstudy made their first contribution in #511
- @Guilhermeb-Ferrarezi made their first contribution in #518
- @maccagnit made their first contribution in #521
- @chuygarcia92 made their first contribution in #516
- @haranishi made their first contribution in #450
- @adurr21 made their first contribution in #555
- @MasakatsuFunaki made their first contribution in #486
- @dylanmtaylor made their first contribution in #501
- @sawizzle made their first contribution in #504
- @dmatviichuk made their first contribution in #407
- @SilentYeti made their first contribution in #549
- @hadmark made their first contribution in #550
- @luniiya made their first contribution in #505
- @gyroninja made their first contribution in #522
- @Hathor875 made their first contribution in #515
- @David-T-Campos made their first contribution in #434
- @mitchmckinstry made their first contribution in #517
- @jnohclee-rgb made their first contribution in #357
- @ahmedhosnypro made their first contribution in #254
- @mutombopr made their first contribution in #278
- @Ni-zav made their first contribution in #589
- @4papuce made their first contribution in #633
- @vangel76 made their first contribution in #652
- @abdelkabirouadoukou made their first contribution in #673
- @impostazioni made their first contribution in #708
- @keller-lukas made their first contribution in #630
- @ivandrozdov1505-coder made their first contribution in #610
- @alex-brazh made their first contribution in #772
- @KattKnight made their first contribution in #625
Full Changelog: v0.5.0...v0.6.0 |
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.