Skip to content
Rustys90Public

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

525 Commits

Folders and files

Repository files navigation

🎬 ClipForge

The AI clipping studio for Android — fully open source.

License: GPL-3.0 Version Platform Kotlin Compose PRs welcome

Paste a YouTube link → download → on-device AI transcription → viral clip detection → karaoke captions → vertical 9:16 export.

No subscriptions. No accounts. No tracking. Your audio never leaves your phone.


⚡ What it does

📥 12-engine downloader watchpage → visionOS → Samsung TV → Safari/Android web → NewPipeExtractor → Invidious → Piped → PO-token minter, with automatic fallback and per-engine health tracking
🔑 PO-token minter Video-ID-bound proof-of-origin tokens (unbound tokens die ~45 s into streams)
🗣️ On-device Whisper whisper.cpp transcription with word-level timestamps — no audio ever leaves your device
🔥 AI clip ranking Virality scorer finds the moments worth clipping
🎤 Karaoke captions Word-by-word highlighted subtitles, draggable in the editor
✂️ Video editor Trim, captions, waveform view, 9:16 export via Media3 Transformer
🍪 Cookie import Import your YouTube cookies.txt for age-restricted / private content (Seal-style)
🚀 Adaptive downloading Work-stealing ranged downloader, 8-way parallel chunks, QUIC via Cronet with OkHttp fallback
⚙️ Remote config Player configs and engine toggles update out-of-band — no APK update needed

🎨 Punk-zine UI

Since v1.9.6, ClipForge ships the antiform redesign — a xeroxed punk-zine aesthetic:

  • 📰 Newsprint paper background with procedural grain overlay
  • ✂️ Ransom-note logotype — every letter a different typeface, each tilted 1–3°
  • 📸 Torn-edge photo collage with translucent tape strips
  • 🔴 Agitprop red #C42B22 + acid chart #C7D436 — the only accents
  • ⬛ 4 px ink section borders — zero rounded corners, zero gradients, nothing centered

🛠️ Tech stack

Layer Technology
Language Kotlin 2.0
UI Jetpack Compose (Material3)
DI / Async Kotlin Coroutines + Flow
Networking OkHttp 4, Cronet (QUIC/HTTP-2), aria2c
Media Media3 Transformer, ExoPlayer
STT whisper.cpp 1.7.4 (JNI, libclipforge_whisper.so)
Extraction NewPipeExtractor, yt-dlp (via youtubedl-android)
Config Remote JSON + bundled fallback

🏗️ Architecture

app/src/main/java/com/clipforge/android/
├── ingest/        # 12 download engines, PO-token minter, cookie auth,
│                  #   adaptive downloader, Cronet client, remote config
├── pipeline/      # Clip pipeline: transcription → virality scoring → tiling
├── stt/           # Whisper engine (JNI), model manager, VAD processor
├── video/         # Video engine: trim, caption burn-in, 9:16 export
├── ui/
│   ├── antiform/  # Punk-zine component library (~560 lines)
│   ├── editor/    # Clip editor: timeline, waveform, draggable captions
│   └── theme/     # Material3 theme + typography
└── data/          # SettingsStore, cookie storage

Download engine chain

watchpage → visionos → tv_samsung → web_safari+cookies → cookies+aria2c
  → android+aria2c → web+aria2c → android+native → newpipe
  → invidious → piped → pot-minter

Each engine reports health; the chain skips dead engines automatically. The validateResources Gradle task runs on every build — corrupt fonts or images fail the build instead of crashing at runtime.

🔨 Build

# Requires: Android SDK (compileSdk 36), JDK 17, Android NDK (for whisper.cpp)
git clone https://github.com/Rustys90/clipforge.git
cd clipforge
./gradlew :app:assembleDebug

The native Whisper library is built from whisper.cpp — see native/ for the build script. The PO-token minter ships as clipforge_pot.zip (QuickJS bundle, rebuilt via scripts/).

📝 Changelog

Every release is documented with Added / Removed / Improved / Fixed sections — see CHANGELOG.md.

🤝 Contributing

PRs welcome. Please run ./gradlew lint before submitting. Bug reports should include the device model, Android version, and the ClipForge version (Settings → About).

📄 License

GPL-3.0 — see LICENSE. Required by the NewPipeExtractor and aria2c dependencies.


Built by Rustys90 · Delhi, India

No subscriptions. No tracking. Just clips.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages