SponsorBlock (and DeArrow): "YouTube is currently experimenting with server-si…" - Fosstodon

sabreW4K3@lazysoci.al to Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ@lemmy.dbzer0.com – 368 points –
fosstodon.org

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.

91

Step by step, it seems, YouTube is evolving into something that has previously been called TV.

If they carry on with this bullshit I'll be dropping them entirely for Nebula. I quite enjoy Nebula so far.

Support a federated open source peertube instance instead of proprietary centralized paywalled garbage like Nebula. Just because the shittification isn't there yet doesn't mean it won't be as soon as it gets a bit more popular.

I firmly believe that quality content needs to be paid somehow. And I'd rather not have that ad based. But I'm open to other platforms too. I'm just giving this a go and there's some good content on Nebula.

There is quite a variety of services like that, curiosity stream is another one.

I guess NotJustBikes did a good job on advertising Nebula. Thanks for the recommendation, I'm in the mood for trying alternatives. I'm even in the mood to give Linux another go because of all the bullshit MS is pulling off again.

Same Herr. Notjustbikes is amazing. Also on track to try Linux again, since gaming is becoming more and more of a thing

I really like the idea of Nebula, but the way they market themselves as "creator owned" without being an actual workers cooperative seems deceitful (still much better than YouTube, though!)

does this mean stuff like yt-dlp will download videos with ads in thrm as well?

Almost certainly not, although fair disclaimer, I don't actually know. Ads need to be tailored to the user when delivered, so it's likely the YouTube frontend requesting the next chunk of video to be an ad instead of the next chunk of video from blob storage. yt-dlp likely just requests successive chunks straight from blob storage, passing this.

If YouTube served ads by saying "point to an ad chunk next" in their blob storage, 1. Everyone would see the same ad and 2. Premium users would still see ads.

To patch this, YouTube really needs to stop serving video chunks directly from storage, but I forget the reason they haven't done that already.

(Technical note; I'm assuming blob storage chunks contain 1-2 seconds of video and metadata pointing to the next one, like a linked list. I'm not sure if this is how YouTube works, but many video platforms do this)

Ads need to be tailored to the user when delivered

  1. It does not. If you install a new browser and open YouTube the first time, they'll be able to show ads to you
  2. They could be tailored based on other factors too, like country, region, or even household by the IP

I think the backend could just generate the ad ridden video feed for the specific user. Most probably it would be very resource intensive, but I can only hope so.. but then I also don't know much about HLS and other fragmented streams so it might not be a performance problem at all.

like a linked list

I think the full list of chunks is (currently) known beforehand. That's how yt-dlp can download on multiple threads, but also how it can show the number of total fragments relatively quickly on the progress bar

yeah that makes sense. i was thinking maybe youtube had servers to decide what chunks clients would get, maybe by looking at whether or not they are premium users first. but anyway youtube still needs a way to differentiate between ad chunks and video chunks, otherwise we would just be able to skip 10 seconds through all the ads. surely that can be exploited somehow.

... which is why youtube has recently started blocking non-logged in users

Wait, they have? I wonder how/if that would affect the functionality of apps like Newpipe/Freetube.

It completely breaks them, currently: https://github.com/TeamNewPipe/NewPipe/issues/11139

This applies to at least NewPipe and yt-dlp, probably basically every such tool. Also, if you use logged-in cookies and download, they sometimes ban your account! Fun!

Gross.

Welp, I sure hope either we stay on the winning side of the cat-and-mouse game or a lot of creators jump ship to other emerging platforms (not that there are many), because it'd be a damn shame to have to stop watching some of the creators I enjoy watching. Many of them are damned talented folks IMHO.

I've heard good things about Nebula, but sadly a lot of the channels I watch are not quite on there yet. Also, I'm broke, so there's that. Lol.

Ew. I'm not entering account credentials on anything I don't own (ie, at work to see a tutorial on something I need to learn).

Looks like I'll finally get a reason to cut off another website I hate using, but never found the willpower to get rid off.

Good

I'll buy premium when they finally manage to either prevent adblocking entirely or make it sufficiently inconvenient. Stopping using YouTube is not an option for me and neither is watching ads. YouTube (along with porn) is the internet for me. If I'm not viewing either content, I'm probably not on my computer.

Hell, I don't even blame them. I can't morally justify blocking ads and viewing their content for free. I do it because it's easy and I get away with it. I don't believe in ads-based business model and that basically leaves subscribtion as the only viable alternative. Not paying and still using the service isn't exactly practicing what I preach.

I can't morally justify blocking ads and viewing their content for free.

I can't morally justify anything they are doing, and have been doing for many many years already. Yet I use their public services because they are unavoidable. But I would never give money to such a company.

The fact that you use their services despite claiming to oppose them probably tells more about how you really feel than your words do. You're benefiting from their abusive business model the same whey they themselves are. Justifying the continued use of their services by not paying is just a cope to deal with the cognitive dissonance.

It's pretty hard to not use their services when among else even fucking university courses only upload their content there.

Fixed a word, it was supposed to be unavoidable, not unavailable.

I'd get premium if they weren't so insistent on bundling in bullshit I don't want or care about to justify the high price. I put up with enough of that from cable TV. I'll pay when there's an ad-free tier that doesn't do anything else and is a reasonable price for "the service that's free with ads, but without ads". If there was a per-device premium tier that I could throw on my Roku, and all my family members could have premium when they stream from there, I'd pay for that. I'd pay for family tier if it didn't have the dumb single-household rule which screws over truckers and those who travel for a living.

Google has options they could take to convince consumers to pay to not see ads, but there's no creativity left there, no effort to court the market or adapt the service and prices to what potential customers need and are willing to pay. And it's because they believe they are the market, and want to keep it that way.

I'm pretty lucky not liking most YouTube style content these days, so don't consume too much of it like I used to. Lot of the creators feel like AI with the same phrase of if you are new to the channel like and subscribe and ring the notification bell...blah blah blah. And then drag out info that can be said in a minute into a 10 minute long ramble for the algorithm.

YouTube these days is more for music or checking out a part of a game I'm stuck on these days from a creator with like 1 sub putting up a 10 second long clip that gets straight to the point. Those guys are the heroes over the 5+ minute long uploads of the same content in comparison that has you have to dig into the comments to find where to skip to.

Tbh, I don’t think there is a definite “youtube style” that describes all content on youtube. There are some similarities and within categories of videos you can find styles that are more popular within that category, but site wide I would say it provides quite a bit of variety.

What could be called youtube style is that it’s not TV. In that sense YT style and TV style maybe make some sense.

I see YouTube style as the ones that are formulic with the plea to like and subscribe segue to sponsor and the obviously algorithm driven increased lengthen followed by the same tired robotic plea for interaction which is pretty much every big YouTube channel or wannabe big channel.

Doesn't help that search pushes up those type of channels and shoves smaller channels just uploading content just to share something.

I get what you mean, but don’t hate the player, hate the game. Even tho channels [have to] do that, there’s still a wide variety of content and the call to action doesn’t define the style of each individual creator.

I'm not giving google a dime, they take enough from me that I should be paid to use their shit. I'll just download what I want to watch, it's not really much of inconvenience.

I wonder how that will interoperate with timestamps provided by users in comments or by the video creator themselves. Maybe those can be used to detect inserted ads.

The server must have to send some metadata to the client telling when it's running an ad because there are other things that need to happen client side during that like adjusting of the time or making the ad clickable

I have actually been seeing some timestamps that are completely wrong lately, maybe this is why.

I'm kinda surprised they haven't done this already. Twitch has been doing this for a while now, and the only reliable way around it is to use a proxy in a country that Twitch doesn't run ads in.

Video length is incredibly important to The Algorithm and a LOT of content creators time their videos to the second. Taking away control of that (even if the end result ins the exact same length) is going to ruffle a lot of feathers and lead to a lot of people who want to "be a champion for the viewers who should like, comment, and subscribe and use my referral code for war thunder" as a result.

Surely The Algorithm will not know of the ads inserted, so that won't influence the results.

Never underestimate the ability of a small change to completely break a system

I think Twitch has gone to shit lately, because of their decisions, but I don't know the numbers. Do you have any info about this?

Oh, it's been pretty crap for a while now. I constantly see viewers complain about AIDS ads and even content creators feel poorly about them.

Looking at https://twitchtracker.com/statistics shows a relatively flat viewership base. Since January, they've seen a decrease of close to 15% viewers and concurrent channels. It appears that they had a large increase in viewers and channels in 2020, probably due to Covid, and since then they have been in decline.

Thanks Limewire, even though you used to put virus on my computer.

I wonder if this is where AI might be useful where it's used to filter out all of the megacorp ads, popups, and other random garbage?

  • train LLMs on megacorp content and use it to filter out results
    • sponsorblock adds this as a toggleable option just like the "skip segment" UI video overlay button

Using AI to fuck the megacorps would be amazing. Using their own tools against them.

Sounds wasteful, detection of ads could be detected with regular software, no?

Even when you don't know the language, you can judge if something is an ad just by an overly excited tone of voice. I wonder if someone has tried writing an ad detection algorithm already. It would still be a lot heavier on resources than SponsorBlock.

Often times that's the case but some ads also use other tones. Trying to make a super emotional and sad story or something.

imagine using Gemini for this, would be peak irony.

That would be cool.

I guess my AMD Bulldozer TV PC is gonna have to go in the ewaste bin though. Its already stretched to its limit running Linux Mint, Firefox, uBlock Origin and Sponsorblock as it is

They should still have to indicate that it's an ad, the problem is that they'll probably block you from seeking past an ad

I miss the times when ads were just annoying gifs on the left or right side of a web page. Then they evolved, abusing javascript, to become pop ups that hid the URL bar and opened 3 dozen different pop ups while you didn't close the mother popup. Then they started clickjacking: that close ad button? Just opens another ad. Ad infinitum.

Now, effectively editing the video to add an ad somewhere instead of serving it as a side file. The advertising industry as a whole feels like the absolute worst villains at a personal level, because they want to target you individually.

1 more...

It was inevitable (and is arguably the "logical" extension of sponsor segments).

As for what it will do to timestamps: The same thing it does to timestamps in podcasts. Some podcast players have a special way to tag the timestamp to adjust with the inserted ads but NOBODY hosts with those. So they are rendered useless.

On the youtube side? They could potentially be auto-adjusted because youtube will know how many ads were inserted . But considering the goal of this is to serve ads...

Wow that’s very annoying. What does this mean for the future of adblocking?

It'll be difficult for a while until someone figures it out and then it'll be easy again. It's just an arms race.

The last time Google pulled out all the stops to fight ad blockers, I had to update uBlock Origin every now and then until the whole thing passed. That's all.

So I'm not worried. But I am amused that they keep making ads more obnoxious, which pushes more people to use ad blockers. I didn't even use sponsorblock until a particularly egregious bit of native advertising. They could probably gain ground by just making ads less irritating, but they absolutely will not.

Capitalism is in the end, fighting for monopoly. They rather lose money in foreseeable future, and probably ever, than allow adblockers do their thing for small user-base. Because they want max. control. I can only assume companies that do not go to arms race with their consumers are thee ones that aren't public traded companies.

It might even be simpler than that. Capitalism just doesn't care past the next quarter. And when ownership is disconnected from labor or even from customer, than it's just a really rudimentary collective intelligence. The shareholders just want the line to go up, and everyone in the corporate structure is accountable to the shareholders, so they all do their part, big or little, to make that happen. It completely dispenses with personal responsibility, whether for negative externalities, direct harm, or even the future as close as months from now.

This one might be harder, if YT just sends the ad like it was part of the video file, generating it on the fly, it's a lot harder to detect, and probably not too hard for them to do, but breaking timestamps is pretty bad for some types of videos, like tutorials.

I think the larger content creators will push back against this, precisely due to the timestamp issue.

it would require government intervention. Where a regulation must declare that ads must clearly be labelled as ads, so that adjustments can be made by detecting when is the ad segment happening.

If I recall correctly ads in the United states need to be labelled ads and is the reason #ad exists on Instagram

2 more...
2 more...

Sponsorblock "just" needs to transition from timestamps to timestamps + image hash. Not easy, but not impossible.

2 more...

At least it should still work with the hard coded sponsor spots that are actually part of the videos (like the "brought to you by Manscaped" or whatever).

Only if the ads are a fixed length and always in the same place for each playback of the same video.

Inserting ads of various lengths in varying places throughout the video will alter all the time stamps for every playback.

The 5th minute of the video might happen 5min after starting playback, or it could be 5min+a 2min ad break after starting. This could change from playback to playback; so basing ad/sponsor blocking on timestamps becomes entirely useless.

Also, if the ads where in different parts of the video every time, it would not be possible to use SponsorBlock for them :(

How does a client know when to block the user from fast forwarding to prevent them from skipping over the ad? Could something like sponsorblock detect that to know where the ads are placed?

1 more...

If they are part of the video you cant just skip them like any other part of the video, right?

Different users would see unique ads. So your ad could be 12 seconds long while my ad is 30 seconds long. A timestamp based skip would no longer work universally.

That's what SponsorBlock already does. It however doesn't detect the sponsor but instead it jumps over a part of the video marked with timestamp but with different people seeing different lenght ads, these timestamps no-longer match.

Genuinely I'd be fine if someone made a thing that when an ad started a black overlay would go up and the spund would be muted.

Wouldn't this also completely break ad blockers?

Nah, it would just circumvent them.

How would it detect that the currently playing section was an ad then?

The state of whether it's an ad has to be somewhere clientside as the ads can't be skipped by the user.

Switch to 3rd party clients like pipe-viewer (doesn't need api key), it's less likely (though I suppose not impossible) google would roll this out against 3rd party clients as they can't track you for targeted ads.

To people thinking of joining Nebula because their marketing team/shills are currently spamming this thread, see peertube (federated like lemmy, open source)

To people thinking of joining Nebula because their marketing team/shills are currently spamming this thread, see peertube (federated like lemmy, open source)

Peertube is fine, but like lemmy (but worse), there's barely anything there. Nebula at least got creators from YouTube to make ad-free versions for Nebula. If the channels that a person are subscribed to don't exist in Peertube, that's not an appealing alternative for them.

If they are injecting ads into the actual video stream; it won't matter what client you use. You request the next video chunk for playback and get served a chunk filled with advertising video instead. The clients won't be able to tell the difference unless they start analyzing the actual video frames. That's an entirely server-side decision that clients can't bypass.

While I think federated services are a good idea in theory, the unfortunate reality is that they're also privacy and GDPR minefields that nobody has figured out how to make legal yet.

Has any federated service ever been in trouble for GDPR?

I think for that to happen, it would have to be on a server hosted in the EU, owned by a corporation, with a user that just happened to report them for violations.

Is this why I've been getting constant buffering at the start of videos?

Do you use Firefox?
because Google intentionally nerfs loading performance on any non-Chrome browsers.

I usually find if startup buffering takes more than 2-3 seconds on my home Internet, just refreshing the page magically makes it go away.

Yeah Firefox + Ublock Origin. It buffers for me indefinitely and the only way to fix it is to skip ahead 10 or so seconds. If I then go back 10 seconds it starts buffering again.