If that is successful, I would expect youtube to switch to simply checking if the ads were actually served to the user. That wouldn’t require checking for adblock on the users computer. Of course the adblocker would just download the content and not display it if they did that.
Either that or merging the ad into the video stream itself. This would make it un-skippable, but would also be unblockable without stream processing (there are commercial skip options for ffmpeg and similar encoders, so not completely impossible, but much more work and more likely to mark real content as a commercial as well).
Since they target ads demographically and ads change frequently, that would be a mess… The encoding, storage, and tracking would be a Big problem.
If they go this route, it would only make sense if they build a new video codec that allows for linearly splitting content at key frames so they can concatenate the ads with the video in a single file at runtime.
Also, couldn’t ad detectors just start playback at the key frames?
Even if it works, it would still be a Big Deal since re-encoding all of YouTube would be Hard. I guess they could just use the codec for all newly added material. Playback might suck on older devices, too; idk if they use h264 (that has dedicated hardware decoders)?
I don’t think that inlining ads into the stream would be expensive, because of how adaptive streaming formats work. There are probably other reasons why they haven’t chosen this option yet.
This seems simple for one stream, but scale that up to how many unique streams that Youtube is servicing at any given second. 10k?
Google doesn’t own all of the hardware involved in this video serving process. They push videos to their local CDNs, which then push the videos to the end users. If we’re configuring streams on the fly with advertisements, we need to push the ads to the CDNs pushing out the content. They may already be collocated, but they may not. We need to factor in additional processing which costs time and money.
I can see this becoming an extremely ugly problem when you’re working with a decentralized service model like Youtube. Nothing is ever easy since they don’t own everything.
So what you would do is to generate the manifest files (HLS/DASH/what have you) on the fly to include the segments with ads. Since adaptive streaming is based on manifests, that stitch together segments of video files that together make up the underlying content in different bitrates, you can essentially just push in a few segments of advertising in-between the segments representing the underlying content. This isn’t particularly hard to do, and you’d get the full benefit of the CDN for the segments, so there’s really no issue.
or merging the ad into the video stream itself. This would make it un-skippable
That’s not true. Besides the point that people can skip any video content manually anyway, I already use a Firefox addon called “SponsorBlock for YouTube - Skip sponsorships”, which is configurable and works for other sites as well. The skip points are community maintained, but with the help of AI it should be easy to detect ads automatically. The point is, there are already tools to help with skipping video encoded content.
Sponsor block demonstrates one approach to this. If everybody has the ad at the same time stamps, sponsor block would just work out of the box.
If they got creative and introduced different time stamps for the advertisements for different people, then we could do something like MD5 hash of different video payloads, and look for the MD5 hash that isn’t distributed to everybody, mark that as an advertisement
Theoretically they could deny serving byte ranges before the end-of-ad mark until those bytes have been served and a plausible time (the duration of the ad) has passed.
Practically this is likely more expensive than what the ad revenue would yield.
Sure, but then you just need a youtube front running cache that preloads videos, or load multiple videos at the same time… i know i’m not the only person who watches youtube at 3x speed, so you could speed up past the ad, etc.
Do these actually work against HDCP? (Outside using a camera, obviously). I know it used to work decently well against most “ordinary” attacks like VMs and capture cards.
That will be irrelevant when the control freaks take over. Case in point: anti piracy ads in the good old DVD/BluRay days. Unskippable shit that ironically only punishes people who bought legitimate media.
If that is successful, I would expect youtube to switch to simply checking if the ads were actually served to the user. That wouldn’t require checking for adblock on the users computer. Of course the adblocker would just download the content and not display it if they did that.
Either that or merging the ad into the video stream itself. This would make it un-skippable, but would also be unblockable without stream processing (there are commercial skip options for ffmpeg and similar encoders, so not completely impossible, but much more work and more likely to mark real content as a commercial as well).
Thankfully it seems that encoding ads into the video stream is still too expensive for them to implement.
I’m assuming that asking CDNs to combine individualized ads with content and push the unique streams to hosts does not scale well.
Since they target ads demographically and ads change frequently, that would be a mess… The encoding, storage, and tracking would be a Big problem.
If they go this route, it would only make sense if they build a new video codec that allows for linearly splitting content at key frames so they can concatenate the ads with the video in a single file at runtime.
Also, couldn’t ad detectors just start playback at the key frames?
Even if it works, it would still be a Big Deal since re-encoding all of YouTube would be Hard. I guess they could just use the codec for all newly added material. Playback might suck on older devices, too; idk if they use h264 (that has dedicated hardware decoders)?
If they go back to contextual ads instead of making the NSA look like reasonable people, they could pre-insert them like some podcasts do
and for that, there’s SponsorBlock https://sponsor.ajay.app/
I don’t think that inlining ads into the stream would be expensive, because of how adaptive streaming formats work. There are probably other reasons why they haven’t chosen this option yet.
This seems simple for one stream, but scale that up to how many unique streams that Youtube is servicing at any given second. 10k?
Google doesn’t own all of the hardware involved in this video serving process. They push videos to their local CDNs, which then push the videos to the end users. If we’re configuring streams on the fly with advertisements, we need to push the ads to the CDNs pushing out the content. They may already be collocated, but they may not. We need to factor in additional processing which costs time and money.
I can see this becoming an extremely ugly problem when you’re working with a decentralized service model like Youtube. Nothing is ever easy since they don’t own everything.
So what you would do is to generate the manifest files (HLS/DASH/what have you) on the fly to include the segments with ads. Since adaptive streaming is based on manifests, that stitch together segments of video files that together make up the underlying content in different bitrates, you can essentially just push in a few segments of advertising in-between the segments representing the underlying content. This isn’t particularly hard to do, and you’d get the full benefit of the CDN for the segments, so there’s really no issue.
That’s not true. Besides the point that people can skip any video content manually anyway, I already use a Firefox addon called “SponsorBlock for YouTube - Skip sponsorships”, which is configurable and works for other sites as well. The skip points are community maintained, but with the help of AI it should be easy to detect ads automatically. The point is, there are already tools to help with skipping video encoded content.
There’s nothing to skip if they overlay small ads while the content is playing.
On the bright side such small ads may be less annoying than full screen ads.
Sponsor block demonstrates one approach to this. If everybody has the ad at the same time stamps, sponsor block would just work out of the box.
If they got creative and introduced different time stamps for the advertisements for different people, then we could do something like MD5 hash of different video payloads, and look for the MD5 hash that isn’t distributed to everybody, mark that as an advertisement
Theoretically they could deny serving byte ranges before the end-of-ad mark until those bytes have been served and a plausible time (the duration of the ad) has passed. Practically this is likely more expensive than what the ad revenue would yield.
Sure, but then you just need a youtube front running cache that preloads videos, or load multiple videos at the same time… i know i’m not the only person who watches youtube at 3x speed, so you could speed up past the ad, etc.
They could use stream encryption (DRM) to ensure you’re viewing the ads as expected and make it hard to capture and playback.
Its a arms race, you could always just record the screen with a camera and edit it out as the ultimate.
you could spin up a vm, and capture the video output
you could use a graphics driver that lets you inspect the frame buffer, etc
you could use the side channel attacks to get the decrypted video frames, heartbleed etc, etc etc
Do these actually work against HDCP? (Outside using a camera, obviously). I know it used to work decently well against most “ordinary” attacks like VMs and capture cards.
I believe HDCP keys have already been leaked, I can find a couple different references to them on GitHub even.
This would probably be unviable, since from a UX standpoint you want the first segments of the non-ad content to be preloaded when the ad ends.
That will be irrelevant when the control freaks take over. Case in point: anti piracy ads in the good old DVD/BluRay days. Unskippable shit that ironically only punishes people who bought legitimate media.
I honestly think that the people at Google are a bit smarter than that, but we’ll see whether that holds or not.
Probs a sponsor block like thing could work
deleted by creator