• Stars
    star
    253
  • Rank 160,776 (Top 4 %)
  • Language
    Python
  • License
    MIT License
  • Created over 4 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Record twitch streams live!

Ancalentari Twitch Stream Recorder

This script allows you to record twitch streams live to .mp4 files.
It is an improved version of junian's twitch-recorder, migrated to helix - the new twitch API. It uses OAuth2.

Requirements

  1. python3.8 or higher
  2. streamlink
  3. ffmpeg

Setting up

  1. Check if you have latest version of streamlink:

    • streamlink --version shows current version
    • streamlink --version-check shows available upgrade
    • sudo pip install --upgrade streamlink do upgrade
  2. Install requests module if you don't have it

    • Windows: python -m pip install requests
    • Linux: python3.8 -m pip install requests
  3. Create config.py file in the same directory as twitch-recorder.py with:

root_path = "/home/abathur/Videos/twitch"
username = "forsen"
client_id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
client_secret = "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"

root_path - path to a folder where you want your VODs to be saved to
username - name of the streamer you want to record by default
client_id - you can grab this from here once you register your application
client_secret - you generate this here as well, for your registered application

Running script

The script will be logging to a console and to a file twitch-recorder.log

On linux

Run the script

python3.8 twitch-recorder.py

To record a specific streamer use -u or --username

python3.8 twitch-recorder.py --username forsen

To specify quality use -q or --quality

python3.8 twitch-recorder.py --quality 720p

To change default logging use -l, --log or --logging

python3.8 twitch-recorder.py --log warn

To disable ffmpeg processing (fixing errors in recorded file) use --disable-ffmpeg

python3.8 twitch-recorder.py --disable-ffmpeg

If you want to run the script as a job in the background and be able to close the terminal:

nohup python3.8 twitch-recorder.py >/dev/null 2>&1 &

In order to kill the job, you first list them all:

jobs

The output should show something like this:

[1]+  Running                 nohup python3.8 twitch-recorder > /dev/null 2>&1 &

And now you can just kill the job:

kill %1

On Windows

You can run the scipt from cmd or terminal, by simply going to the directory where the script is located at and using command:

python twitch-recorder.py

The optional parameters should work exactly the same as on Linux.