A dumb tool to save twitch/youtube livestreams as they happen
Go to file
DrChicken 46e49797cc pass --force to streamlink 2021-11-12 07:37:21 -05:00
.gitignore add videos/ to gitignore 2021-09-17 11:47:19 -04:00
DOCS.md add stream url to hook data 2021-10-01 21:43:56 -04:00
LICENSE.txt Add 'LICENSE.txt' 2021-09-30 16:26:46 +00:00
README.md add streamlink to list of dependencies 2021-10-15 21:55:29 -04:00
config.example.toml add cookie support for membership streams - doesn't crash but don't have any memberships to test 2021-10-15 23:12:56 -04:00
config.go add cookie support for membership streams - doesn't crash but don't have any memberships to test 2021-10-15 23:12:56 -04:00
download.go pass --force to streamlink 2021-11-12 07:37:21 -05:00
go.mod add cookie support for membership streams - doesn't crash but don't have any memberships to test 2021-10-15 23:12:56 -04:00
go.sum add cookie support for membership streams - doesn't crash but don't have any memberships to test 2021-10-15 23:12:56 -04:00
hooks.go add stream url to hook data 2021-10-01 21:43:56 -04:00
main.go add cookie support for membership streams - doesn't crash but don't have any memberships to test 2021-10-15 23:12:56 -04:00
metadata.go use cookies for metadata fetching too 2021-10-19 14:57:44 -04:00
monitor.go pass arguments to format string 2021-11-11 21:02:55 -05:00
twitch.go match youtube output format to twitch, collect api metadata, output path template data 2021-10-07 21:19:36 -04:00
youtube.go add cookie support for membership streams - doesn't crash but don't have any memberships to test 2021-10-15 23:12:56 -04:00

README.md

stream-archiver

A dumb tool to save twitch/youtube livestreams as they happen

Features

  • Watching a configurable set of YouTube/Twitch channels for new streams
  • Automatic downloading of new streams
  • Automatic retries if a download fails
  • Easy (enough) configuration with a toml file
  • Hook system for notification, automatic uploads, etc.

Requirements

  • A recent Go version (built with 1.17)
  • A Twitch developer account
    • Twitch App Client ID
    • Twitch App Token
  • yt-dlp installed and in your PATH
  • steamlink installed and in your PATH
  • A Linux system (maybe, haven't tested on Windows)

Usage

  • Copy config.example.toml to config.toml
    • You can add more channels by adding a new entry in this file
    • The channel name is only used for identifying the channel in logs
  • Build the program with go build
  • Run the program ./stream-archiver
  • For more information, consult DOCS.md

Wishlist / To-do

  • Support for private (members-only) YT streams
  • Stream filtering
    • For example, only download streams with "members only" in title