(I even think the DASH segmentation would allow them to this without reencoding the original video, but that's just speculation on my part)
- 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.
1: https://en.wikipedia.org/wiki/Cue_mark#Cue_dots_in_televisio...
(Edit: my children comments are right)
[a]: This is assuming you know the magic incantation to get ffmpeg to do it
Also, Twitch has been waging a war of sorts against uBlock and others with their forced ads on streams you are not subscribed to. For the most part both youtube and twitch are doing their damn best force ads into all content though for the time being twitch does let subscribers to a channel avoid an ad on that channel
Indiscriminate measures don't provide helpful information. Support videos that have acceptable ads. Don't support ones that don't. Downvote them, comment, and, most importantly, be willing not to watch them, ever. YouTube can learn, much like a dog, as long as the feedback is clear and swift
It's a pretty good back around not having a Costco account.
To be fair, the ads themselves were interesting, I just didn't have time to watch all of them.