No description
  • Zig 94.6%
  • GLSL 3.8%
  • JavaScript 1.4%
  • HTML 0.2%
Find a file
paoda db7d62cc43
Some checks failed
nightly / lint (push) Has been cancelled
nightly / build-native (-Dcpu=apple_m1, macos-14) (push) Has been cancelled
nightly / build-native (-Dcpu=x86_64_v3, windows-latest) (push) Has been cancelled
nightly / build-flatpak (push) Has been cancelled
Merge pull request 'Fix Uploads from WebKit (Apple)' (#13) from paoda/webkit into main
Reviewed-on: #13
2026-07-02 04:12:45 +00:00
.github/workflows chore(ci): pin ci to macOS 14 2026-06-24 22:58:06 -05:00
asset feat: v0.2.0 2026-04-26 14:53:23 -05:00
src fix(main): add socket timeout to http server 2026-07-01 22:16:25 -05:00
.gitattributes chore: .gitattributes enforcing line endings 2026-06-13 12:07:15 -05:00
.gitignore feat: add mov test dir to gitignore 2026-04-10 12:57:03 -05:00
build.zig chore(build): always build imgui in ReleaseFast 2026-06-25 14:17:00 -05:00
build.zig.zon chore: start next dev cycle 2026-06-24 16:55:02 -05:00
moe.paoda.rota-stabilizer.desktop chore: some cleanup 2026-06-16 12:10:00 -05:00
moe.paoda.rota-stabilizer.yml feat: decide on an output path for all platforms 2026-06-16 14:31:47 -05:00
README.md chore: update README.md 2026-06-25 19:58:23 -05:00

Desktop Rotaeno Stabilizer

a screenshot of the application in question

See this in action!

About

Rotaeno is uniquely disadvantaged in that a screen recording on its own is straight up unusable. Currently, players either try a handcam, or use existing stabilization tools. I want everyone to pass around cool looking rotaeno gameplay and I think the best way to achieve this is by making it as frictionless as possible to produce something good looking.

Thus, this stabilizer only requires a screen recording with Streaming Mode enabled. The rest is efficiently handled for you.

Features

  • realtime playback!!!!! (I've tested up to 120fps)
  • fast video encoding
  • auto crop for tablets
  • pretty ui (blurred background, ring, device border)
  • ui customization
  • easy upload from mobile device via QR Code
  • transparent background (for OBS) support

Download (Nightly)

The most recent successful CI run in the Actions tab will have binary artifacts uploaded (Linux users can find the flatpak here).

Alternatively:

Windows (nightly.link)

macOS (nightly.link)

How to Use

  1. Click on the Upload Tab to find the QR Code that allows you to upload a screen recording from your mobile device

    • Take note of the tooltip above the QR Code which informs you where your uploads will be saved
  2. Scan the QR Code, then, on your mobile device, click 'Browse...' and then click Upload

  3. To the right of the "Input Video Path" input field, click 'Browse...' and select the uploaded file

  4. Optionally, choose an output path.

  5. Feel free to use the Render and Hardware & Output tabs to configure the stabilizer to your liking.

  6. For Realtime, playback, hit Play. To produce a video file, hit Encode

  7. The stabilized footage will be saved to your chosen output path. If you didn't select one, it will default to rota-stabilizer/ in your Videos/ (Win/Linux), or Movies (macOS) folder.

How to Enable Transparency

In rota-stabilizer:

  1. Disable the background in the "Render" tab

In OBS (Windows):

  1. Add a "Game Capture" source to the current scene
  2. Select "Capture specific window" from the "Mode" dropdown
  3. In the "Window" dropdown, choose the option that says "Rotaeno Stabilizer" (rota-stabilizer must already be running)
  4. Check "Allow Transparency", then click OK

Building

macOS

brew install ffmpeg
zig build -Doptimize=ReleaseSafe

Windows

zig build -Doptimize=ReleaseSafe

Linux

  • TODO: i feel like this really depends on the desktop environment

The binary and its dependencies can then be found in zig-out/bin.