Streamlink Twitch plugin modified to work with the TTV.LOL API. This proxies the playlist request to a country where Twitch does not serve ads. Note that TTV.LOL can still rarely return a playlist with ads, if this happens you'll need to restart streamlink to get a different playlist (or try the experimental flag --twitch-reexec-on-ad
to do this automatically).
Follow the instructions below for your specific operating system.
If you wish to install manually, you can get the latest release here.
More info on Streamlink plugin sideloading here.
After installation you will need to point Streamlink at a playlist proxy server with flags.
Copy the command below and paste it into powershell. Do not run powershell as admin.
If you don't know how to open powershell. Press windows key + r and type powershell
into the box and press enter. Copy the contents of the box below and then right click in the powershell window and press enter:
$null= New-Item -ItemType Directory -Path .\AppData\Roaming\streamlink\plugins -Force; iwr -Uri 'https://github.com/2bc4/streamlink-ttvlol/releases/latest/download/twitch.py' -OutFile .\AppData\Roaming\streamlink\plugins\twitch.py
NOTE: If you cannot resolve the URL (receive an error), this is likely due to your TLS version. Run the command below to set your TLS version to 1.2 and re-run the above command:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Navigate to:
C:\Users\%username%\AppData\Roaming\streamlink
Then create the plugins
folder and drop the twitch.py
inside of it.
Run the below command in a terminal:
INSTALL_DIR="${XDG_DATA_HOME:-${HOME}/.local/share}/streamlink/plugins"; mkdir -p "$INSTALL_DIR"; curl -L -o "$INSTALL_DIR"/twitch.py 'https://github.com/2bc4/streamlink-ttvlol/releases/latest/download/twitch.py'
Copy the twitch.py
file to:
~/.local/share/streamlink/plugins
Run the below command in terminal:
INSTALL_DIR="${HOME}/Library/Application Support/streamlink/plugins"; mkdir -p "$INSTALL_DIR"; curl -L -o "$INSTALL_DIR"/twitch.py 'https://github.com/2bc4/streamlink-ttvlol/releases/latest/download/twitch.py'
Copy the twitch.py
file to:
${HOME}/Library/Application Support/streamlink/plugins
streamlink-ttvlol adds the following flags:
Flag | Example | Description |
---|---|---|
|
|
Proxy playlist request through a server that supports the TTV.LOL API (or a server that doesn't with a custom URL, see here). It can also be pointed at multiple comma separated servers which will try each server in order until successful. |
|
|
Can be used to exclude channels from being proxied (eg. you're subscribed to the channel and want to use your OAuth token to avoid ads instead) |
|
|
Enable if Streamlink should fallback to Twitch servers if all requests to playlist proxies fail. |
|
|
This is a convenience alias for:
|
|
|
(Experimental) Re-executes Streamlink to retrieve a new playlist when encountering an embedded advertisement segment. NOTE: If you're recording the stream to a file with -o or similar this will overwrite the file when it triggers. To workaround this you can create a unique filename for each re-exec by appending the current timestamp with metadata variables. |
If you're using streamlink-twitch-gui then you'll need to check the "Enable advanced settings and features" box on the Main
tab in settings. You can then add the above flag of your choosing to the "Custom parameters" box on the Streaming
tab.
If you're using Chatterino with Streamlink you'll need to add the above flag of your choosing to Settings -> External Tools -> Streamlink -> Additional options.