I've long wondered why they don't do this for video ads. If they were served as part of the main video stream it would be almost impossible for ad-blockers to filter them.
(I even think the DASH segmentation would allow them to this without reencoding the original video, but that's just speculation on my part)
I think maybe the problem is that you do need to have a seperate mode for ads, so you can click on them. and as long as that's the case, there are going to be ways to block them
- Embed ads into the video itself, as suggested above
- Stream ad start/end events to the browser, with no duration info
- On sending the start event, lock the user's session such that they can't change their position within the video. lock it server-side, and client-side. Start event will include details of the ad being displayed for any interactivity.
- Unlock the session after the duration of the ad has elapsed, which is only known server-side. Then send the end event to the browser so it can be unlocked client-side.
you could still block that ad, you would just be delaying people. the browser plugin could fake stream the ad before you click play. it still means you have to wait sometimes, but you won't have to actually watch the ad. The big problem with this is that now you're heavily incentivizing people to spoof ad watching to get around it, and then you start having trouble measuring the real numbers, which advertisers won't be happy about
Many VCRs had a feature to skip ads when recording, working solely on the (analog) video stream. They worked quite well using only the technology of the time.
For UK, it looks for a special mark being used by ITV companies (and Channel 4, which are ultimately controlled by IBA) which is mainly used to signal companies in other regions that they should switch to an advertisement tailored for their region [1]. Since the television channels were controlled by IBA and BBC, this is a for-sure way to skip advertisements.
I thought it was triggered by audio volume, because ads are typically louder and more consistently loud. Maybe it was a combination. Not so sure how well it ever worked, though.
Twitch has launched its crusade against ads. Going so far to look into all the adblock exploits being posted and patching them by day basis. Twitch is winning as of now. YouTube will do the same.
You can already effectively block all sponsored segment through SponsorBlock. I imagine that if Youtube were to randomly "inline" ads in the stream they're delivering to you, crowd-sourcing would also be an effective way to combat it. Make a "signature" of sorts of the video by pulling data from users and detect the ad bit on on your side using it. Well, that is if the ads come from the same domain as the legit video bits.
Very probably not. Dynamic ad insertion usually uses separate domains for serving the ad media and it's probably not viable to inject totally unblockable dynamic ads at the media level. And also not breaking YT for some clients on the way.
twitch.tv has started doing this very thing, so it's definitely possible. Twitch and youtube respond to each other's actions so youtube could easily end up doing this too.
It would probably be a good thing for me, since forcing annoying ads will make me stop using YouTube. I insta-close any website which forces me to turn off my ad blocker.
At first I thought you had a point (and for practical purposes, perhaps you do) but I don't think it'd be particularly challenging to inject video frames into a stream without re-encoding the original video.
It’s not that difficult a command compared to what is possible with ffmpeg. But it’s also a pretty common enough task that literally the first result for using DDG with “ffmpeg concatenate without reencoding” gave: https://stackoverflow.com/questions/49371422/how-to-merge-tw...