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.
|
|
|
|
The built-in Stats panel provides comprehensive insights into your recording activity:
|
|
|
|
| Site | Status | Auto-Record | Notes |
|---|---|---|---|
| Bongacams | ✅ | ✅ | — |
| Cam4 | ✅ | ✅ | — |
| Camsoda | ✅ | ✅ | Uses local proxy for stream rewriting |
| Chaturbate | ✅ | ✅ | Uses local proxy (CBProxy) |
| Dreamcam | ❌ | — | Not implemented |
| Stripchat | ✅ | ✅ | — |
| Platform | Status |
|---|---|
| ✅ | |
| 🚧 | |
| 🚧 |
Important
You must have FFmpeg to record streams.
- Download FFmpeg from BtbN Builds (latest
git-masterbuild recommended) - Extract
ffmpeg.exefrom thebinfolder and place it anywhere you like - 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.
# 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 buildThe 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 |
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 ifmkvmergeis in your PATH. - For other formats (MP4, TS), ffmpeg is used by default.
Reset configuration
If you encounter issues with config.json:
- Back up your current
reclistarray - Delete
Documents/live-rec/config.json - Restart the app to generate a fresh config
- Restore your
reclistinto the new file
Recording fails to start
- Verify FFmpeg is installed:
ffmpeg -version - Check the
config.jsonhas a validffmpegselectpath - 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
19337is not in use by another process - Ensure Cloudflare cookies are being captured correctly
Built with ❤️ using Electron Vite