add readme with project info
This commit is contained in:
156
README.md
Normal file
156
README.md
Normal file
@@ -0,0 +1,156 @@
|
|||||||
|
<p align="center">
|
||||||
|
<img src="https://img.shields.io/badge/version-1.0.0-teal?style=for-the-badge" alt="version">
|
||||||
|
<img src="https://img.shields.io/badge/license-CC0-white?style=for-the-badge" alt="license">
|
||||||
|
<img src="https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-slate?style=for-the-badge" alt="platform">
|
||||||
|
<img src="https://img.shields.io/badge/stack-Tauri%20%2B%20Svelte-ff6b6b?style=for-the-badge" alt="stack">
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h1 align="center">📼 Cinch</h1>
|
||||||
|
|
||||||
|
<p align="center"><strong>A Video Tool Built For People, Not Profit</strong></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Hey there! 🙂
|
||||||
|
|
||||||
|
Cinch is a small video compression and trimming app made for anyone who needs to get their clips under file size limits. No paywalls, no tracking, no weird subscription nonsense. Just a simple tool that does what it says on the tin.
|
||||||
|
|
||||||
|
I built this because I was tired of watching friends struggle with bloated, ad-ridden "free" tools that exist mostly to extract value from users. The commons deserve good software too, you know? So here's something made with care, shared openly, and designed to actually help people.
|
||||||
|
|
||||||
|
(Disclaimer: this is still early days, so if something breaks, well... that's what issue trackers are for, haha)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 What It Does
|
||||||
|
|
||||||
|
**Drag, Drop, Done**
|
||||||
|
|
||||||
|
Drop a video onto the app and Cinch gets to work right away. No confusing menus, no hunting through settings. It reads your file, shows you what matters, and gives you clear options.
|
||||||
|
|
||||||
|
**Smart Compression**
|
||||||
|
|
||||||
|
Cinch figures out the best settings to hit your target size without making your video look like a potato. It tries a few approaches internally and picks the one that keeps quality high while getting the file small enough.
|
||||||
|
|
||||||
|
**Trim With Precision**
|
||||||
|
|
||||||
|
Need just a segment? Grab the handles on the timeline and set your in/out points. The filmstrip shows thumbnails so you know exactly where you are. You can also snap to keyframes for clean cuts.
|
||||||
|
|
||||||
|
**Size Presets**
|
||||||
|
|
||||||
|
One-click presets for common limits:
|
||||||
|
- 8 MB
|
||||||
|
- 16 MB
|
||||||
|
- 25 MB
|
||||||
|
- 50 MB
|
||||||
|
- 100 MB
|
||||||
|
- Custom target (set your own)
|
||||||
|
|
||||||
|
**Hardware Speed**
|
||||||
|
|
||||||
|
If you've got NVENC, AMF, or Quick Sync, Cinch will use them. Fall back to software encoding when needed. No need to think about it.
|
||||||
|
|
||||||
|
**See Before You Commit**
|
||||||
|
|
||||||
|
Live preview with play/pause, volume, and timeline scrubbing. Check your work before you hit the button.
|
||||||
|
|
||||||
|
**Dark Mode**
|
||||||
|
|
||||||
|
Because staring at bright white screens at 2 AM is cruel and unusual. Toggle between light, dark, and system sync.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🛠️ How To Use
|
||||||
|
|
||||||
|
1. **Grab the latest release** from the releases page (or build it yourself if you're into that)
|
||||||
|
2. **Open the app** and drag a video onto the drop zone
|
||||||
|
3. **Pick your preset** or set a custom target size
|
||||||
|
4. **Adjust the trim** if you only want part of the video
|
||||||
|
5. **Hit compress** and wait a moment
|
||||||
|
6. **Grab your file** from the output folder
|
||||||
|
|
||||||
|
That's it. No accounts, no cloud uploads, no data leaving your machine.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🏗️ Building From Source
|
||||||
|
|
||||||
|
You'll need:
|
||||||
|
- [Node.js](https://nodejs.org/) (LTS)
|
||||||
|
- [Rust](https://rustup.rs/)
|
||||||
|
- [FFmpeg](https://ffmpeg.org/download.html) on your PATH
|
||||||
|
|
||||||
|
Then:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Clone the repo
|
||||||
|
git clone https://git.lashman.live/lashman/cinch.git
|
||||||
|
cd cinch
|
||||||
|
|
||||||
|
# Install frontend deps
|
||||||
|
npm install
|
||||||
|
|
||||||
|
# Run in dev mode
|
||||||
|
npm run tauri dev
|
||||||
|
|
||||||
|
# Build for production
|
||||||
|
npm run tauri build
|
||||||
|
```
|
||||||
|
|
||||||
|
The built app will be in `src-tauri/target/release/`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧰 How It's Built
|
||||||
|
|
||||||
|
**Frontend**
|
||||||
|
- [Svelte 5](https://svelte.dev/) - reactive UI without the bloat
|
||||||
|
- [Tailwind CSS](https://tailwindcss.com/) - utility-first styling
|
||||||
|
- [Tabler Icons](https://tabler-icons.io/) - clean icon set
|
||||||
|
|
||||||
|
**Backend**
|
||||||
|
- [Tauri v2](https://tauri.app/) - Rust-powered desktop framework
|
||||||
|
- [FFmpeg](https://ffmpeg.org/) - the engine that does the actual work
|
||||||
|
- [Tokio](https://tokio.rs/) - async Rust runtime
|
||||||
|
|
||||||
|
**Design**
|
||||||
|
- Custom title bar (no native OS chrome)
|
||||||
|
- Geist Mono + Nunito Sans + Syne typefaces
|
||||||
|
- Generous whitespace, big touch targets
|
||||||
|
- Expressive micro-interactions
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🤝 Contributing
|
||||||
|
|
||||||
|
This project is open to anyone who wants to help improve it. No corporate CLAs, no permission needed. If you see something broken or have an idea, open an issue or send a patch.
|
||||||
|
|
||||||
|
I especially welcome:
|
||||||
|
- Bug reports (with steps to reproduce, please)
|
||||||
|
- UI/UX improvements
|
||||||
|
- Better compression strategies
|
||||||
|
- Documentation fixes
|
||||||
|
- Translations
|
||||||
|
|
||||||
|
Please keep things friendly and constructive. We're all just trying to make something useful here.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📜 License
|
||||||
|
|
||||||
|
[CC0 1.0 Universal](LICENSE)
|
||||||
|
|
||||||
|
No rights reserved. Use it, study it, change it, share it. The code belongs to everyone who uses it. No attribution required, no restrictions applied.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🙏 Shout Outs
|
||||||
|
|
||||||
|
- The FFmpeg team for making the impossible possible
|
||||||
|
- The Tauri crew for a desktop framework that doesn't eat 300 MB of RAM
|
||||||
|
- Everyone who reported bugs and suggested features
|
||||||
|
|
||||||
|
Built with care by someone who thinks software should serve its users, not the other way around. 🙂
|
||||||
|
|
||||||
|
Questions? Ideas? Just want to say hi? Open an issue or drop by the discussions.
|
||||||
|
|
||||||
|
**Laters!** 🫂
|
||||||
Reference in New Issue
Block a user