Updates:
10/1/2021: A combination of Firefox, ublock-origin & TTV-LOL works wonders
12/22/2020: Always install Streamlink's latest dev version to dodge Twitch's embedded ads
- Windows: https://streamlink.github.io/latest/install.html#windows-binaries
- Linux: https://streamlink.github.io/latest/install.html#pypi-package-and-source-code
Recently, Twitch has changed its UI elements into some of the most hideous and bloat-filled mess one could experience online.
1. The Twitch clips section has been buried
Before:
- Go to streamer page
twitch.tv/<STREAMER>
- Click on Clips
Now:
- Go to streamer page
twitch.tv/<STREAMER>
- Click on Videos
- Click on the dropdown next to "Filter by"
- Click on Clips
One less click goes a long way when it comes to discoverability and motivation for clip-watching. If it was only this change, however, I wouldn't be so upset. But it's the next part that drives me up the wall.
2. The stream itself now plays in the background
That's right: If you don't have media autoplay blocked and muted in your browser settings, chances are the stream will autoplay in the background when you're navigating through clips and/or VODs to choose from.
The above graph is from Firefox Devtools' performance recorder, in which the drop in frames per second started when I clicked on Videos, where a DOM event took a whopping 443.66ms to finish. Here's another Promise Callback that took 773.95ms.
The machine in use was a Dell Inspiron 5577, which isn't too shabby since I bought it in 2017 and uses an i7-7700HQ for CPU. It should have been handling this well, right? RIGHT?
Unfortunately, that wasn't the case. Don't even get me started on Twitch's performance on the PI 3B+ and 4 either.
So what can we do about this?
Solution: Streamlink & Chatty
The Twitch experience (for me) can be summarized as "watching someone playing video games and chatting with them through the chat window."
- First part can be done through Streamlink CLI: For those who don't know, this tool pipes videos streams from various sources (Twitch, Youtube, nicovideo,...) into a video player of your choice. Installation options below. You can also use Streamlink GUI if you don't want to mess with the command line interface.
- Second part is done through Chatty, which is also straightforward to install. The only caveat here is that on Linux, you have to use a .jar for the application.
Workflow
- Open terminal/cmd
- Type
streamlink <STREAM URL> <QUALITY> <PARAM>
e.g:streamlink twitch.tv/cohhcarnage 720p --player-no-close
- Open up Chatty and join your streamer's channel. BTTV and FFZ emotes are included through a toggle.
- Enjoy!
And now for the performance. The difference here is night and day.
Afterwords: I don't know what reasoning they can use to justify these changes other than "We want the stream to play in the background, so our ads can also play while you're busy navigating through our page." Hopefully in the future this will be fixed, but for now I really don't enjoy the Twitch webpage as much as before. Their mobile app has improved quite a bit though, I'll admit that.