Auto-detect highlight moments from streaming videos and generate clips automatically
Features β’ Installation β’ Usage β’ Tech Stack β’ Contributing β’ License
Stream Clipper is a desktop application that automatically detects highlight moments in streaming videos (Twitch, YouTube, etc.) using audio analysis and chat activity detection. Perfect for content creators, streamers, and video editors who want to quickly find and export the best moments from long streams.
- β±οΈ Save Hours of Editing - No more scrubbing through hours of footage
- π― Smart Detection - Uses audio spikes and chat activity to find highlights
- π Fast Processing - Analyzes videos 10-50x faster than realtime
- π» Offline & Private - All processing happens locally on your machine
- π¨ Modern UI - Clean, intuitive interface built with Svelte
| Feature | Free | Pro |
|---|---|---|
| Audio spike detection | β | β |
| Voice Activity Detection (VAD) | β | β |
| Timeline visualization | β | β |
| Waveform display | β | β |
| Clip preview | β | β |
| Max clips per video | 5 | Unlimited |
| Export resolution | 720p | Up to 4K |
| Watermark | Yes | No |
| Chat activity detection | β | β |
| Custom keywords | β | β |
| Vertical crop (9:16) | β | β |
| Fade effects | β | β |
| WebM format | β | β |
- RMS Volume Detection - Detects loud moments (cheering, reactions)
- Voice Activity Detection - Uses WebRTC VAD to detect speech patterns
- Configurable Sensitivity - Adjust threshold to find more or fewer highlights
- Twitch JSON - Parse chat logs from TwitchDownloader
- YouTube JSON - Parse chat logs from yt-dlp
- Generic TXT - Support for
[HH:MM:SS] user: messageformat - Keyword Detection - Custom keywords like "POG", "CLIP IT", "OMG"
- Activity Spikes - Detect moments when chat goes crazy
- Combo Detection - Audio + Chat overlap = higher score
- Weighted Scoring - Customize importance of audio vs chat
- Smart Merging - Combine adjacent highlights automatically
- Download the latest release from Releases
- Run
Stream Clipper_x.x.x_x64-setup.exe(NSIS installer) orStream Clipper_x.x.x_x64_en-US.msi - Follow the installation wizard
- Launch Stream Clipper from Start Menu
Coming soon! Build from source for now.
Coming soon! Build from source for now.
# Clone the repository
git clone https://github.com/nirvagold/stream-clipper.git
cd stream-clipper
# Install dependencies
npm install
# Run in development mode
npm run tauri dev
# Build for production
npm run tauri build- Import Video - Drag & drop or click to browse for your video file
- Import Chat (Optional, Pro) - Add chat log for better detection
- Adjust Settings - Configure audio sensitivity and other options
- Analyze - Click "Analyze Video" to detect highlights
- Review - Preview detected clips in the timeline
- Export - Select clips and export to your desired format
- MP4, MKV, MOV, AVI, WebM, FLV, TS
- Twitch JSON (from TwitchDownloader)
- YouTube JSON (from yt-dlp)
- Generic TXT (
[HH:MM:SS] username: message)
- MP4 (H.264 + AAC)
- WebM (VP9 + Opus) - Pro only
- Lower sensitivity = More highlights detected
- Use chat logs when available for better accuracy
- Adjust padding to include context before/after highlights
- Preview clips before exporting to verify quality
Stream Clipper is built with modern, performant technologies:
| Layer | Technology |
|---|---|
| Framework | Tauri 2.0 - Secure, lightweight desktop apps |
| Backend | Rust - Fast, memory-safe processing |
| Frontend | Svelte 5 - Reactive UI with minimal overhead |
| Audio | hound + webrtc-vad |
| Video | FFmpeg - Industry-standard video processing |
| Styling | CSS with CSS Variables |
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β STREAM CLIPPER APP β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β FRONTEND (Svelte + TypeScript) β
β - Reactive UI Components β
β - State Management (Svelte stores) β
β - Tauri IPC calls β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β BACKEND (Rust + Tauri) β
β - Audio Analysis (RMS + VAD) β
β - Chat Parsing (Twitch/YouTube/TXT) β
β - Highlight Scoring & Merging β
β - Video Clipping (FFmpeg wrapper) β
β - License Validation β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β EXTERNAL β
β - FFmpeg (bundled) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
We welcome contributions from the community! Here's how you can help:
- π Report Bugs - Open an issue with detailed reproduction steps
- π‘ Suggest Features - Share your ideas in discussions
- π Improve Docs - Help make documentation clearer
- π§ Submit PRs - Fix bugs or implement features
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/stream-clipper.git
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes
- Run tests and linting:
npm run check cd src-tauri && cargo clippy
- Commit your changes:
git commit -m "feat: add amazing feature" - Push to your fork:
git push origin feature/amazing-feature
- Open a Pull Request
We use Conventional Commits:
feat:- New featurefix:- Bug fixdocs:- Documentation changesstyle:- Code style changes (formatting, etc.)refactor:- Code refactoringperf:- Performance improvementstest:- Adding or updating testschore:- Maintenance tasks
- Rust: Follow
rustfmtandclippyrecommendations - TypeScript/Svelte: Follow ESLint and Prettier configurations
- Commits: Use conventional commit messages
- macOS and Linux builds
- Batch processing multiple videos
- Custom export presets
- Keyboard shortcuts
- Auto-caption with Whisper
- Direct upload to YouTube/TikTok
- Game-specific detection (kill feed OCR)
- Smart vertical crop with face detection
What video formats are supported?
Stream Clipper supports most common video formats including MP4, MKV, MOV, AVI, WebM, FLV, and TS. Any format that FFmpeg can decode should work.
How does the audio detection work?
The app extracts audio from your video, splits it into small chunks, and calculates the volume (RMS) of each chunk. It then identifies moments where the volume exceeds a threshold based on the baseline. Voice Activity Detection (VAD) is also used to detect speech patterns.
Where can I get chat logs?
- Twitch: Use TwitchDownloader to download chat as JSON
- YouTube: Use yt-dlp with
--write-subsflag
Is my data sent anywhere?
No! All processing happens locally on your machine. Stream Clipper does not send any data to external servers. Your videos and chat logs never leave your computer.
How do I get Pro features?
Pro features can be unlocked with a license key. Contact us for purchasing options.
This project is licensed under the MIT License - see the LICENSE file for details.
- Tauri - For the amazing desktop framework
- Svelte - For the reactive UI framework
- FFmpeg - For video processing capabilities
- WebRTC VAD - For voice activity detection
Made with β€οΈ for content creators