Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/CaramelHQ/Flashback/llms.txt

Use this file to discover all available pages before exploring further.

The Clip Editor gives you precise control over what ends up in your final video. You can shorten a clip to the exact moment that matters, remove dead air in the middle, adjust the balance between system audio and your microphone, and export a polished version — all without ever touching the original recording. Every operation is non-destructive: edits are stored in a separate edits.json index in Flashback’s app-data folder, and the source MP4 is never modified or overwritten.

Opening the editor

Open any clip from the Clip Library by clicking the Edit button on its card, or by double-clicking the clip. The editor loads the clip’s video, resolves its frame timestamps, and extracts separate audio waveforms for system audio and microphone (if the recording includes a mic track). A loading indicator is shown while this preparation happens.
Audio extraction happens once per clip and is cached on disk. Reopening the same clip is instant after the first load.

The timeline and segments

The editor timeline represents the clip as one or more segments — contiguous spans of the source footage displayed as blocks on a horizontal track. By default, the entire clip is a single segment spanning from 0 ms to the clip’s full duration. Each segment has:
PropertyTypeDescription
start_ms / end_msf64The portion of source footage included in this segment
pos_msOption<f64>Where this segment sits on the editor timeline (its left edge)
bound_start_ms / bound_end_msOption<f64>The maximum range the segment can expand to (set when it is created by a cut)
disabledOption<bool>Whether the segment is muted from playback and export
The output of an export is the concatenation of all active segments, in timeline order, with no gaps between them — even if segments are spaced apart on the timeline.

Trimming a segment

Drag the left (in) or right (out) handle of any segment block to trim it. The trim is constrained to the segment’s bound range, so you cannot accidentally extend a segment beyond the footage it was cut from. A minimum segment duration of 50 ms is enforced.
  • Dragging the in point moves the left edge rightward, cutting footage from the start of the segment and simultaneously shifting its timeline position so the right edge stays anchored.
  • Dragging the out point moves the right edge leftward, shortening the segment from its end without changing its position.

Cutting a segment

Place the playhead over the moment where you want to split, select the segment, and click Cut. The segment is split into two independent segments at the playhead position:
  • The left half gets a new boundEndMs at the cut point.
  • The right half gets a new boundStartMs at the cut point.
Neither half can be stretched past its own bound, so the cut is permanent for each piece. The two halves sit immediately adjacent on the timeline. The minimum segment duration of 50 ms applies to both halves — cuts too close to a segment edge are ignored.
Cuts are permanent within the editor session: once you cut a segment, neither half can be extended beyond the cut point. If you want to undo a cut, remove one of the halves and expand the remaining one back to its bound.

Disabling and removing segments

  • Disable a segment: Click the toggle on the segment block to mark it as disabled. Disabled segments appear greyed out on the timeline and are excluded from playback and export, but remain visible so you can re-enable them later.
  • Remove a segment: Click the × button on a segment block to delete it entirely. A clip must always have at least one segment; the remove button is disabled when only one segment remains.

Audio mixer

When a recording includes both system audio and microphone tracks, the editor exposes an audio mixer panel with independent controls for each track.

System audio

Controls the game and desktop audio captured via WASAPI loopback. Adjust the volume fader (0–1) or click the mute toggle to silence it entirely in the export.

Microphone

Controls the microphone track recorded separately alongside the game audio. Adjust its volume independently of system audio or mute it to produce a commentary-free clip.

Waveform display

The editor draws waveform peaks for each audio track directly below the timeline:
  • System waveform — visualises the system loopback audio
  • Mic waveform — visualises the microphone track (only shown if a mic track is present)
  • Mix waveform — visualises the final stereo mix (shown for clips recorded without a separate mic track)
Peaks are computed by Flashback’s backend on load and are represented as a fixed-width array of normalised amplitude values (0.0–1.0), making rendering lightweight regardless of clip length.

Exporting a clip

When you are satisfied with your edits, click Export. Flashback:
  1. Re-encodes only the active (non-disabled) segments using a single hardware H.264 encoder pass.
  2. Remixes system audio and mic audio according to your mixer settings, applying gain and muting.
  3. Writes the output to a dedicated Clips-Edit folder, separate from the original clips folder.
The export destination is determined by edit_dest(src), which appends _edit to the source filename:
Videos\Flashback\Clips-Edit\Flashback_2025-01-15_21-04-37_edit.mp4
The exported clip inherits the source’s game/monitor metadata (embedded as a uuid ISO-BMFF box), so it appears correctly labelled in the Clip Library.

Export progress

A progress overlay appears during export, driven by real-time events emitted by the backend (export-progress Tauri event). The progress value runs from 0.0 to 1.0. The overlay dismisses automatically when the export finishes.
Export re-encodes the entire selected footage with a hardware encoder. On modern GPUs this is very fast — a 5-minute clip at 1080p60 typically exports in a few seconds. The original file is never modified.

Capturing a frame

To save a still image from the clip, move the playhead to the desired moment and click Capture Frame. Flashback extracts a PNG screenshot from the source MP4 at that exact timestamp and saves it to your screenshots folder:
Videos\Flashback\Screenshots\<clip-name>_<timestamp_ms>.png
The file path is returned and can be opened directly from the notification that appears after the capture. The editor has Previous and Next buttons in its header. Clicking them switches to the adjacent clip in the same order shown by the Clip Library grid — without returning to the library first. Before navigating, any pending edits are saved automatically.
Open the Clip Library, filter or sort to the set of clips you want to review, and then open the first one in the editor. You can then step through all of them with the Prev/Next buttons, editing each one as you go.

How edits are persisted

Edit state is saved to a central edits.json file stored in Flashback’s app-data directory (load_clip_edit / save_clip_edit). Edits are indexed by the full path of the source MP4. This means:
  • Edits survive app restarts.
  • Renaming a clip in the library updates the index key so the edit is not lost.
  • Deleting a clip removes its entry from the index.
  • The original MP4 is never written to by the editor.
A debounced auto-save fires 400 ms after any edit action, so you do not need to manually save.

Clip Library

Browse and open clips for editing.

Instant Replay

Save retroactive captures that you can then trim in the editor.

Reference: Editor Commands

Full reference for all editor Tauri commands.

Reference: Audio Pipeline

How system audio and mic tracks are captured, separated, and remixed.

Build docs developers (and LLMs) love