compressor-svelte-tauri Svelte Themes

Compressor Svelte Tauri

✨ Efficiently compress your videos using a modern GUI! Built with SvelteKit/Tauri/Tailwind (frontend) & Go (backend)

Compressor UI (Go, Tauri, SvelteKit & Tailwind)

Compress videos using highly efficient & modern codecs (hardware accelerated) 🚀

My two motivations for this project:

  • Learning Tauri & SvelteKit and Go
  • I've tried many video compressors, but some were quite clunky and not user-friendly, others didn't support newer codecs and hardware acceleration. I wanted to create a simple and easy-to-use video compressor that anyone can use.

Todo

  • HEVC + AMF (AMD hardware acceleration)
  • Windows support
  • View input & output file info/metadata
  • Progress bar, estimated time, FPS, realtime log
  • Estimate file size before compression
  • Batch processing
  • NVIDIA hardware acceleration
  • Add more codecs
  • Linux

Development

Frontend

cd .\frontend\compressorui\
bun i
bun run tauri dev

Backend

cd .\backend\
go get .
go run .

Benchmarks

Street at Night: 50MB/s 4K60 AVC Main@L5.2

Video: https://pixabay.com/de/videos/verkehr-stadt-stadtbild-urban-88921/

I downloaded the source video and cut it to be 99.9 MiB (16s, 717ms). Quality tests were done with MSU_VQMT_14.1r12839_free_64, metric Netflix VMAF, color Y, colorspace auto YUV.

System:

  • RX 6750 XT 12 GB GDDR6
  • 32GB RAM @ 3200 MHz
  • Ryzen 5 5600X
  • Windows 11

Presets are my own collections of arguments I built into this program, NOT FFmpeg/encoders preset option! "No" means that the only FFmpeg arguments used are the ones to set the codec, bitrate and to encode the audio in 64k Opus.

Preset (Bitrate)¹ Bitrate² File Size VMAF (mean)³ Encoding Time
No 4000 5.0 10.2 MiB 59.71 11.34s
UltraSlow 4000 6.1 12.2 MiB 64.42 81.95s
Optimal 800-1600 15.7 32.0 MiB 79.241 9.27s

¹ Target bitrate in Kbps, as set in the UI.

² Actual bitrate in Mbps of the output video, as reported by MediaInfo.

³ Whereas 100 is the best possible score, and means - according to the metric - practically indistinguishable quality compared to the source video.

Top categories

Loading Svelte Themes