LiveStreamDVR is an open-source project designed to automatically record livestreams from Twitch. After having many of my favorite streamers’ VODs deleted, I decided to create a tool that would automatically record them for me.
It utilizes Twitch’s API to identify upcoming streams and initiates recording around the time they go live. This efficient approach ensures that the capture starts before the retry-based alternatives do, considering the methods used by the latter have inherent delays.
It was initially written in PHP and used Twig for templating, but I later rewrote it in TypeScript and Vue.js 3 to better support in-memory processing of the VODs.
The project consists of multiple components:
- Server: Handles backend tasks, including API calls, VOD processing, and file management.
- Client: Provides a user interface for managing settings and monitoring recording progress.
- Chat Dumper: Extracts chat messages from livestreams, allowing users to revisit the livestream experience with context after the fact.
- Chat Viewer (separate project): Displays chat messages in a user-friendly format alongside the livestream after it has been captured.