Skip to content

Repository files navigation

AnEdiKit

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.

Features

Video & Audio Processing (FFmpeg)

  • 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.

Media Downloader (yt-dlp)

  • 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.

Core Engine & Architecture

  • 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.

Development

Requirements:

  • Rust (Cargo)
  • Node.js (npm)
  • FFmpeg and yt-dlp available on system PATH or local application tools folder

Install dependencies:

npm install

Run application in development mode:

npm run tauri dev

Build release variant with installer bundles:

npm run release
# or
build_release.bat

The 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)

Libraries and Tools Used

  • 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

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Lightweight set of media tools, for video editors and creatives

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages