A lightweight, native, Electron-free non-linear video editor for Linux written in Rust.
English • Türkçe • Shortcuts • Architecture • Website
triM. is a modern, blazing-fast, and native non-linear video editor (NLE) built from the ground up in Rust specifically for Linux desktop environments.
Engineered with a modular Cargo workspace architecture, triM. delivers precision video cutting, multi-track audio mixing, real-time color grading, and FFmpeg filtergraph exporting — completely free of Electron bloat or web runtime overhead. The compiled release binary is a self-contained, lightning-fast native Linux application (~19 MB).
- 100% Rust & Native Desktop: Zero Electron, zero Python dependencies. Instant startup and deterministic memory safety.
- Asynchronous Video Pipeline: Multi-threaded
PlaybackStreamer(235+ FPS continuous rawvideo decoding pipe) and non-blockingAsyncFrameDecoderfor stutter-free timeline scrubbing. - Multi-Track Timeline: Dynamic layered video (
V1..Vn) and audio (A1..An) tracks with cross-track dragging, vertical track resizing, razor split (S), ripple trim (Q/W), ripple delete (Shift+Delete), and magnetic snapping. - Dedicated NLE Vector Toolbar: Native subpixel vector-drawn tools (
VSelect,ATrack Select,BRipple,CRazor,YSlip,PPen,HHand,TText). - Multi-Channel Audio Mixer: Live master fader, per-track dB sliders, stereo RMS/Peak VU meters, Mute/Solo, and instant audio separation ("Detach Audio").
- Export Studio: Multi-threaded FFmpeg rendering with presets for YouTube 1080p, 4K UHD, Reels/Shorts (9:16 Vertical), HEVC/H.265, and Apple ProRes 422.
- Keyframing & Color Grading: Interpolation curves (Linear, Hold, Smoothstep Ease-In-Out) across clip position, scale, opacity, rotation, brightness, contrast, and saturation.
- Direct CLI & Welcome Launcher: Launch directly from terminal (
trim video.mp4) or use the startup launcher with resolution presets and recent project history. - Backward Compatible: Native support for both
.trimand legacy.cutlineproject files with automatic crash recovery snapshots.
Prebuilt packages for the native Rust edition are published with each new tagged release:
- Debian / Ubuntu / Linux Mint:
trim_<version>_amd64.deb - Fedora / RPM-based distros:
trim-<version>-1.x86_64.rpm - Other x86_64 Linux distributions:
triM-<version>-x86_64.AppImage
Get the latest builds from GitHub Releases. Install and run the trim desktop application. FFmpeg must be available on your system for media processing and exports; the AppImage bundles compatible libraries where possible but does not bundle FFmpeg. Package compatibility should be verified on your particular distribution.
The source of truth for the Rust version is [workspace.package].version in Cargo.toml. After updating that value and committing the changes, create and push the matching tag:
git tag v0.3.1 # Example only: Cargo.toml must say 0.3.1
git push origin master
git push origin v0.3.1The Linux release workflow tests the Rust workspace, builds Debian and AppImage packages on Ubuntu and an RPM on Fedora, then publishes all three files with SHA-256 checksums to the matching GitHub Release. On changes to the packaging script or workflow, the same builds can run on master as CI artifacts without publishing a release. No manual packaging or uploading is needed. All packages are 100% native Rust executables.
Install triM. on any Linux desktop with a single command (installs binary to ~/.local/bin/trim, integrates high-res desktop icons and system application menu):
curl -fsSL https://raw.githubusercontent.com/MOzcelik14/triM/master/install.sh | bashTo cleanly uninstall at any time:
curl -fsSL https://raw.githubusercontent.com/MOzcelik14/triM/master/install.sh | bash -s -- --uninstallEnsure you have Rust and the required development libraries installed:
# Debian / Ubuntu / Linux Mint
sudo apt update
sudo apt install build-essential pkg-config libasound2-dev libx11-dev libgl1-mesa-dev ffmpeg
# Fedora
sudo dnf install gcc pkgconf-pkg-config alsa-lib-devel libX11-devel mesa-libGL-devel ffmpeg
# Arch Linux
sudo pacman -S base-devel alsa-lib libx11 mesa ffmpeggit clone https://github.com/MOzcelik14/triM.git
cd triM
cargo build --releaseThe optimized native binary is produced at ./target/release/trim.
# Launch editor
./target/release/trim
# Launch with a video or project directly
./target/release/trim /path/to/video.mp4
./target/release/trim /path/to/project.trimtriM., Linux masaüstü ortamları için özel olarak Rust ile sıfırdan yeniden geliştirilmiş, modern, ultra hızlı ve hafif bir yerel video düzenleyicidir (NLE).
Modüler Cargo çalışma alanı mimarisi üzerine kurulan triM.; hassas video kesme, çok kanallı ses miksajı, gerçek zamanlı renk derecelendirme ve FFmpeg filtre dışa aktarımı sunar. Electron yükü ve web motoru bağımlılıkları içermez; yaklaşık 19 MB boyutunda bağımsız, optimize bir yerel ikili dosyadır.
- %100 Rust ve Yerel Masaüstü: Sıfır Electron yükü, sıfır Python bağımlılığı. Anında açılış ve kararlı bellek yönetimi.
- Yüksek Hızlı Asenkron Video Motoru:
PlaybackStreamer(arka planda 235+ FPS sürekli rawvideo borusu) veAsyncFrameDecoder(sarma sırasında kilitlenmeyen oynatma kafası). - Dinamik Çok Kanallı Zaman Çizgisi: Kanallar arası serbest dikey klip taşıma, dikey kanal boyu ayarlama,
[+ Video]/[+ Ses]ekleme, çizgiden kesme (S), başı kırpıp kaydırma (Q), sonu kırpıp kaydırma (W), boşluğu kapatarak silme (Shift+Delete) ve manyetik yapışma. - Özel NLE Vektörel Araç Çubuğu: Yerel piksel altı vektörlerle çizilen 8 profesyonel kurgu aracı (
VSeçim,Aİz Seçme,BDalgalanma,CJilet/Kesme,YKaydırma,PKalem/Anahtar Kare,HEl/Gezinme,TMetin). - Çok Kanallı Ses Mikseri Konsolu: Canlı Master fader, kanal bazlı dB sürgüleri, stereo tepe/RMS VU metreler, Mute/Solo ve tek tıkla ses ayırma ("Sesi Ayır").
- Gelişmiş Dışa Aktarma Stüdyosu: YouTube 1080p, 4K UHD, Reels/Shorts 9:16 Dikey, HEVC H.265 ve Apple ProRes 422 hazır profilleri ile anlık tahmini boyut hesabı.
- Anahtar Kare & Renk Düzenleme: Konum, ölçek, opaklık, döndürme, parlaklık, kontrast ve doygunluk üzerinde anahtar kare enterpolasyonu (Doğrusal, Sabit, Ease-In-Out eğrisi).
- Hızlı Başlangıç & Karşılama Ekranı: Çözünürlük şablonları, son kullanılan projeler ve terminalden doğrudan dosya açabilme (
trim video.mp4). - Geriye Dönük Uyumluluk:
.trimve eski.cutlineJSON proje dosyalarını otomatik tanıma ve her 2 dakikada bir otomatik kurtarma anlık görüntüsü alma.
Modern Linux dağıtımlarında triM. uygulamasını tek satırla kurmak için:
curl -fsSL https://raw.githubusercontent.com/MOzcelik14/triM/master/install.sh | bashİstediğiniz zaman uygulamayı, simgeleri ve kısayolları temizce kaldırmak için:
curl -fsSL https://raw.githubusercontent.com/MOzcelik14/triM/master/install.sh | bash -s -- --uninstall| Kısayol | İngilizce Açıklama | Türkçe Açıklama |
|---|---|---|
| Space | Toggle Playback / Pause | Oynat / Duraklat |
| V | Selection Tool | Seçim Aracı |
| A | Track Select Forward Tool | İleri İz Seçme Aracı |
| B | Ripple Edit Tool | Dalgalanma Düzenleme Aracı |
| C | Razor / Cut Tool | Jilet / Kesme Aracı |
| Y | Slip Tool | Kaydırma Aracı |
| P | Pen / Keyframe Tool | Kalem / Anahtar Kare Aracı |
| H | Hand / Pan Tool | El / Gezinme Aracı |
| T | Type / Text Tool | Metin / Yazı Aracı |
| S | Split / Razor Cut at Playhead | Çizgiden Kes / Böl |
| Q | Ripple Trim Head to Playhead | Başı Çizgiye Kırp ve Kaydır |
| W | Ripple Trim Tail to Playhead | Sonu Çizgiye Kırp ve Kaydır |
| Delete | Delete Selected Clip(s) | Seçili Klibi Sil |
| Shift + Delete | Ripple Delete Selected Clip | Boşluğu Kapatıp Sil (Ripple Delete) |
| J | Shuttle Reverse (-1x, -2x, -4x, -8x) | Geriye Hızlı Oynat |
| K | Shuttle Pause | Oynatmayı Durdur |
| L | Shuttle Forward (1x, 2x, 4x, 8x) | İleriye Hızlı Oynat |
| ← / → | Step 1 Frame Backward / Forward | 1 Kare Geri / İleri Adımla |
| Shift + ← / → | Step 1 Second Backward / Forward | 1 Saniye Geri / İleri Adımla |
| ↑ / ↓ | Jump to Previous / Next Edit Point | Önceki / Sonraki Kesim Noktasına Git |
| Home / End | Jump to Beginning / End of Timeline | Zaman Çizgisi Başına / Sonuna Git |
| M | Add Marker at Playhead | Çizgiye İşaretçi Ekle |
| Ctrl + Z | Undo Last Action | Son İşlemi Geri Al |
| Ctrl + Y | Redo Last Action | Son İşlemi Yinele |
| Ctrl + N | New Project | Yeni Proje |
| Ctrl + O | Open Project Dialog | Proje Aç |
| Ctrl + S | Save Project | Projeyi Kaydet |
| Ctrl + T | Add Title Card Dialog | Başlık / Metin Ekle |
| Ctrl + M / E | Open Export Studio | Dışa Aktarma Stüdyosu |
| F1 | Keyboard Shortcuts Guide | Klavye Kısayolları Kılavuzu |
Uygulama, sorumlulukların temiz ve modüler ayrıldığı 8 üyeli Cargo Çalışma Alanı (Workspace) olarak yapılandırılmıştır:
VideoEditor/
├── Cargo.toml # Workspace manifesti (resolver = "2")
├── crates/
│ ├── trim-core/ # Zaman, klip, kanal, anahtar kare ve proje modelleri
│ ├── trim-commands/ # 14 adet geri alınabilir (Undo/Redo) komut ve UndoStack
│ ├── trim-timeline/ # Üst düzey zaman çizgisi düzenleme algoritmaları
│ ├── trim-project/ # Atomik disk G/Ç (.tmp rename) ve AutosaveManager
│ ├── trim-media/ # VideoEngine, PlaybackStreamer, PCM mikser, ses motoru
│ ├── trim-export/ # FFmpeg filtergraph oluşturucu, arka plan işçisi
│ ├── trim-ui/ # Saf Rust egui/eframe arayüzü, canvas, denetçi, monitör
│ └── trim-app/ # Masaüstü ikili dosya giriş noktası (`trim`)
trim-core:- SMPTE zaman kodu hesaplamaları (
seconds_to_timecode,timecode_to_seconds). - Zaman çizgisi manyetik yapışma (
snap_time). - Çok katmanlı görünür klip tespiti (
get_visible_video_clips_at,get_active_audio_clips_at). - Anahtar kare enterpolatörleri (Linear, Hold, Smoothstep Ease-In-Out).
- SMPTE zaman kodu hesaplamaları (
trim-commands:- 14 adet atomik, geri alınabilir komut (
AddClip,RemoveClip,MoveClip,TrimClip,SplitClip,RippleDelete,BatchMove,DetachAudio, vb.).
- 14 adet atomik, geri alınabilir komut (
trim-timeline:- Oynatma kafasından kesme (
split_at_playhead). - Ripple trim baş (
ripple_trim_head) ve kuyruk (ripple_trim_tail) fonksiyonları. - Edit noktası arama (
find_prev_edit_point,find_next_edit_point).
- Oynatma kafasından kesme (
trim-project:- Güvenli atomik kaydetme (
.tmp-> rename). .trimv1 ve eski.cutlinegeriye dönük uyumlu JSON serileştirme.- Periyodik kurtarma yöneticisi (
AutosaveManager).
- Güvenli atomik kaydetme (
trim-media:VideoEngine: Gerçek zamanlı akış (PlaybackStreamer), asenkron sarma (AsyncFrameDecoder), RAM kare önbelleği.AudioMixer: 48kHz 16-bit stereo miksaj, arka plan ön yükleme (preload_audio_async), cpal ses akış cihazı (AudioStreamPlayer).WaveformGenerator: Çok iş parçacıklı dalga formu analizi ve RAM/Disk önbellekleme.FFprobeAnalyzer: JSON akış ve codec çözümleme.
trim-export:- FFmpeg karmaşık filtre grafikleri (
[v0][v1]overlay,scale,pad,eq,fade,afade,atempo). - Önayarlar: 1080p, 720p, 4K, YouTube 60fps, WebM, Yalnızca Ses (WAV/MP3).
- FFmpeg karmaşık filtre grafikleri (
trim-ui:- Donanım hızlandırmalı egui arayüzü: Zaman çizgisi kanvası, monitör penceresi, medya havuzu, özellik denetçisi, çift kanallı VU metre.
trim-app:- Komut satırı argümanları, uygulama ikonu ve pencere ilklendirmesi.
Tüm çalışma alanı testleri Cargo üzerinden doğrudan çalıştırılabilir:
cargo test --workspaceBirim ve entegrasyon testleri; geri alma yığını, ses mikseri, manyetik yapışma, video çözümleme ve kurgu iş akışlarını kapsar. GitHub Actions, her ilgili değişiklikte Rust çalışma alanını yeniden derleyip test eder.
Bu proje MIT Lisansı ile lisanslanmıştır. Detaylar için LICENSE dosyasına bakabilirsiniz.