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.
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
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
- It does not. If you install a new browser and open YouTube the first time, they’ll be able to show ads to you
- 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).
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
Yeah it sucks, ublock can’t block twitch ads.
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
AIDSads 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.
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.
deleted by creator
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.
deleted by creator
The Ol’ Reliable.
If I recall correctly ads in the United states need to be labelled ads and is the reason #ad exists on Instagram
Sponsorblock “just” needs to transition from timestamps to timestamps + image hash. Not easy, but not impossible.
Jesus fucking christ YouTube really hates users
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.
Advertising is poison.
We could just ban it.
deleted by creator
See Flash websites ripping each other off for five years on either side of Youtube’s introduction.
See Bittorrent moving more video than Netflix until like 2012.
See twenty years of web-based P2P experiments. Weirdos with fat hard drives (hi) will always be happy to seed.
Or - crazy thought - services could cost money. It would not take much. Youtube’s not getting ten bucks each time you watch a video. Bandwidth and storage keep getting cheaper. Nor are they paying for content, unlike Netflix and so on, and those fuckers are also considering ads.
deleted by creator
But think of all the people that would die because they didn’t forward those emails to 10 people they knew…
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?
deleted by creator
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.
Wouldn’t this also completely break ad blockers?
Nah, it would just circumvent them.
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.
I think make ad run faster can circumvent this. wdyt? https://chromewebstore.google.com/detail/video-speed-controller/nffaoalbilbmmfgbnbgppjihopabppdk?hl=e https://chromewebstore.google.com/detail/nffaoalbilbmmfgbnbgppjihopabppdk?hl=en
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.