Email or username:

Password:

Forgot your password?
SponsorBlock (and DeArrow)

YouTube is currently experimenting with server-side ad injection. This means that the ad is being added directly into the video stream.

This breaks sponsorblock since now all timestamps are offset by the ad times.

For now, I set up the server to detect when someone is submitting from a browser with this happening and rejecting the submission to prevent the database from getting filled with incorrect submissions.

98 comments
Iain Cheyne

@sponsorblock can you see a way of working around this?

SponsorBlock (and DeArrow)

@iain the ui needs to change to include ad links, so the data for when ads happen should still be retrievable _somewhere_ in the page. Then just a bit of math

Iain Cheyne

@sponsorblock That's a relief. Thank you for all your great work.

gimmechocolate :verified_paw:

@sponsorblock @iain

It'd be pretty fuckin poggers if you could also use this data to skip the injected ads!

Also thanks for making such a great extension!

GwenTheKween :verifiedtrans: :neofox_nom_verified:

@gimmechocolate @sponsorblock @iain I don't think you can. Ads will have different lengths depending on our you got a 5s one, a 15s unskippable or a 30+s skippable ad

ferret

@GwenTheKween @gimmechocolate @sponsorblock @iain and the YouTube client side code in the browser will need to understand and deal with each of these situations, meaning the dom environment of the page will need to contain this info, meaning an ad blocker can make use of it

Lana Sarah Aurelia

@sponsorblock @iain fingers crossed

And thank you for the many hours you have already saved me.

HyperSoop :spinny_cat_aroace: :spinny_fox_agender:

@sponsorblock

YouTube is currently experimenting with server-side ad injection

wow when/if this reaches me it might be time to break my youtube addiction and say goodbye to google

HyperSoop :spinny_cat_aroace: :spinny_fox_agender:

@sponsorblock according to this pinned thread on uBO's subreddit, youtube devs and adblock devs are in a pretty heated fight, like, right now

HyperSoop :spinny_cat_aroace: :spinny_fox_agender:

that thread gives you an idea of the kind of overengineered obfuscated overdone mess the youtube website is

google is going way too far to temporarily inconvenience adblock users

Matthew

@soop
They stopped putting email ads in "Promotions" and are now part of normal main inbox.

Kay Ohtie, Bat-Yote!

@mrblissett @soop I wonder if they're a/b testing that; email is still categorized there as well as their injected fake-email ads for me but it would not shock me for them to put the latter in main too, ugh.

HyperSoop :spinny_cat_aroace: :spinny_fox_agender:

@KayOhtie @mrblissett i feel like when it comes to potentially controversial changes corpos use a/b testing to reduce any backlash

Kay Ohtie, Bat-Yote!

@soop @mrblissett they should actually listen to the backlash then cause it seems like half the time they don't

Niko :neofox_flag_nb_256: :neofox_flag_trans_256:

@KayOhtie @soop @mrblissett sadly if the testing makes a big corp more money they'll ignore all backlash and go ahead with it it seems

Kay Ohtie, Bat-Yote!

@soop @sponsorblock YouTube devs or YouTube managers/execs? Wild to think they've fired any dev who thinks it's scummy but does the work anyway and finally found the pool of devs who like ads

drawnto

@KayOhtie
I am curious how this scummy. Youtube provides a service under the condition that users watch ads. They stop delivering ads seperatly and include them in the main content stream just as TV does.

I know ads can be accessibility issue. But being able to block them never was intended functionality. So where is the scum.

Alexander Sosedkin
@drawnto @KayOhtie If your Internet Service Provider bans some of the Internet resources, it stops being an Internet Service Provider becomes a subset-of-the-Internet-provider and should be liable for false advertising because it's scummy. By the same logic, if a video hosting starts serving back videos that differ from what uploaded, it stops being a video hosting.
drawnto

@hazelnot

@KayOhtie

That we can agree on. It's less scum than monarchy & feudalism right now but that's hardly a good thing.

Lana Sarah Aurelia

@drawnto @KayOhtie

Accessibility features should be a default.

Furthermore, browsing without adblockers is like sex with strangers without condoms, but for your computer.

Arik

@soop @sponsorblock

That means that there's a critical mass of people using ad-blocking to trigger YouTube into fighting them.

Ergo, there are a lot of people unhappy with watching ads on YouTube. Honestly, when I watch YouTube without an ad blocker, the experience is horrible.

Ergo, when (and if) YouTube somehow wins that fight, a large number of people will be generally unhappy with YouTube. A certain percentage of them will quit YouTube.

Apparently the math works out (or at least YouTube think that the math works out) that the number of people quitting YouTube will be lower than the number of people who keep watching ads.

I hope they're wrong.

@soop @sponsorblock

That means that there's a critical mass of people using ad-blocking to trigger YouTube into fighting them.

Ergo, there are a lot of people unhappy with watching ads on YouTube. Honestly, when I watch YouTube without an ad blocker, the experience is horrible.

Ergo, when (and if) YouTube somehow wins that fight, a large number of people will be generally unhappy with YouTube. A certain percentage of them will quit YouTube.

Nikhil 🐧

@soop @sponsorblock I got my first Serverside injected ads today 😕

HyperSoop :spinny_cat_aroace: :spinny_fox_agender:

@realestninja @sponsorblock you should try adding the filters from the pinned comment on the reddit thread i've mentioned

bhtooefr

@sponsorblock …wonder if there’s enough metadata exposed to determine new offsets and block the injected ads? like, maybe something can be pulled from the transcript from known good submissions?

probably not accurate enough to make submissions on an injected video work properly, but.

ComradeVlast

@sponsorblock YouTube is freakishly devoted to staying with a monetization plan that has never worked for them and is currently not working for them

Rich Felker

@comradevlast @sponsorblock Except it IS working for them. They're just not content with obscene profits and want even more obscene profits, but they're incompetent and going to end up reducing profits.

irelephant

@dalias@hachyderm.io @comradevlast@mastodon.social @sponsorblock@fosstodon.org the fact that YouTube will demonentize someone for saying fuck and then shows porn ads tell you everything you need to know about them. They exist only to make profit.

Marián Kyral

@dalias @comradevlast @sponsorblock

I really would like to know how much costs all these server and the huge storage.

canleaf08 ⌘ ✅

@sponsorblock recent updates also break adblocking with ublock.

MegatronicThronBanks

@sponsorblock

I agree with the person who said that, if necessary, they will watch a black, silent rectangle with a countdown timer, until the ad has passed.

Waaaaaa the fire breathing Kyaru

@sponsorblock I am surprised they haven't tried this yet tbh. If the video is directly in the stream, it is much harder to block it.

Hazel

@sponsorblock you could download videos in advance, or ask people in the archiving scene if they have an archive like this. Then you could extract the timestamps pretty easy.

Another, and probably more realistic approach is, to get the add timestamps from the innertube api. I know for a fact they can be extracted from the progress-bar renderer and if I recall correctly on another more clean place. Ofc this breaks, if YouTube doesn’t transmit the add timestamps at all. But I highly doubt that will be the case, because they are needed to display the skip button and the colored progressbar. Then the algorythm to get the real timestamps would be very easy.

Since I already develop and maintain a music downloader for which I already reversengeneered youtube, I could reversengeneer it for you if you want to.

@sponsorblock you could download videos in advance, or ask people in the archiving scene if they have an archive like this. Then you could extract the timestamps pretty easy.

Another, and probably more realistic approach is, to get the add timestamps from the innertube api. I know for a fact they can be extracted from the progress-bar renderer and if I recall correctly on another more clean place. Ofc this breaks, if YouTube doesn’t transmit the add timestamps at all. But I highly doubt that will...

Brayd

@sponsorblock oh no 💀 YouTube getting even more annoying

TrackerRoo :verified:

@sponsorblock They are spending a lot of time and money to ensure that people see ads. Be great if they invested that much energy into improving the user experience

AlienKnight

@sponsorblock @TrackerRoo This made me laugh and also cry a little inside

Nik | Klampfradler 🎸🚲

And @sponsorblock is investing a lot of time and money into playing along with Google's game.

Imagine if all that were spent on improving the user experience on open platforms, so we could stop playing Google's game!

(Yet, thanks for the effort! It sure improves life for YouTube consumers, I just don't consider it sustainable.)

Steffo 🐲

@sponsorblock Does that affect people with YT Premium?

Lizzie

@sponsorblock@fosstodon.org this is why I always have newpipe as a backup for my subscriptions, and have that list locally backed up. I also just dont stay logged in on my web browser and only stay logged in on the youtube revanced patched app with no google services, and use cookie auto delete to always delete cookies unless I want them saved. We will always find ways to get around googles bullshit, they are just making it more difficult for the average actual user.

Hugo 雨果

@sponsorblock This sounds like it could also affect tools like yt-dlp :c

DELETED

@sponsorblock thank you for your work I also like to mention the wonderfull app github.com/polymorphicshade/Tu that's take advantage of sponsorblock

Paul Wilde :blobcatnim: :dontpanic_nobg:

@sponsorblock If they stopped spending so much money on trying to circumvent ad bypassing tools they wouldn't have to worry so much about the money lost due to ad bypassing tools

Kritik Pedas! :verified: 🏴‍☠️

@sponsorblock@fosstodon.org So, Youtube now following Twitch decision with their server-side ad injection and forced login that caught using VPN, some third party clients unusable in next years

FOSStastic

@sponsorblock I also noticed that they removed references to their RSS feeds from the HTML document. Those feeds are now no longer easily discoverable. Luckily they are still generated for now.

Should they stop providing those RSS feeds for channels and playlists, I might stop following YouTube creators altogether.

What Google is doing to YouTube is currently my main driver for reducing the usage of Google services even further. E. g. I finally switched my primary search engine away from them.

s1dul

@fosstastic @sponsorblock what have you chosen for the search engine?

FOSStastic

@s1dul Brave Search for web and video searches and Google for image searches.

I chose Brave, as, unlike Bing, it manages to find more relevant results and a more diverse set of websites

I really miss functioning search parameters and filters though (I have to still use Google for that) and would like to find a better, preferably non-American, alternative.
Google is the only search engine that is able to find somewhat (past year) recent images, therefore I had to keep it for image searches.

ssh://thepinkhacker.com

@sponsorblock The day sponsor block and ad block stops working is the day I stop using YouTubr all together.

DELETED

@ThePinkHacker But if you can add your followed YT channels in your RSS feed and if you choose the right reader, the videos will show up embedded in the feed where you can watch the video right there without ads. I use BazQux Reader.

ssh://thepinkhacker.com

@delosmzp If they embed it into the video stream, then they'll have the same issues

DELETED

@ThePinkHacker The issues being ads? Will have to see if YT fully rolls this out and how SponcorBlock accommodates this new issue. For now - I see no ads like this.

Kay Ohtie, Bat-Yote!

@sponsorblock jeeze. Does Sponsor block record video length info at all, or there a way to snag that metadata accurately without ads in order to calculate offsets?

SponsorBlock (and DeArrow)

@KayOhtie yes, but video length can also change because the uploader can cut parts of it (or uncut)

RolingMetal

@sponsorblock When you download your own video, you're getting it complete with ads? If so, that would be pretty fucked up :)

vxo

@uberprutser @sponsorblock that's what I'm afraid of - there will be no way to get a clean copy back ever again.

Kevin Karhan :verified:

@vxo @uberprutser @sponsorblock unless you as the uploader login and download it from the studio site.

vxo

@kkarhan @uberprutser @sponsorblock ahhh I didn't know that was an option, cool.

ark (28904)

@sponsorblock@fosstodon.org ohno. this will play ads even with invidious then.

Seiya Ryu

@sponsorblock
Why is every proprietary software / service always like this, tryna to subjugate and screw anyone. Alright I'm quitting YouTube now. Oh wait I can't, I have quitted a long time. My decision was right all along.

I only use newpipe and invidious to make YouTube lost money and protect my privacy.

The day sponsorblock and new pipe give up on YouTube war is the day I bid YouTube adieu.

Mayor of Nerdocrumbesia 🏡

@sponsorblock

This sounds like it will affect the download tools like "yt-dlp" too.

I guess I need to brush-up on my com-skipping skills.

Tommy Comment ?

@sponsorblock Waow. Funny. I was expecting Youtube for more than 10 years to start doing that, as it would be the only way to insert almost unblockable ads in video streams.

But as long as ads are clickable it's ok as you said.

But in the end they might add unclickable ads... maybe in 10 years :D

Scotty Trees

@sponsorblock I've been using YT for years, but I only just started using SponsorBlock about a year ago. Absolutely game changer. Just wanted to say thank you for all the devs/contributors hard work.

Hope to keep using it of course as it makes YT tolerable to watch, but also I appreciate little updates like this, so thanks again and good luck fighting the good fight!

Erik Johnson

@sponsorblock Ads suck and targeted advertising needs to DIAF, but honestly, if they are going to use ads, this is the way to do it, rather than forcing people to disable a vital piece of security software for today's internet.

fluffy 💜

@sponsorblock Hm, surely there's going to be metadata for where the ads are in order to make them unskippable in the player, right?

melontini

@sponsorblock Annoying, but I'm surprised it took them this long to try that.

🕊:verified:

@sponsorblock are the timestamps provided by the "copy video URL at this time" feature also broken? It would be surprising to see if YouTube broke that feature

SponsorBlock (and DeArrow)

@eligrey they'll have some mangled code to do a conversion between the timestamps in there somewhere to do those things

LacyGreenfelder

@sponsorblock Can Invidious/Freetube suffer from this or this happens only in the official web client?

SponsorBlock (and DeArrow)

@LacyGreenfelder unknown, but there is a separate experiment they are running as of a few days ago which requires signing in to view videos which is affecting those frontends

A January Sponge

@sponsorblock Urgh What an awful experiment.

Thanks for all you do.

Felix Urbasik

@sponsorblock I somehow doubt this will be deployed on a wide scale. It's too constly for YouTube to live encode video for every single user.

If I'm wrong I will probably just quit YouTube and go back to plain old TV shows and movies.

Pavel Machek
@fell @sponsorblock Why would they encode for every single user? First, they already do some kind of chunking. Second, they can just create 5 versions of each video, each with different advertisment, and then serve those. Update popular videos from time to time...
niconiconi

@fell@ma.fellr.net @sponsorblock@fosstodon.org I bet YouTube found a way to concat two videos without re-encoding everything.

hazelnot :yell:

@sponsorblock @fell @holsta it also costs a monthly subscription which sucks if you're poor

RAOF

@fell @sponsorblock my understanding is that this would be technically pretty easy - the encoded video streams have I frames every now and then, and these frames don't depend on having existing decoder state¹, so all² you need to do server-side is slot in your ad stream before an I frame and update the stream-container metadata to make it coherent again.

¹: it's how seeking works - going straight to 1:30:45 in a video doesn't require decoding 1½hrs of video, just looking up where the nearest I frame before that point is and decoding from there.
²: heh. “All”

@fell @sponsorblock my understanding is that this would be technically pretty easy - the encoded video streams have I frames every now and then, and these frames don't depend on having existing decoder state¹, so all² you need to do server-side is slot in your ad stream before an I frame and update the stream-container metadata to make it coherent again.

MigMit

@sponsorblock I wonder if they would keep the feature that lets you link a specific time in a video.

S :verified_paw: ren!

@sponsorblock yknow, I'm a little surprised it's taken them this long to try that.

ティージェーグレェ

@sponsorblock Fingers crossed!

SponsorBlock is perhaps the last effort at making that site viewable instead of a complete dumpster fire that it has devolved into.

Alas, there is no SponsorBlock for real world theaters, which seem to arbitrarily offset start times at random on movies where I pay to attend, so as to maximize audiences sitting through trailers (anywhere from as much as 30 minutes behind listed start times, with usually 15-25 minutes of advertisement "Noovie" bullshit before listed start times).

I was previously Senior System Administrator for CNEMedia (CyberNet Entertainment Media) which pioneered HD live streaming on the web: before YouTube even existed serving static content (heck, CNEMedia was serving static content before Google even existed). We had: 0 ads embedded into videos.

I do not have sufficient words for how much it.sh greed driven advertising tech needs to be eradicated; but I am grateful teams such as yours at least mitigate it downstream, even if it should be eliminated upstream and every individual who contributed to such things get their karmic just deserts.

@sponsorblock Fingers crossed!

SponsorBlock is perhaps the last effort at making that site viewable instead of a complete dumpster fire that it has devolved into.

Alas, there is no SponsorBlock for real world theaters, which seem to arbitrarily offset start times at random on movies where I pay to attend, so as to maximize audiences sitting through trailers (anywhere from as much as 30 minutes behind listed start times, with usually 15-25 minutes of advertisement "Noovie" bullshit before listed start times).

DELETED

@sponsorblock the fight for a clean internet and info consumption continues

fury999io

@sponsorblock I am not worried about ads. I am worried about downloading raw video from youtube. Now downloaded video would contain ads in between.

MegatronicThronBanks

@sponsorblock

Another one is if an extension replaces the ad with something better. That opens up a giant storm!

We have to pause our viewing because of a 1950s erroneous revenue model combined with it's-still-the-90s charging models, right?

What if the pause was filled in with Creative Commons entertaining material?

...

Mubelotix

@sponsorblock Youtube keeps spending money on a war they can't win. We will always find a way

softyoda

@sponsorblock A potential solution to this is to store not just a timecode on sponsorblock server, but a video-fingerprint (like store mean variance of group of pixels in like 5 random position, each 10 frame)

sad to have to fight this... (they premium cost so much also, and they censor everything, not neutral...)

bob

@sponsorblock do you know if they're injecting ads within individual DASH segments or do they have the ad serving logic where they serve the DSAH metadata?

Go Up