AnEdiKit is a lightweight, all-in-one desktop toolkit for creators that integrates FFmpeg and yt-dlp media utilities into a responsive desktop application built with Tauri v2 and Rust. It also serves as a macro engine for making your own GUI for command line tools of your choice with JavaScript and drag-and-drop tools.
- Video Conversion: Transcode video files across MP4, MKV, WebM, MOV, AVI, and other formats with customizable codecs (H.264, HEVC, AV1, VP9), CRF quality presets, and resolution scaling.
- Audio Extraction & Conversion: Extract audio tracks from video or transcode audio files across MP3, M4A, FLAC, WAV, Opus, and OGG formats.
- Precision Trimming & Cutting: Trim clips using instant lossless stream copying or frame-accurate re-encoding.
- Targeted Media Compression: Compress video and audio to fit target file sizes (Discord, WhatsApp, Email, or custom megabyte limits) with automatic bitrate budgeting.
- Media Concatenation & Merging: Join multiple video or audio tracks into a single continuous stream.
- Audio Track Replacement & Muting: Strip unwanted audio from video files or mux custom audio tracks with volume mixing.
- GIF & Frame Extraction: Generate high-quality animated GIFs with custom palette generation or export image sequence frames.
- Custom FFmpeg Execution: Run custom argument strings with real-time log output and stream progress tracking.
- Video & Audio Downloads: Download media streams in single video, audio-only (MP3, M4A, FLAC), and subtitle/thumbnail extraction modes.
- Playlist & Batch Queueing: Download full playlists and channels with dual-progress tracking for both current item and overall batch completion.
- Global Downloader Settings: Centralized configuration for browser cookie authentication (Chrome, Firefox, Edge, Brave, Opera, Vivaldi), download speed limits, SponsorBlock segment removal, and custom flags.
- Hardware Acceleration: Support for NVIDIA NVENC (CUDA), Intel QuickSync (QSV), and AMD AMF hardware encoders.
- Non-Blocking Background Processing: Asynchronous process management allows browsing between tools while tasks execute in the background.
- Process Lifecycle Management: Background jobs persist across interface reloads, and active operations are safely terminated with child process tree cleanup on exit confirmation.
Requirements:
- Rust (Cargo)
- Node.js (npm)
- FFmpeg and yt-dlp available on system PATH or local application tools folder
Install dependencies:
npm installRun application in development mode:
npm run tauri devBuild release variant with installer bundles:
npm run release
# or
build_release.batThe release files will be in the build/ folder:
AnEdiKit-ver-windows-x64-portable.exe(Portable binary)AnEdiKit-ver-windows-x64-installer.msi(MSI Installer)AnEdiKit-ver-windows-x64-setup.exe(NSIS Setup)SHA256SUMS.txt(SHA256 checksums)
- Desktop Framework: Tauri v2
- Backend and Systems: Rust,
serde,serde_json,rfd,base64,tauri-plugin-opener - Frontend UI: HTML5, CSS3, JavaScript (ES Modules), Bootstrap 5, Ionicons
- Media Processing: FFmpeg (transcoding, trimming, merging, compressing, filtering, palette generation), yt-dlp (stream/playlist downloading and metadata extraction)
- AI and Computer Vision: Python 3,
rembg,onnxruntime,opencv-python,Pillow,numpy,tqdm - Build and Packaging: Node.js, npm, NSIS, WiX Toolset
- Testing and Automation: WebdriverIO (
@wdio/cli,@wdio/tauri-service,webdriverio), Mocha
This project is licensed under the MIT License. See the LICENSE file for details.