Automated Dockerfile to record livestreams with streamlink
This is a Docker Container to record a livestream. It uses the official Python Image with the Tag bullseye , installs streamlink and uses the Script streamlink-recorder.sh to periodically check if the stream is live.
This container has added functionality to turn off ads if the Twitch ID used to record the VODs are subscribed to the channel or has Twitch Turbo to skip ads.
To run the Container:
docker run -v /path/to/vod/folder/:/home/download -e streamLink='' -e streamQuality='' -e streamName='' -e streamOptions='' -e clientId='' -e clientSecret='' -e uid='' -e gid='' lauwarm/streamlink-recorder
Example:
docker run -v /home/:/home/download -e streamLink='twitch.tv/twitch' -e streamQuality='best' -e streamName='twitch' -e streamOptions='--twitch-disable-ads' -e clientId='twitch-client-id' clientSecret='twitch-client-secret' -e uid='1001' -e gid='1001' junhyunglee/streamlink-recorder
/home/download
- the place where the vods will be saved. Mount it to a desired place with -v
option.
/home/script
- the place where the scripts are stored. (entrypoint.sh and streamlink-recorder.sh)
/home/plugins
- the place where the streamlink plugins are stored.
streamLink
- the url of the stream you want to record.
streamQuality
- quality options (best, high, medium, low).
streamName
- name for the stream.
streamOptions
- streamlink flags (--twitch-disable-reruns, separated by space, see Plugins)
clientId
- Twitch API client id from Twitch Developer Console.
clientSecret
- Twitch API client secret generated from Twitch Developer Console.
uid
- USER ID, map to your desired User ID (fallback to 9001)
gid
- GROUP ID, map to your desired Group ID (fallback to 9001)
The File will be saved as streamName-YearMonthDay-HourMinuteSecond.mkv
This is a forked repo from lauwarm/docker-streamlink-recorder.