Check out the webhooks branch for an updated version of this script (unfortunately there's bugs within streamlink bug is fixed, waiting for new streamlink release > 1.7.0 ).
automatic-twitch-recorder
Checks if a user on twitch is currently streaming and then records the stream via streamlink
Dependencies:
- streamlink (https://streamlink.github.io)
- python-twitch-client (https://github.com/tsifrer/python-twitch-client)
- python (https://www.python.org/)
Installation:
- clone this repo or download
- make sure you have python3 installed
- open cmd/terminal
- change directory into folder containing the file 'requirements.txt'
- type
pip install -r requirements.txt
Usage:
Using the CLI (Command-line interface)
- in your cmd/terminal, run
python atr_cmd.py
- type
help
add streamer [quality]
: adds the streamer you want to record in given optional quality, e.g.add forsen
. Default quality:best
, quality options:1080p60, 1080p, 720p60, 720p, 480p, 360p, 160p, audio_only
time 30
: sets check interval in seconds, please don't go below10
remove streamer
: removes streamer, also stops recording this streamerstart
: starts checking for / recording all added streamerslist
: prints all added streamersexit
: stops the application and all currently running recordings
Example inputs to record forsen and nymn (this will also repeatedly check if they are online):
$ add forsen
$ add nymn
$ start
Outdated:
check.py is not supported anymore, it's only included for legacy purposes and may be removed at a later point in time.
in your cmd/terminal, runpython check.py [options] [user]
[time] is measured in seconds, e.g. '30' for 30 seconds[user] is the user you want to record, e.g. 'forsen'[quality] is the stream quality you want to record, 'best' is default. Refer to streamlink documentation for more info.
callpython check.py --help
for a detailed description.
Bugs:
- CLI shenanigans
- text will get printed into the prompt / user input. However, your input will still be valid, so do not worry. This does not restrict the functionality of this application.
- There's an open stackoverflow question for this. Any volunteers?
Plans for the future:
- Refactor to easily support any supported streamlink platform, e.g. YouTube and Mixer.
- When done recording, upload to YouTube
- Export to .exe so you don't have to install python
- PyInstaller and streamlink apparently do not work well together (streamlink will throw NoPluginError). Help is appreciated.
- Create a GUI with Qt (PyQt5 or PySide2) (fairly easy, but time consuming)