Twitch is (very) close to winning the battle against adblockers

The whole argument was about attention span vs engagement, then it got into about the quality of the content and that nothing matters in this thread…

I made it in the first place because the immediate effects are still apparent from the change. The question is moving on… Will they wise up with a new band-aid or will people just drop off when things get obnoxious?

Really if they wanted to they could completely prevent blocking simply by muxing in the ad to the stream directly, it wouldn’t be that hard to do.

That is what they’re doing. But the content is still arriving from a separate server and they still have to do standards compliance with the SCTE-35 standard I pointed to earlier, so it’s still blockable, but now not without interruptions.

No, I mean mux in directly, not use mpeg2ts to switch the stream.

That requires persistent re-encoding, which means everyone gets quality options because the stream is re-encoded for EVERY user. This would mean the “Source” quality would disappear, and that’s an incentive for some streams as a subscriber perk. If they REALLY wanted to do this, they would only make “source” quality limited to Affiliates and Partners and only through a subscriber perk.

No it doesn’t

All they have to do is match your encode configuration and take over the stream at the next keyframe, output the ad, then resume the program at the next keyframe.

This is something I could literally throw together in an afternoon with libav in C. The only issue is that your stream would not be “paused”, it would overwrite the segment the ad was playing for unless they are willing to buffer that content and allow the viewers to lag even further behind.

It is possible, but right now they’re using the SCTE-35 standard because the ad servers and streaming CDNs are not the same, but is spliced with MPEG-TS. When the servers are one in the same, Amazon COULD disregard the standard and just feed the segments without special flags with the same server as the CDN you’re getting the stream from. That moment is the true game over.

However, the SCTE-35 metadata contains the hyperlink to the advertiser that the Twitch player decodes. They’d have to embed metadata differently instead of using a M3U8 playlist metadata, that it uses metadata like how closed captioning is embedded.

May I also point out that ATSC 3.0 is also getting targeted advertising once that becomes the new 4K over-the-air standard.

1 Like

In a unexpected move, a principal engineer at Twitch emails Raymond (gorhill) of the uBlock Origin project stating that blocking via HLS will overload the CDNs:

Raymond -

Good to meet you. I am a Principal Engineer at Twitch that focuses on the Video Platform and write to alert and seek your help over a development that could disrupt the Twitch service, thus impacting Twitch users.

I recently came across the following discussion about SureStream and uBlockOrigin that I wanted to reach out to you about:

https://github.com/uBlockOrigin/uAssets/issues/5184

I have concerns around the direction the conversation is taking, and wanted to bring them to your attention as the maintainer of the project.

Reviewing the thread it appears that a set of contributors intend to make multiple master manifest requests on stream load. My concern here is that this puts significant additional load on our services that are invoked at the start of a video session. When large channels come online, or large channels quickly alternate between being up and down (i.e., RTMP disconnect, reconnect scenarios), the extra volume of requests this design imposes will significantly slow down Twitch’s ability to get users back to a live video experience. Essentially, the extra requests would result in a DDoS on our service.

My primary concern is that if the proposed change is merged and goes live it could cause service degradation that will require intervention and request blocking. I am asking for your help to avoid this situation and to steer efforts away from those that could impact our service stability.

I appreciate your attention and feedback, and remain available to discuss. I am going to be flying for the next several hours, but will check my email when I land, and will check several times over the weekend in case you have additional questions.

Cheers,
[Name redacted]

Within the last 24 hours, the old method appears to work again??? Guess this was a precautionary move from Twitch to avoid a super complex piece of JavaScript from hammering the servers.

I mean, just look how long this is:

https://gist.githubusercontent.com/pixeltris/e2d4194d7fd5bfa1df39470cb589a012/raw/7168b80b0ac2ee5ce8ef1ee5cc65f1975081b288/twitch_hls_test.js

Goes to show users can still win the battle. Accidental DDOS by adblocking, GG?

2 Likes

That seems like an unequivocal win in the adblocking arms race to me.

Whether they keep it this way is anyone’s question though. They may have dodged it this time, but upper management could pour more money into R&D for the battle. Facebook consistently changes element names, and Mobile Twitter uses fully randomized element names, so uBlock adapted to that.

I have great confidence that the arms race will continue, yes. Gorhill won a battle, not the war.

2 Likes

In the end it will be two AIs fighting it out:
One running on a distributed Server System, the other on millions of consumer PCs, Phones, Tablets and Notebooks, maybe two fridges and a rogue thermostate.

2 Likes

well there is the DDOS option if twitch ever decides to be cunts and disable easy adblocking. i did not join the internet revolution for ads i joined it to get away from ads.

2 Likes