Skip to content

YTLiveRecorder 1.3.1

Choose a tag to compare

@liquidcryptid liquidcryptid released this 24 Aug 01:09
· 12 commits to main since this release

YTLiveRecorder 1.3.1

Automatic YouTube livestream recorder (yt-dlp + ffmpeg).

Not affiliated with YouTube or Google.


Which file do I download?

Your computer Download this
Windows YTLiveRecorder-Windows-Setup.exe
Linux YTLiveRecorder-Linux.AppImage

Other files on this page (latest.yml, latest-linux.yml, *.blockmap, checksums) are for automatic updates — you can ignore them for a first install.


Usage

Windows

  1. Download YTLiveRecorder-Windows-Setup.exe and run it.
  2. If Windows protected your PC (SmartScreen): More infoRun anyway.
  3. Allow admin install when asked.
  4. Open YTLiveRecorder.
  5. Browse → pick a folder for finished recordings.
  6. Add channel — handle only (e.g. liquid_cryptid; @ optional).
  7. Start Monitoring. When a channel is live, recording starts.
  8. While Recording, click Stop next to that channel to save the current segment (monitoring continues; a new segment starts if the stream is still live).
  9. Stop Monitoring when done watching entirely — the app saves any active files as normal .mp4 under your folder.

Updates later: green badge next to the title, or Help → Check for Updates…

Linux (AppImage)

chmod +x YTLiveRecorder-Linux.AppImage
./YTLiveRecorder-Linux.AppImage

Same steps as Windows inside the app. AppImage supports in-app updates.


Patch notes (1.3.1)

Bug fixes

  • Long from-start recordings are no longer truncated on save — killing yt-dlp at stream end leaves .f248.mp4.part + .f140.mp4.part. ffmpeg remux used -shortest and discardcorrupt, so a YouTube DASH timestamp gap (common on multi-hour lives) stopped the copy at the first A/V overlap. Overnight jobs saved minutes (or seconds) of an 8-hour stream. Remux now copies the full parts (-max_interleave_delta 0, no -shortest) and retries a two-pass remux if the output is much smaller than the inputs. Auto-end waits ~20s for yt-dlp to close those parts (was 5s).
  • LIVE DASH hang after catch-up was invisible — the ~75s “no new bytes” failover only ran during catch-up. Once the row said LIVE, a hung googlevideo URL sat there until /live went offline, then remuxed whatever tiny prefix existed. The same stall now saves and switches to the live edge. Size is logged every 5 minutes while LIVE so this shows up in the log.
  • In-progress yt-dlp merge is not treated as a finished filetitle.temp.mp4 has no moov yet (killed mid-merge). Finalize skipped the real .fXXX parts and published a broken .temp.mp4. Those temp merges are ignored; leftovers are remuxed instead.

Full history: see CHANGELOG.md in the project repository.


Notes

  • 64-bit only (no macOS build)
  • First-time Windows installs may need SmartScreen “Run anyway”
  • Release version 1.3.1 (filenames do not include the version number)