this post was submitted on 12 Jun 2024
373 points (98.7% liked)

Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ

54746 readers
222 users here now

⚓ Dedicated to the discussion of digital piracy, including ethical problems and legal advancements.

Rules • Full Version

1. Posts must be related to the discussion of digital piracy

2. Don't request invites, trade, sell, or self-promote

3. Don't request or link to specific pirated titles, including DMs

4. Don't submit low-quality posts, be entitled, or harass others



Loot, Pillage, & Plunder

📜 c/Piracy Wiki (Community Edition):


💰 Please help cover server costs.

Ko-Fi Liberapay
Ko-fi Liberapay

founded 1 year ago
MODERATORS
 

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.

(page 2) 47 comments
sorted by: hot top controversial new old
[–] [email protected] 19 points 5 months ago (1 children)

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).

[–] [email protected] 25 points 5 months ago

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.

[–] [email protected] 106 points 5 months ago (7 children)

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

load more comments (7 replies)
[–] [email protected] 48 points 5 months ago* (last edited 5 months ago) (5 children)

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
[–] [email protected] 14 points 5 months ago

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

[–] [email protected] 24 points 5 months ago

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

[–] [email protected] 18 points 5 months ago (3 children)

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

[–] [email protected] 4 points 5 months ago* (last edited 5 months ago)

How?

By the way, yes, it is.

load more comments (2 replies)
[–] [email protected] 13 points 5 months ago

imagine using Gemini for this, would be peak irony.

load more comments (1 replies)
[–] [email protected] 21 points 5 months ago (2 children)

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

[–] [email protected] 42 points 5 months ago (3 children)

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.

[–] [email protected] 15 points 5 months ago (3 children)

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.

load more comments (3 replies)
[–] [email protected] 15 points 5 months ago (1 children)

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.

[–] [email protected] 12 points 5 months ago

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

[–] [email protected] 24 points 5 months ago (2 children)

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.

load more comments (2 replies)
load more comments (1 replies)
[–] [email protected] 11 points 5 months ago (1 children)
[–] [email protected] 5 points 5 months ago (1 children)

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

[–] [email protected] 12 points 5 months ago

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

[–] [email protected] 59 points 5 months ago (5 children)

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.

[–] [email protected] 7 points 5 months ago

Yeah it sucks, ublock can't block twitch ads.

[–] [email protected] 24 points 5 months ago (2 children)

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.

load more comments (2 replies)
load more comments (3 replies)
[–] [email protected] 15 points 5 months ago (2 children)

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

[–] [email protected] 5 points 5 months ago

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.

[–] [email protected] 16 points 5 months ago

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.

[–] [email protected] 8 points 5 months ago (1 children)

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

[–] [email protected] 12 points 5 months ago (1 children)

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.

load more comments (1 replies)
[–] [email protected] 25 points 5 months ago

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...

[–] [email protected] 75 points 5 months ago (1 children)

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

[–] [email protected] 41 points 5 months ago* (last edited 5 months ago) (3 children)

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)

[–] [email protected] 9 points 5 months ago

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

[–] [email protected] 6 points 5 months ago

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.

[–] [email protected] 6 points 5 months ago (2 children)

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

[–] [email protected] 10 points 5 months ago (1 children)

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

[–] [email protected] 16 points 5 months ago (1 children)

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!

load more comments (1 replies)
[–] [email protected] 5 points 5 months ago* (last edited 5 months ago)

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).

[–] [email protected] 18 points 5 months ago (2 children)

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

load more comments (1 replies)
[–] [email protected] 73 points 5 months ago (1 children)

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

[–] [email protected] 6 points 5 months ago (4 children)

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.

[–] [email protected] 9 points 5 months ago* (last edited 5 months ago) (2 children)

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.

load more comments (2 replies)
[–] [email protected] 4 points 5 months ago* (last edited 5 months ago) (3 children)

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.

load more comments (3 replies)
[–] [email protected] 8 points 5 months ago

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.

load more comments (1 replies)
[–] [email protected] 14 points 5 months ago* (last edited 5 months ago) (1 children)

Wouldn't this also completely break ad blockers?

[–] [email protected] 24 points 5 months ago

Nah, it would just circumvent them.

[–] [email protected] 63 points 5 months ago (2 children)

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.

[–] [email protected] 21 points 5 months ago

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

[–] [email protected] 33 points 5 months ago

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

load more comments
view more: ‹ prev next ›