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
StreamResolutionpicker. 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 → .streamingor.failed("...")with a localized reason, surfaced in the overlay
How to Use
Local Recording
-
Open Stream Settings
Go to Settings → Streaming & Media. Under the Local tab, pick encoder (H.264 / HEVC / ProRes), bitrate, and quality presets.
-
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.
-
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.
-
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
-
Open Streaming > Twitch or YouTube
Go to Settings → Streaming & Media and pick the Twitch or YouTube tab.
-
Enter Your Stream Key
Paste your stream key. Hit Verify — the VerifyButton shows immediate success or failure feedback inline.
-
Configure Resolution & Encoder
Select Native / 720p / 1080p / 1440p / 4K from the resolution picker. Higher values upstage CPU; choose ProRes only for local recording.
-
Start Streaming from the Game
Open any game. The game toolbar reveals the streaming button; click it to begin. Status transitions from
connectingtostreaming; errors surface inline. -
Stop Streaming
Click the streaming button again or close the game. The stream is cleanly torn down by HaishinKit.
Custom RTMP
-
Open the Custom Tab
Under Streaming & Media → Custom, enter your RTMP URL (with stream key appended as needed).
-
Click Verify
TruchiEmu attempts an in-process handshake to confirm the endpoint.