_ _ _ _ _ _ _ _
/ \ | | ___ _ __| |_| | / \ | | ___ _ __| |_| |
/ _ \ | |/ _ \ '__| __| | / _ \ | |/ _ \ '__| __| |
/ ___ \| | __/ | | |_|_| / ___ \| | __/ | | |_|_|
/_/ \_\_|\___|_| \__(_) /_/ \_\_|\___|_| \__(_)
Desktop app for stream alerts and a streamer-focused Video Editor workflow.
Alert! Alert! now has two real products in one app:
Alert Creatorfor quick alert clips, trims, crops, audio treatment, and exports.Video Editorfor turning stream VOD moments into shortform clips and then reusing those edits for longform YouTube cuts.
- Load a remote video URL or local media file.
- Trim, crop, zoom, choose aspect ratios, and export alerts fast.
- Use separate audio, normalization, fades, and image override modes.
- Run Windows one-click runtime install for
ffmpeg,ffprobe, andyt-dlp.
- Create multi-clip VOD projects for stream sessions.
- Use shared Twitch auth via
auth.deutschmark.online. - Pull recent Twitch VODs, Twitch markers, and Twitch clips.
- Import manual timestamps from any hotkey or marker workflow.
- Surface all those moments in a
Session Inbox. - Prep moments as shorts with streamer-specific presets:
Gameplay FocusFacecam TopBaked Text Punch
- Batch-prep a whole inbox and batch-queue prepared shorts for longform.
- Stitch clips into a preview sequence, transcribe captions, and export.
- Build a horizontal longform derivative from queued prepared shorts.
- Use a saved facecam guide instead of auto-detection for recurring stream layouts.
- 1-click caption dependency install for
faster-whisper+torch. - Managed captioning virtualenv owned by the app.
- Optional
pyannote.audioinstall for diarization. - Editable captions with speaker colors, ASS/SRT export, and burn-in control.
The current intended beta loop is:
- Connect Twitch.
- Load a recent VOD or local stream recording.
- Save session metadata.
- Import Twitch markers, Twitch clips, or manual timestamps.
- Prep the surfaced moments into shorts.
- Stitch the chosen clips into a shortform sequence.
- Transcribe and style captions.
- Export shortform.
- Queue prepared shorts for longform.
- Build and export the longform derivative.
The Video Editor now includes a Workflow Checklist panel that tracks this flow per project and shows the next blocker directly in the UI.
- Alert Creator core trim/crop/export workflow.
- Desktop shell with embedded app window.
- Shared Twitch login in the desktop app.
- Twitch VOD listing.
- Twitch marker import.
- Twitch clip import mapped back to VOD offsets when Twitch provides them.
- Manual marker import.
- Session Inbox and short prep flow.
- Batch short prep and batch longform queue actions.
- One-click caption dependency install path in the app.
- Caption editing and burned-caption export.
- Popular export formats:
Shorts / Reels4:5 FeedSquare16:9 Landscape
- Composition-aware short exports.
- Saved facecam guide for
Facecam Top. - Longform project creation from queued prepared shorts.
- True automatic facecam detection. This is intentionally not the beta path anymore.
- Automatic “best moments” ranking beyond imported Twitch markers/clips/source moments.
- Advanced multi-session longform assembly.
- Full automated browser regression coverage.
- Live deployment verification from this repository alone. Shared auth depends on
auth.deutschmark.online.
- Windows is the primary desktop target.
- Python
3.10+is recommended when running from source. - Internet access is required for:
- one-click runtime install
- one-click caption install
- Twitch auth
- remote VOD/clip loading
Shared Twitch auth is wired for:
http://localhost:<port>- approved
deutschmark.onlineorigins
The desktop shell starts the app on localhost and keeps auth.deutschmark.online plus Twitch OAuth inside the app window.
On Windows, the app can auto-install missing runtime tools into a user-local runtime folder:
ffmpegffprobeyt-dlp- optional
deno
No admin install is required for that managed runtime path.
The app now installs caption dependencies into its own managed captioning virtualenv:
faster-whispertorch- optional
pyannote.audio
The caption installer is exposed in the app’s dependency setup and is intended to be the normal path, not a manual pip workflow.
- Download
alert-alert.exefrom Releases. - Launch it.
- Allow runtime install if prompted.
- Use
Dependency Setupif you need to repair runtime or caption dependencies.
git clone https://github.com/thedeutschmark/alert-alert.git
cd alert-alert
pip install -r requirements.txt
python desktop.pyBrowser mode for development:
python app.pyThe local app runs on http://localhost:3000 by default unless overridden by environment variables.
- Load a URL or local file.
- Trim and crop it.
- Process the alert.
- Download the export.
- Open
Video Editor. - Log in with Twitch.
- Confirm the app shows the connected account in the shared auth header and the Video Editor session panel.
- Refresh VODs and load one.
- Import Twitch markers or Twitch clips.
- Optionally paste manual timestamps too.
- Set the facecam guide if the stream layout has a consistent camera box.
- Prep moments into shorts.
- Download and stitch clips.
- Run the caption pass.
- Open
Build & Deliver. - Render the shortform project.
- Queue prepared shorts for longform.
- Build the longform project.
- Use the longform handoff card to open the derived project.
- Render the longform project.
If you just want the fastest real test, use:
Load Selected VODImport Twitch MarkersPrep All InboxDownload ClipsTranscribeRender VideoBuild Longform ProjectOpen Longform ProjectRender Video
Expected UI checkpoints during beta:
- The
Workflow Checklistshould move forward without hidden blockers. - The operation rail should report the last important success or failure.
Clip Previewshould show source-side framing controls.Project Previewshould show output-aware composition context before render.Caption Passshould expose caption runtime install state directly in that step.Build Longform Projectshould not silently switch you into another project.
The beta path for facecam handling is user-defined layout memory, not detection.
You can now:
- enable a facecam guide
- drag and resize it in
Clip Preview - apply quick corner presets
- save it with the project
- remember it per channel locally
Facecam Top exports use that saved guide to bias framing and caption safe area.
Use the checked-in spec file and build script.
build.batThis builds the desktop executable to dist\alert-alert.exe.
pip install pyinstaller
pip install PySide6
python -m PyInstaller --clean --noconfirm AlertCreator.spec- Check internet access.
- Check antivirus/quarantine behavior.
- Retry from
Dependency Setup. - Make sure a matching Python runtime is available when running from source.
- Run the app on
http://localhost:<port>or an approveddeutschmark.onlineorigin. - Retry the login flow inside the desktop app.
- On localhost, the app now uses a same-origin shared-auth bridge, so the callback should return to the app and populate the connected session instead of leaving the UI disconnected.
- Confirm
auth.deutschmark.onlineis reachable from your machine.
- Twitch clips only map back when Twitch provides usable
vod_offsetdata. - If offsets are missing or tied to a different VOD, those clips are skipped.
The app defaults to localhost:3000 and can search for another open localhost port automatically. If startup still fails, close the conflicting process and relaunch.
- Update
yt-dlp. - Retry after runtime auto-install/update.
- Install optional
denoif YouTube challenge handling still fails.
MIT License — see LICENSE.
Third-party runtime notices are in THIRD_PARTY_NOTICES.txt.
Created by deutschmark
Built with: