Saturday, November 23, 2024

YouTube tests harder-to-block server-side ad injection in videos

Must read

YouTube reportedly now injects ads directly into video streams to make it more difficult for ad blockers to block advertisements.

The report comes from SponsorBlock, a third-party browser extension that crowdsources data about which video segments contain sponsored content and skips them.

SponsorBlock reports that server-side ad injection will break its functionality, though solutions are coming. Most notably, it will also impact the effectiveness of other ad-blocking extensions people use on YouTube.

SponsorBlock tweet

Server-side ad injection

Currently, YouTube performs client-side ad injection, where JavaScript scripts and the video player on a user’s device load and display ads.

The video stream and ads are separate, and the player is programmed to pause the content and play ads at designated points.

Most ad blockers commonly disable YouTube ads by blocking the JavaScript scripts used to inject the advertisement into the video stream. SponsorBlock works a bit differently by crowdsourcing the information about different segments in a video and allowing users to skip those that are sponsored segments.

“SponsorBlock is an open-source crowdsourced browser extension and open API for skipping sponsor segments in YouTube videos,” explains the extension’s website.

“Users submit when a sponsor happens from the extension, and the extension automatically skips sponsors it knows about using a privacy preserving query system.”

Server-side ad injection integrates the advertisements directly into the video stream before the content is delivered to the viewer, so users receive a continuous stream that already has the ads built into it.

SponsorBlock explains that YouTube streams videos using a series of smaller video segments or “chunks,” which are stitched together to create a continuous video playback experience.

A manifest file determines the order in which these chunks are played, and when a user clicks on a video, the YouTube server sends a playlist that includes both content and ad chunks.

This approach complicates SponsorBlocks functionality because it offsets timestamps for sponsored content, and depending on the duration of the ads, the offset varies.

At the same time, it creates difficulties for ad blockers, which will be less capable of detecting the ads that are now part of the continuous stream, eliminating easily detectable client-side injections.

Solutions and workarounds

SponsorBlocks says it has resorted to blocking submissions from browsers experiencing server-side ad injection to prevent data corruption. However, this will become unsustainable as YouTube moves to server-side injection at a greater scale.

In the future, the tool will attempt to calculate ad duration through various detectable metadata and YouTube’s user interface elements, but the system isn’t ready yet.

For ad blockers, potential solutions include developing more sophisticated detection algorithms, leveraging metadata analysis, and using advanced pattern recognition to identify sudden changes in audio/video that may indicate the playback of ads.

BleepingComputer has contacted YouTube to request a comment on its server-side injection plans, but a statement wasn’t immediately available.

Latest article