Stream Recording

Record your gameplay sessions locally (H.264/HEVC/ProRes) or stream live to Twitch, YouTube, or any custom RTMP endpoint — all without leaving the game.

Overview

The Stream Recording pipeline runs entirely in-process via HaishinKit — real RTMP handshake, AMF0 messaging, FLV mux, VideoToolbox H.264/HEVC encode, and AAC encode. There are no external processes, no pipes, no FIFOs, so backpressure flows synchronously without silent frame drops.

What You Get

  • Local Recording: Capture to local files in H.264, HEVC, or lossless ProRes 422 / ProRes 4444
  • Live Streaming: Stream to Twitch or YouTube (with stream-key verification), or any custom RTMP endpoint
  • In-Game Controls: Start / stop recording from the game toolbar without breaking flow; the record button's visibility adapts to your recording state and settings
  • VideoToolbox Hardware Encoding: H.264 / HEVC hardware encode plus AAC audio encode for minimal GPU/CPU impact
  • Stream Resolutions: Native / 720p / 1080p / 1440p / 4K via the StreamResolution picker. ProRes encoders demote to H.264 for streaming (FLV/RTMP doesn't carry ProRes)
  • Rolling Video Buffer: Tap a "save last moments" hotkey to write the past few seconds to disk — perfect for clip-worthy plays you didn't see coming
  • Share Button: Single-press and long-press share actions, configurable per game
  • Record With or Without Shaders: Choose whether the recording captures the post-shader drawable (CRT, LCD, etc.) or the raw core frame
  • Live Status: Connection status flows through .connecting → .streaming or .failed("...") with a localized reason, surfaced in the overlay

How to Use

Local Recording

  1. Open Stream Settings

    Go to Settings → Streaming & Media. Under the Local tab, pick encoder (H.264 / HEVC / ProRes), bitrate, and quality presets.

  2. Start Recording from the Game

    Launch any game. Click the record button on the in-game overlay toolbar to start. A red indicator confirms recording in progress.

  3. Save Last Moments

    Press the "Save Last Moments" hotkey during gameplay to flush the rolling video buffer to disk. The flushed clip is saved alongside your recording.

  4. Stop & Locate

    Press the record button again to stop. Completed recordings live in your configured save directory — reveal them via the share button's "Reveal in Finder" option.

Live Streaming to Twitch or YouTube

  1. Open Streaming > Twitch or YouTube

    Go to Settings → Streaming & Media and pick the Twitch or YouTube tab.

  2. Enter Your Stream Key

    Paste your stream key. Hit Verify — the VerifyButton shows immediate success or failure feedback inline.

  3. Configure Resolution & Encoder

    Select Native / 720p / 1080p / 1440p / 4K from the resolution picker. Higher values upstage CPU; choose ProRes only for local recording.

  4. Start Streaming from the Game

    Open any game. The game toolbar reveals the streaming button; click it to begin. Status transitions from connecting to streaming; errors surface inline.

  5. Stop Streaming

    Click the streaming button again or close the game. The stream is cleanly torn down by HaishinKit.

Custom RTMP

  1. Open the Custom Tab

    Under Streaming & Media → Custom, enter your RTMP URL (with stream key appended as needed).

  2. Click Verify

    TruchiEmu attempts an in-process handshake to confirm the endpoint.

Share Button & Hotkeys

The Share tab configures the share button interaction:

  • Single-press share: Quick reveal-in-Finder of the most recent recording / screenshot
  • Long-press share: Triggers the "Save Last Moments" rolling video buffer flush
  • Hotkeys: Bind controller or keyboard hotkeys for both share actions in Settings → Hotkeys

Related Features