Skip to main content

Steam Game Recording Exporter

PyPI

Export Steam's fragmented game recordings (.m4s + .mpd) as standard MP4 files without re-encoding. Choose recordings from an interactive terminal menu or use command-line options for batch exports.

  • Windows, Linux and macOS with automatic Steam path detection
  • Background recordings and saved clips, filtered by game or Steam account
  • Parallel exports with per-worker and overall progress
  • Original timestamps preserved, with optional folders per game

Original recordings are kept unless you explicitly choose source deletion or cleanup mode.

Quick start

We recommend uv, which also installs Python for you.

  1. Install uv, unless you already have it:

    # Windows (PowerShell)
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
    
    # macOS and Linux
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. Open a new terminal, then install and run the exporter:

    uv tool install steam-game-recording-exporter
    steamexporter
    

Update with uv tool upgrade steam-game-recording-exporter.

Already using Python 3.11+? pipx install steam-game-recording-exporter or pip install steam-game-recording-exporter also works.

Interactive mode

Run steamexporter in an interactive terminal. Use arrow keys and Enter to select, Esc to go back, and Ctrl+C to cancel.

? What do you want to do?
❯ Export recordings to MP4
  List recordings
  Clean up sources of already-exported recordings
  Show detected Steam paths

? Which Steam recordings?
❯ Background recordings (default)
  Everything Steam has stored
  Saved clips (manually created)

? Which game?
❯ All games (21 clips)
  Counter-Strike 2 (14 clips)
  Factorio (7 clips)

? Which of the 21 clips? All of them
? Output directory /home/you/Videos
? Group exported videos into game folders? No
? How many parallel workers? (HDD source: 1-2, SSD source: 2-4) 2
? Delete the original Steam folders after a successful export? No
? Export 21 clips to /home/you/Videos with 2 workers? Yes

The menu remembers the output folder and worker count. Game grouping and source deletion are off by default each run.

Command line mode

Pass the same recording filters and export settings directly:

steamexporter --list-clips
steamexporter --process-all --group-by-game --output ~/Videos
steamexporter --help

Both modes detect existing exports in flat and game-folder layouts without moving them. Active background recordings are skipped; stop the game and wait up to a minute before retrying. Saved clips are unaffected.

Logs and disk space

Allow space for temporary streams as well as the final MP4 for each worker. Temporary files are removed on success or failure.

Logs include runtime versions, fragment counts and FFmpeg diagnostics:

  • Windows: %LOCALAPPDATA%\SteamGameRecordingExporter\logs\
  • macOS/Linux: ~/SteamGameRecordingExporter/logs/

--verbose also prints debug logs to the console.

Development

Requires Python 3.11+; uv can install it automatically.

git clone https://github.com/yb-yu/steam-game-recording-exporter.git
cd steam-game-recording-exporter
uv sync --extra dev
uv run steamexporter
uv run pytest -q
uv build

CI tests Python 3.11 and 3.14 on Linux, and 3.14 on macOS and Windows, including large recordings, concurrent exports and cleanup. Package checks run the built CLI without a source checkout.

Use the Git-ignored scratchpad/ for local experiments and tests/ for regression tests.

License

MIT License

Metadata

Release files for steam-game-recording-exporter 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for steam-game-recording-exporter 1.3.0
File Size Uploaded
steam_game_recording_exporter-1.3.0.tar.gz 38.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for steam-game-recording-exporter 1.3.0
File Interpreter ABI Platform
steam_game_recording_exporter-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 64.9 kB

Release files / steam_game_recording_exporter-1.3.0.tar.gz

Download URL steam_game_recording_exporter-1.3.0.tar.gz
Size 38.3 kB
Tags Source
SHA-256 checksum
How to use checksums
d3a7923cefe01e039076e46329275060d9651a83bd8147a4912aa72457ac21a6
BLAKE2b-256 checksum
How to use checksums
2ecdba4bcba4d36c6f538ce53a844690c545af47e88142c99b3b361d816fd613
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release files / steam_game_recording_exporter-1.3.0-py3-none-any.whl

Download URL steam_game_recording_exporter-1.3.0-py3-none-any.whl
Size 26.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
240762c4bd4a1303dfb0d1a31c627fec08bb091498287ce9994bd5b248d11a79
BLAKE2b-256 checksum
How to use checksums
7c873720fa96bcc14fc634bd8dfb32917bab8e19759a4a3c94df110e3745fc4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 1, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files

1.2.1

2 release files

1.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page