Skip to content

TokyoTF/live-rec

Repository files navigation

Live Rec

Record live streams from your favorite platforms — automatically.

Electron Svelte Vite License: MIT

Windows Camsoda Chaturbate


About

Live Rec is a desktop application built with Electron that automatically monitors and records live streams from multiple cam platforms. It runs in the system tray, detects when models go online, and starts recording — no manual intervention needed.

Why use Live Rec?
  • Set it and forget it — add models to your list and the app handles the rest.
  • Resilient recordings — MKV format means partial files are still playable.
  • Multi-platform — supports several sites from a single interface.
  • Smart splitting — automatically concatenates segments after private/public transitions.

Features

Core

  • Auto Recording — starts when models go live
  • Manual Recording — one-click start/stop
  • Auto Resume — reconnects after disconnections
  • System Tray — runs in background

Tools

  • Mini Player — floating preview with stats
  • Recording Stats — codec, bitrate, FPS, resolution
  • Session Stats — tracks daily/total recordings
  • Smart Folders — auto-organized by model & date

Settings

  • Custom FFmpeg parameters
  • Adjustable status check intervals
  • Max recording file size (auto-split)
  • Pause on private shows

Advanced

  • Local proxy for Camsoda streams
  • Cloudflare bypass for protected sites
  • Configurable date formats
  • Auto-delete old recordings

Stats Panel

The built-in Stats panel provides comprehensive insights into your recording activity:

Overview

  • Online Count — models currently live
  • Recording Count — active recordings
  • Current Size — total data being recorded
  • Total Sessions — all-time recording count

Today's Session

  • Recordings Today — sessions completed today
  • Total Duration — time spent recording today
  • Active Time — total app uptime

All Time

  • Total Duration — cumulative recording time
  • Average Duration — mean session length
  • Unique Models — distinct models recorded
  • Favorite Model — most recorded model
  • Total Data Recorded — total GB captured

Breakdowns

  • By Provider — recordings, duration & size per site
  • By Model — individual stats with progress bars
  • Persistent across sessions (stored in config)

Sites Supported

Site Status Auto-Record Notes
Bongacams
Cam4
Camsoda Uses local proxy for stream rewriting
Chaturbate Uses local proxy (CBProxy)
Dreamcam Not implemented
Stripchat

Platform Support

Platform Status
Windows
Linux 🚧
macOS 🚧

Prerequisites

Important

You must have FFmpeg to record streams.

  1. Download FFmpeg from BtbN Builds (latest git-master build recommended)
  2. Extract ffmpeg.exe from the bin folder and place it anywhere you like
  3. In the app, go to Settings and select the path to ffmpeg.exe

Tip

You do not need to add FFmpeg to your system PATH. The app lets you select ffmpeg.exe directly from the settings.

Development Requirements
  • Node.js 18+ or Bun
  • npm, yarn, or bun package manager

Installation

# Clone the repository
git clone https://github.com/TokyoTF/live-rec.git
cd live-rec

# Install dependencies
npm install

# Start in development mode
npm run dev

# Build for production
npm run build

Configuration

The app stores its configuration at Documents/live-rec/config.json.

Key Configuration Options
Key Type Description
savefolder string Base path for recordings
recformat string Output format (mkv recommended)
dateformat string Filename date format
autocreatefolder boolean Auto-create subfolders
maxrecfilesize number Max file size in MB before split
pauseforprivate boolean Pause recording during private shows
useragent string Custom User-Agent for requests
ffmpegselect string Path to ffmpeg binary

Why MKV?

Tip

MKV is the default format because it is resilient. If a recording is interrupted — whether by a network drop, a crash, or a model going private — the file remains playable. MP4 files, in contrast, often become completely unreadable if not finalized correctly.

Warning

Pause on Private / Concatenation If you enable Pause on Private, the app will pause the recording when a model goes private and resume when they come back public. After that, it concatenates all segments into a single file. This process consumes CPU and disk I/O — especially with large files or many segments.

  • If your PC struggles or you are low on storage, consider disabling Pause on Private to avoid heavy concatenation overhead.
  • For faster MKV concatenation, install MKVToolNix (mkvmerge). The app will automatically use it for MKV files instead of ffmpeg, which is significantly faster for large files. You can set the path in Settings or leave it auto-detected if mkvmerge is in your PATH.
  • For other formats (MP4, TS), ffmpeg is used by default.

Troubleshooting

Reset configuration

If you encounter issues with config.json:

  1. Back up your current reclist array
  2. Delete Documents/live-rec/config.json
  3. Restart the app to generate a fresh config
  4. Restore your reclist into the new file
Recording fails to start
  • Verify FFmpeg is installed: ffmpeg -version
  • Check the config.json has a valid ffmpegselect path
  • Ensure the save folder exists and is writable
Camsoda not recording

Camsoda uses a local proxy to rewrite stream URLs. If recording fails:

  • Check that port 19337 is not in use by another process
  • Ensure Cloudflare cookies are being captured correctly

Built with ❤️ using Electron Vite

About

With this application you can record livestream +18 from these pages: camsoda, chaturbate and more

Resources

Stars

Watchers

Forks

Releases

Sponsor this project

Used by

Contributors

Languages