this post was submitted on 13 Jun 2024
607 points (96.5% liked)
Technology
59429 readers
3092 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
This must cost YouTube a fortune doing additional processing and reduced flexibility. They are going to hurt themselves and blockers will find a way.
Every bit of effort and resourcing they spend on this returns revenue directly. Which is more than they can probably say for a lot of things they do. And they’re smart enough to know that they can’t eliminate blocking, just make it harder and harder so that fewer and fewer people do it.
You can check the SponsorBlock FAQ about this. They do not need to do additional reprocessing
Not really. They can precompute those and inject it in an MP4 file so long as the settings match and it's inserted right before an i-frame so that it doesn't corrupt b-frames. They already reencode everything with their preferred settings, so they only need to encode the ads for those same settings they already do. Just needs to be spliced seamlessly.
But YouTube uses DASH anyway, it's like HLS, the stream is served in individual small chunks so it's even easier because they just need to add chunks of ads where they can add mismatched video formats, for the same reason it's able to seamlessly adjust the quality without any audio glitches.
Ad blockers will find a way.
Re-encoding is one thing, but ads are more or less supposed to be dynamic based on user location and likely some other data to target them.
Offloading that to the client made a lot of sense but now they have to do this server-side, they have very smart people working on making this as efficient as possible using tricks you've mentioned and more but it is still more effort than before. All for something that will likely be circumvented eventually.
All of that targeting data lives on Google’s servers already. Your computer isn’t trying to figure out who you are and what you like each ad play, Google already knows who you are when your browser makes a request for a video. Everything you are talking about is already server-side.
The data is but the client gets the specific bits from a CDN. Now they need a server to stitch these server side and stream it to you.
There's already extensions that somehow skip sponsorship sections, so it won't even take that long.
The problem is those blocking extensions are based on timestamps. Those timestamps are added by the users, it's a crowdsourced thing. But the ads a single user will see differ from what another user will see. It's likely the length of the ads is different, which makes the whole timestamp thing a no go.
Along with the timestamp, there needs to be a way to detect where the actual video begins. That way at least an offset can be applied and timestamps maintained, but it would introduce a certain level of error.
The next issue would be to then advance the video to the place where the actual video begins. This can be very hard, as it would need to include some way of recognizing the right frame in the buffer. One requirement is that the starting frame is actually in the buffer (with ads more than a few seconds, this isn't guaranteed). The add-on has access to this buffer (depending on the platform, this isn't guaranteed). And there's a reliable way to recognize the right frame, given the different encoding en quality setups.
And this needs to be done cheap, so with as little as infrastructure as possible. A database of timestamps is very small and crowdsourcing those timestamps is relatively easy. But recognizing frames requires more data to be stored and crowdsourcing the right frame is a lot harder than a timestamp. If the infrastructure ends up being complex and big, someone needs to pay for that. I don't know if donations alone would cut it. So you would need to play ads, which is exactly what you intend on not doing.
I'm sure the very smart and creative people working on these things will find a way. But it won't be easy, so I don't expect a solution very soon.
That's actually hurt by this because it uses timestamps supplied by users to work. But now they are off because the ads are of variable length. We can just hope that YouTube keeps the ability to link to a specific timestamp because then it has to calculate the difference and that can be used by Sponsorblock and adblockers alike.
But then those ads either need to be skippable or not skippable with some kind of metadata which can be used against it by injected scripts.
That's "crowdsourced", i.e. manually done by volunteers on per-video basis.
I see a good use case for AI, can also be crowd sourced.