Cool! I recently wrote my own user script to do the same thing. It's going to be very hard to patch or detect this, as updating video element props don't trigger DOM updates. They would have to either do lots of JS prototype trickery or check for playback rate when doing adblock detection. One thing to keep in mind here though since you're doing DOM lookups every time anything on the page changes, is that there could be some small overhead in page render time, and also that using fixed CSS classes means any small change to page code could break the checks. In case it's a problem in the future, checking .innerText is a hacky way to workaround it.
One can simply "videoElement.addEventListener('ratechange', callback);" to be notified the ad was sped up.
I mean the client can then undo this, as it can any JS the page offers, but there's nothing harder about detecting playbackRate changes vs something which causes a DOM update.
Exactly what happens on Twitch (that or a low quality version of the stream) if you use the few anti-ads that still work. And I don't mind that, if I do, I usually stop watching and move to something else... especially because their ads are even more annoying than YouTube, often multiple consecutive 30 seconds ads, unskippable. I do not know who watches these, especially when they cut something happening live.
I've never been a big consumer of Twitch, in part because I don't understand how they can decide that now you're going to forcefully miss the next minute of content.
In TV movies or YouTube, the actual content gets paused so that at least makes sense, it's just an interruption. But in Twitch it's like if they put ads in the middle of a football game! Imagine being interrupted for ads and back to players celebrating a goal.
Another thing Twitch does badly is to put ads on my face not even 30 seconds after joining a channel. Psychologically it feels like I haven't had time to get invested in the content, so it's not worth it to put up with the ads, and it makes me move somewhere else or close the tab.
On Twitch, the content creators can decide when to play an ad. They usually apologize for "having to do so", but they preferably do it at boring times in a match.
You might be in a country/region in which advertisers don't buy ads. But for quite some time now uBlock Origin isn't enough to block ads. Also if you are subbed/Twitch Prime to a streamer or have Twitch Turbo it might spare you a lot of ads too.
I have never paid a penny to Twitch, nor been given a gifted sub. So it's no that :) I know for sure my country has ads, as occasionally I load twitch app on my phone and it's unbearable.
There must be something different about how some of us are using uBlock Origin then - none o that applies to me, yet I only very rarely get ads for a day or so. I'm not even logged in to Twitch.
You might be interested in https://github.com/pixeltris/TwitchAdSolutions. A combination of its vaft uBlock script and using a VPN connected to somewhere in Austria has kept me pretty much ad-free for years.
Indeed, this is one possible end game, if we cannot block the ads from our computers, we can at least block them from our ears and eyeballs.
I view ads as a reminder to myself that I should maybe be doing something else with my time. I would love an ad blocker that blanked my entire computer screen for the duration of any ad, it would be a great chance to breathe and stop doom scrolling.
You could also just have a system that predicts which videos you are going to watch next / soon, and preloads them in the background, so that the minimum-ad time will have already passed by the time you are giving them any attention?
I think you under estimated the cost of your solution, the cost must not excess the profit from the ad.
You need hard work on the encoder to do that (at least to segment video, because re-encoding dynamically is obviously not an option). Not profitable for Google.
Why? How would you determine if the content that comes after the split is an ad? What if YouTube has 1000s of versions of the same ad, of which they insert one after the split?
The same applies for regular ads on websites. If the ad is delivery alongside the content, it can’t be blocked. But the industry doesn’t want this. They want cheap delivery of extremely targeted and tracked pushing of micro optimised advertising. That’s a reason to ad block alone. If a digital newspaper had the same ad for everyone on their website, with no tracking, I would be ok not to ad block it. That isn’t the creepy ad business I am inclined to block.
Arms race towards people running their own private YouTube instances which pre-fetch subscriptions and recommendations to skip ads. If the video hasn't been downloaded already it pretends to play the ad in the background while waiting. A minor inconvenience, but hardly the end of the world.
Be even easier if they provided an MRSS feed! I wonder if a popular channel on YT started making their content available in an easy to parse format like MRSS if they'd notice a significant loss in YT viewers in favor of it. Of course, they'd then lose the ad share, so probably not a thing that will happen.
How fast would YT issue a C&D if someone created an app that did this for you so that you just entered in the channels you follow, and then it would just check every so often for new content?
Shout-out Nebula, an alternative YT/creator platform which has no ads or sponsor segments. It's a monthly subscription but fairly cheap, and it gives you access to all videos on the platform (unlike patreon which is for a single creator). The monthly subscription cost is then split between all creators on the platform.
It's not a 1-1 alternative to YT as creators have to opt in, so most (imo low effort) videos/creators won't be on there. It's fantastic for any tech/engineering/history/news though, high quality/effort vids with no bullshit.
Note: I have no vested interest in Nebula, I'm just a user that's happy to support good creators and a platform that's actively opposed to advertising.
If this counts as an ad/spam - let me know and I'll delete this comment.
Storage is also horrifyingly cheap these days. Was just looking at recertified enterprise HDDs – can get a 20TB drive for $200. Wish I had some more spare change lying around!
This. For some corporate training sites they do this, which makes watching at 2x useless since you just have wait silently… but if you’re me, you get distracted, go do something else and then come back a month later when the nag email tells you you need to do the training.
I don't think I've ever completed a training course on time, only after getting "urgent: 7 days to complete".
I've got severe ADHD so these types of assessments are near impossible due to the slow dialogue and forced wait time. Though most of these courses give you multiple (or unlimited) attempts, so I'll screenshot each slide + wrong answers and brute force until I'm done. At least I can get other stuff done in the meantime.
What I do instead is attempt to reverse engineer what JavaScript function I need to call or web request is needed to make it think I competed the test/videos.
A common easy way is to just re-enable the “next” button. Even if it takes me longer than just doing legitimately, I find it more educational.
I was annoyed when a government security training exercise ranked "send the data using a trusted courier" as more secure than encrypting the data, and marked my answer incorrect.
The approach of trying to know what exactly the user does in their browser on their own computer and from that information to conclude whether something in front of the computer happened (the learning) is nonsensical at best and crime at worst (when done without consent or secretly).
Allow the user to give deliberate signals by marking parts as done and if necessary analyze the datetimes of those signals.
What expectations I have, is my own business. I definitely don't agree with being mistreated by an employer and it would probably make me look for another job, if an employer did that kind of thing.
'Expectation of privacy' is a legal term. It doesn't have much to do with your personal expectations.
In any case, what I meant is that actively lying and deceiving about whether you did the compliance training (or any other employer ordered training) can probably get you into hot water.
Just give me a nice PDF I can read in half an hour instead of 5 hours of training that insults my intelligence by making me wait for the audio to finish. At Walmart back in the day, I spent the first couple days doing training in the back - the dullest thing I've ever done. But turning on closed captions and listening to my own music instead of their audio made it tolerable.
Unfortunately, this is - like so many stupid things - governmentally-driven.
In some US States (e.g., California), there are requirements on how many hours of training on topic X must be done every year. So if you finish faster, they literally, legally, have to feed you more crap until the hours of training have been met.
This has already happend to me, probably unintentionally. Something in Cromite "broke" the ads and just showed a black screen before the video started.
I had something similar happen. I'm fine with a blank screen and waiting 5-30sec.
I don't want intrusive ads before during and after a 5 min video on water heater maintenance.
I've seen a few ads on Youtube that I actually appreciated watching. Quiet background music, a useful product, respectful presentation, text with no spoken words, and done quickly.
However, the vast majority are the exact opposite. Loud music, shouting, uncomfortable sound effects, a long playtime, and to top it off, either advertising an outright scam or else a product that I have no interest in whatsoever. Sometimes I have to rip my headphones off to protect my ears. Not to mention the timing -- ads between movements in a classical symphony, or else right during a passage itself.
It's a good reminder that while I've enjoyed Youtube for many years, I also have a CD collection I can listen to instead.
The worst was when Google was turning a blind eye to advertisers putting entire TV episodes and music videos in ads. It was infuriating to have something playing in the other room only to realize what should've been a 2 minute ad break somehow has been going on for 10 minutes.
Well really they could include a hash with each frame of video data, timestamp when clients have started watching and only allow sending the next x frames once y time has passed.
Really, they should just get rid of all ads and force everyone to pay a subscription, because apparently that's what everyone wants. Oh no, wait, they want neither; people want Youtube for free without ads.
Sure, YT could make less profit and therefore serve fewer ads/lower premium price, but in order to convince them to do that, humans would actually have to work together and boycott it to send a message, and as we all know that ain't ever gonna happen.
Making this work would likely mean that the CDN edge servers become much more stateful and the costs of operating that might outweigh the additional revenue.