My gut reaction is that this won’t work long-term. Users on youtube often point to specific timestamps in a video in comments or link to specific timestamps when sharing videos, meaning there needs to be some way to identify the timestamp excluding ads. And if there’s a way to do that there’s a way to detect ads.
Of course, there’s always the chance they just scrap these features despite how useful they are and how commonly they’re used; they’ve done similar before.
Feedback across the Firefox and YouTube subreddits highlighted that it could break timestamped video links and chapter markers. However, YouTube knows the length of the ads it would inject, and can offset subsequent timestamps suitably.
The move also adds a layer of unnecessary complexity in saving Premium viewers from these ads. If they are added server-side, the YouTube client would have to auto-skip them for Premium members, but that also means ad segment info will be relayed to the client, opening up a window of opportunity for ad blockers to use the same information meant for Premium subscribers and skip injected ads automatically.
The ads won’t be baked in beforehand, they’ll be injected into the stream in real time. Videos are broken into chunks and sent over HTTP, they’ll just put ad chunks in during playback. There is no need to re-encode anything. If you deep link to a timestamp, the video just starts from that timestamp as normal. If you are a Premium user, the server just never injects the ads.
But you are correct that the client needs to be aware that ads are happening, so they can be indicated on screen, and so click-throughs are activated.
This is why Chrome went to Manifest v3 - so you can’t have any code looking for ad signals running on the page to try to counter it.
My gut reaction is that this won’t work long-term. Users on youtube often point to specific timestamps in a video in comments or link to specific timestamps when sharing videos, meaning there needs to be some way to identify the timestamp excluding ads. And if there’s a way to do that there’s a way to detect ads.
Of course, there’s always the chance they just scrap these features despite how useful they are and how commonly they’re used; they’ve done similar before.
It sounds like there’s a silver lining after all.
The ads won’t be baked in beforehand, they’ll be injected into the stream in real time. Videos are broken into chunks and sent over HTTP, they’ll just put ad chunks in during playback. There is no need to re-encode anything. If you deep link to a timestamp, the video just starts from that timestamp as normal. If you are a Premium user, the server just never injects the ads.
But you are correct that the client needs to be aware that ads are happening, so they can be indicated on screen, and so click-throughs are activated.
This is why Chrome went to Manifest v3 - so you can’t have any code looking for ad signals running on the page to try to counter it.