Skip to content
Skillv1.0.0

screenstudio-alt

Open-source headless Screen Studio alternative: auto speed-up of idle, auto-zoom on click clusters, keystroke overlay chips, smoothed synthetic cursor, and 9:16 vertical export that follows the action

by sickn33(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from sickn33/agentic-awesome-skills (skills/screenstudio-alt/SKILL.md). Install upstream with npx skills add sickn33/agentic-awesome-skills --skill screenstudio-alt. Copyright stays with the author (MIT).

When to Use

Use when polishing a screen recording / demo video for sharing, when the user mentions Screen Studio, auto-zoom, idle speed-up, or vertical/social video from a screen capture, and for any social-facing demo (vertical output is the default for those).

Source: connerkward/screenstudio-alternative-skill (MIT).

screenstudio-alt

The skill's code lives in this directory (polish.py, render.py, studio.py, events-log.swift, test fixtures, etc.). Published publicly as connerkward/screen-studio-alternative via the publish-skill skill.

Two components:

  • events-log (Swift) — capture-side input logger (cursor 60Hz, clicks, keys; drops keys during macOS secure input). Runs ONLY while recording. Needs Accessibility/Input Monitoring for the terminal. Auto-zoom/keys/cursor need this data at capture time — it cannot be recovered from pixels later.
  • polish.py (Python, ffmpeg + PIL) — the post-production pass:
python3 src/polish.py in.mp4 --events in.events.jsonl \
  --speedup            # compress idle (input-gap ∩ frozen-pixels; animations stay 1x)
  --zoom               # eased auto-zoom on click clusters (zoompan)
  --keys               # accumulating keystroke chips (PIL overlays, no drawtext dep)
  --smooth-cursor      # synthetic eased cursor (best with sck-record --no-cursor)
  --vertical           # ALSO emit 1080x1920 following the action

--speedup works WITHOUT events (freezedetect only) — usable on the whole existing dailies corpus.

  • render.pyhigh-quality non-destructive renderer (preferred): single-pass spring-physics camera over the original high-res frames, LANCZOS into a smaller target (crisp zoom, ~1.3× sharper than the ffmpeg upscale path), 60fps, H + 9:16 V. Tunable --freq/--zeta (spring), --fps, --target-w. Takes explicit --regions [{t0,t1,z,cx,cy}]. polish.py is the older ffmpeg-filter fallback.
  • studio.py [recording.mp4] — local web UI, NLE-style fixed-ruler timeline (bar = source duration, never rescales → upstream always planted): zoom regions are draggable blocks (move / retime edges / click to add / double-click delete); idle spans are speed blocks with rate-only editing — source range locked, rate set via inspector slider on select or right-edge rate-stretch drag (FCP retime / Premiere Rate Stretch); rate changes ripple downstream only. Tunable cosine-ease ramp, default zoom, aspect, frame styling. Always-smooth synthetic cursor + click ripple + real recorded click sound (CC0 #735771). Export uses render.py. Free port, local. (Keystroke overlay exists in the engine but is off by default.)

Easy path

screencast.sh --demo (screencast skill) does the whole chain: starts the event logger, records, then polishes + emits the 9:16 vertical automatically. Vertical is the DEFAULT for social-facing demos.

Gotchas (learned the hard way, kept here so they're not relearned)

  • ffmpeg CANNOT do animated scale=eval=framecrop (link reinit wedges crop's per-frame exprs). That's why zoom uses zoompan (no t var there — use on/FPS).
  • This machine's ffmpeg lacks drawtext; all text/cursor overlays are PIL-rendered PNGs + overlay.
  • Test rig: make-fixture.py synthesizes a fake screen recording + ground-truth events.jsonl — validate any change against it before trusting real footage.

Limitations

  • The workflow assumes FFmpeg plus the companion scripts are available locally; it is not a hosted video editor.
  • Polished cursor, click, and keystroke effects depend on event logs captured during recording; missing logs limit what can be reconstructed.
  • Auto-zoom and idle speed-up still need human review for pacing, framing, and platform-specific taste.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/sickn33-agentic-awesome-skills-screenstudio-alt/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

sickn33-agentic-awesome-skills-screenstudio-alt.ocm.jsonjson
{
  "ocm": "1",
  "id": "sickn33-agentic-awesome-skills-screenstudio-alt",
  "kind": "skill",
  "name": "screenstudio-alt",
  "description": "Open-source headless Screen Studio alternative: auto speed-up of idle, auto-zoom on click clusters, keystroke overlay chips, smoothed synthetic cursor, and 9:16 vertical export that follows the action — post-production for screen recordings from the CLI.",
  "publisher": "sickn33",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "general"
    ],
    "tags": [
      "skill-md",
      "screen-recording",
      "video",
      "post-production",
      "auto-zoom",
      "vertical-video",
      "ffmpeg",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Open-source headless Screen Studio alternative: auto speed-up of idle, auto-zoom on click clusters, keystroke overlay chips, smoothed synthetic cursor, and 9:16 vertical export that follows the action — post-production for screen recordings from the CLI."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/sickn33/agentic-awesome-skills",
      "path": "skills/screenstudio-alt/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/sickn33/agentic-awesome-skills/blob/HEAD/skills/screenstudio-alt/SKILL.md",
      "key": "sickn33/agentic-awesome-skills/skills/screenstudio-alt/SKILL.md"
    },
    "license": "MIT"
  },
  "instructions": "## When to Use\n\nUse when polishing a screen recording / demo video for sharing, when the user mentions Screen Studio, auto-zoom, idle speed-up, or vertical/social video from a screen capture, and for any social-facing demo (vertical output is the default for those).\n\n_Source: [connerkward/screenstudio-alternative-skill](https://github.com/connerkward/screenstudio-alternative-skill) (MIT)._\n\n# screenstudio-alt\n\nThe skill's code lives in this directory (`polish.py`, `render.py`, `studio.py`,\n`events-log.swift`, test fixtures, etc.). Published publicly as\n`connerkward/screen-studio-alternative` v",
  "cost": {
    "context_tokens": 957
  }
}

Fetch it by URL: GET /api/v1/registry/sickn33-agentic-awesome-skills-screenstudio-alt/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.

screenstudio-alt - Skill - OpenSmartRoute