disable-html5-autoplay
disable-html5-autoplay copied to clipboard
disable-html5-autoplay ineffective on many media websites
Obviously media websites including the NYT, WaPo, BBC, many others are unaffected by disable-html5-autoplay -- are there plans to update the extension? If not, what are alternatives? (My apologies if this has been answered already.)
Did you read the latest news from the README? (It should be linked from the text you should have seen and deleted when writing your issue). If so, what clarifications do you need about the news?
Hi Eloston,
I think I found it.
The way I read this is that the Chrome autoplay blocker is no longer being updated, but there is way to block autoplay via the browser.
I can't figure it out though. Can you tell me how to block using the browser? I want to write about this, explain to others.
Please help!
On Thu, Jun 22, 2017 at 2:26 PM, Eloston [email protected] wrote:
Did you read the latest news from the README? (It should be linked from the text you should have seen and deleted when writing your issue). If so, what clarifications do you need about the news?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Eloston/disable-html5-autoplay/issues/175#issuecomment-310507250, or mute the thread https://github.com/notifications/unsubscribe-auth/AcPu2QoP7a7yyp8m04GnzqiB-xtxpCJMks5sGtvogaJpZM4OBuvO .
Disable HTML5 Autoplay is no longer maintained by me. I do not know of anyone that is working on Disable HTML5 Autoplay.
There is a separate autoplay and autobuffering disabling algorithm from Google that will be featured in Chrome. The report indicates that the implementation is not complete, so it may take a few major Chrome versions before it is ready for use.
Hope this helps.
Very helpful. Can I get your name to quote you in a blog post?
Here's me: www.linkedin.com/in/erik-skindrud-9aab8b28/
On Thu, Jun 22, 2017 at 6:18 PM, Eloston [email protected] wrote:
The README is here https://github.com/Eloston/disable-html5-autoplay/blob/master/README.md.
Disable HTML5 Autoplay is no longer maintained by me. I do not know of anyone that is working on Disable HTML5 Autoplay.
There is a separate autoplay and autobuffering disabling algorithm from Google that will be featured in Chrome. The bug report references a design document of the algorithm. The report also indicates that the implementation is not complete, so it may take a few major Chrome versions before it is ready for use.
Hope this helps.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Eloston/disable-html5-autoplay/issues/175#issuecomment-310544343, or mute the thread https://github.com/notifications/unsubscribe-auth/AcPu2QcghqCZPC3fl3Q-tgycwtvQkrwhks5sGxJWgaJpZM4OBuvO .
Sorry, I prefer to keep my real identity separate from this username. You can use my username as you see fit.
Thank you. I understand.
Please let me know why you no longer update the autoplay blocker. Has Google engineered ways to defeat it?
Is it a case of powerful forces united behind autoplay?
On Thu, Jun 22, 2017 at 7:05 PM, Eloston [email protected] wrote:
Sorry, I prefer to keep my real identity separate from this username. You can use my username as you see fit.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Eloston/disable-html5-autoplay/issues/175#issuecomment-310550594, or mute the thread https://github.com/notifications/unsubscribe-auth/AcPu2UAe7YtcOfxY9R19nT6eogXrBYbiks5sGx1NgaJpZM4OBuvO .
EDIT: I should note that this is now referenced in other Disable HTML5 Autoplay documents for anyone to read.
I might as well answer the question once and for all: Why did I stop working on Disable HTML5 Autoplay?
The main reasons
-
Google is now working on this problem in the browser. Because it's in the browser itself, it has more capabilities that can overcome some technical limitations of extensions (discussed more in the following section).
- However, the current design proposed has some limitations and lacks some granular control (they are discussed at the end of the design document).
- In the long run, I believe Google will be able to design something that is sufficient for most users. Google acknowledges the audience that is dissatisfied with autoplaying (in fact, they reference Disable HTML5 Autoplay in the design document).
-
Lack of interest. It was fun working on Disable HTML5 Autoplay for a while, but it became more mundane as time passed.
- The amount of time it would take is much greater than the gain I can see. (The more technical section explains in more detail). Also, it takes a good chunk of time to respond to users on GitHub and the Chrome Web Store.
- What killed off the motivation was the lack of necessity; I started this extension because someone I know requested it. I have other projects that I'm more interested in now, and other ideas that I want to explore down the road.
- Now that Google's working on this problem, I have less of a reason to change my mind.
More details for the reasons (also more technical)
-
A good algorithm is a sophisticated algorithm. Such an algorithm takes time to engineer well and even more time to maintain and expand. The complexity comes from the involvement of JavaScript. JavaScript has low level access to mostly everything in a page:
- In terms of media, JavaScript has direct access to media loading and playback control.
- JavaScript also knows when the user does anything in the page.
Unfortunately, sites with obtrusive autoplaying are also sites with complex JavaScript code. This raises two major challenges:
- Determining if some media is autoplaying is difficult. Hooking into media playback control isn't enough because the intent of the action is lost.
- A good algorithm could monitor all of the user's input to determine whether any media should be allowed to play. But doing this accurately requires a lot of data (including potentially inspecting the page's code) and a sophisticated algorithm.
- Stopping autoplay isn't trivial. Just blocking the autoplay attempt has side effects because the media won't be in a state that the page is expecting.
- For example, some media players stop working, some pages stop responding properly, and some pages will increasingly consume more CPU and RAM resources.
- A good algorithm could pretend to be the media and act as expected after blocking an autoplay attempt. That way the page won't break.
These challenges underlie almost all bug reports on the Chrome Web Store and GitHub. The current version of Disable HTML5 Autoplay does not address these challenges; version 0.7 was supposed to be the first milestone in doing so.
-
Extensions lack the necessary capabilities. Extensions are written in JavaScript and essentially run in the same environment as the page's code. In fact, they have nearly identical capabilities in the areas crucial to Disable HTML5 Autoplay. This raises even more challenges:
- The extension needs to protect itself from interference with the page, which I'm not sure can be guaranteed.
- It is impossible to guarantee when the page or extension code is run. Therefore, it is possible for the page to end up working against the extension.
- The JavaScript interface for media is identical for both extensions and pages. This interface isn't capable of authenticating autoplay attempts. The current method to deal with this is to add a shim (which essentially acts as an intermediary between the media and the page). But, this isn't guaranteed to work because the page could run before the extension.
If something doesn't make sense, let me know.
EDIT: Made some revisions.
Thanks Elosten! Fascinating. When I write something I'll send it to you.
On Fri, Jun 23, 2017 at 2:17 AM, Eloston [email protected] wrote:
I might as well answer the question once and for all: Why did I stop working on Disable HTML5 Autoplay? The main reasons
Google is now working on this problem in the browser. Because it's in the browser itself, it has more capabilities that can overcome some technical limitations of extensions (discussed more in the following section).
- However, the current design proposed has some limitations and lacks some granular control (they are discussed at the end of the design document).
- In the long run, I believe Google will be able to design something that is sufficient for most users. Google acknowledges the audience that is dissatisfied with autoplaying (in fact, they reference Disable HTML5 Autoplay in the design document).
Lack of interest. It was fun working on Disable HTML5 Autoplay for a while, but it became more mundane as time passed.
- The amount of time it would take is much greater than the gain I can see. (The more technical section explains in more detail). Also, it takes a good chunk of time to respond to users on GitHub and the Chrome Web Store.
- What killed off the motivation was the lack of necessity; I started this extension because someone I knew requested it. I have other projects that I'm more interested in now, and other ideas that I want to explore down the road.
- Now that Google's working on this problem, I have less of a reason to change my mind.
More details for the reasons (more technical)
A good algorithm is a sophisticated algorithm. The complexity comes from the involvement of JavaScript. JavaScript has low level access to mostly everything in a page:
- In terms of media, JavaScript has direct access to media loading and playback control.
- JavaScript also knows when the user does anything in the page.
Unfortunately, sites with obtrusive autoplaying are also sites with complex JavaScript code. This raises two major challenges:
- Determining if some media is autoplaying is difficult. Hooking into media playback control isn't enough because the intent of the action is lost. - A good algorithm could monitor all of the user's input to determine whether any media should be allowed to play. But doing this accurately requires a lot of data (including potentially inspecting the page's code) and a sophisticated algorithm.
- Stopping autoplay isn't trivial. Just blocking the autoplay attempt has side effects because the media won't be in a state that the page is expecting.
- For example, some media players stop working, some pages stop responding properly, and some pages will increasingly consume more CPU and RAM resources.
- A good algorithm could pretend to be the media and act as expected after blocking an autoplay attempt. That way the page won't break.
These challenges underlie almost all bug reports on the Chrome Web Store and GitHub. The current version of Disable HTML5 Autoplay does not address these challenges; version 0.7 was supposed to be the first milestone in doing so. 2.
Extensions lack the necessary capabilities. Extensions are written in JavaScript and essentially run in the same environment as the page's code. In fact, they have nearly identical capabilities in the areas crucial to Disable HTML5 Autoplay. This raises even more challenges:
- The extension needs to protect itself from interference with the page, which I'm not sure can be guaranteed.
- It is impossible to guarantee when the page or extension code is run. Therefore, it is possible for the page to end up working against the extension.
- The JavaScript interface for media is identical for both extensions and pages. This interface isn't capable of authenticating autoplay attempts. The current method to deal with this is to add a shim https://en.wikipedia.org/wiki/Shim_(computing) (which essentially acts as an intermediary between the media and the page). But, this isn't guaranteed to work because the page could run before the extension.
If something doesn't make sense, let me know.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/Eloston/disable-html5-autoplay/issues/175#issuecomment-310616139, or mute the thread https://github.com/notifications/unsubscribe-auth/AcPu2dSXCS9X-y-GvJYSW0f0wViC7jxkks5sG4K1gaJpZM4OBuvO .
Some good news! Based on a few simple tests, it looks like enabling a flag (chrome://flags) in Chrome's latest development release stops HTML5 video autoplay. I tested on 61.0.3135.5 dev. I first saw it in the Canary build maybe two weeks ago, but I didn't test it.
In addition to successfully testing on some sites designed to check autoplay capabilities, I also tried CNN. The CNN video that played automatically before I enabled the flag did not autoplay after I enabled the flag and selected the correct option.
The flag is named "Autoplay policy." You need to select the "Document user activation is required" option (see screenshot).
Hopefully, others will do their own tests on pages that normally autoplay audio and/or video, and then report their findings.

@toddwc That's great! I'll re-open #118 so we can consolidate discussion into one thread.
@toddwc: I understood that Google will allow Chrome users to enable autoplay on some sites (config somewhere in the settings)?
This method doesn't work on all sites. I did the chrome://flags/#autoplay-policy and it worked for 50% of the sites but not for: http://www.pcworld.com/article/2858421/internet/how-to-stop-autoplay-videos.html (Ironically, this link it about disabling autoplay, and a auto play video loads) I had to use the extension listed here: https://chrome.google.com/webstore/detail/video-autoplay-blocker-by/khhablkjeghmeinlfgecddpgcopnljpm?utm_source=chrome-app-launcher-info-dialog in combo with the chrome//flags to get everything. But this other extensions has no whitelist, at least not one accessible to use mere mortals.
Google's implementation doesnt work well for me, ironically it works on youtube which doesnt bother me, but fails to work on the news media sites which are horrific for autoplaying videos.
Google's autoplay policy can be read as:
If you have interacted with the site (e.g. clicked on a link) we will allow autoplay.
This means that for the vast majority of the sites people visit where we don't want autoplay videos, videos are going to be played automatically. I'm sorry you feel that this extension is no longer warranted, because it absolutely still is.
@mschnee I think that's a misreading of the Chrome autoplay policy. I interpreted "User has interacted with the domain" as "User has JUST NOW interacted with the domain", not "User has ANY TIME IN THE PAST interacted with the domain". So that would be similar to what some mobile browsers have been doing for quite a while, where the page can (only) start a video in response to a click.
That said, I agree that there may still be a need for extensions to implement users' real preferences. The Media Engagement Score threshold won't always make the right call.
I do believe there is still a great need for this plugin. As many have stated here, Google's autoplay policy is not a binary option. Users want a clean on/off button for autoplay. Chrome does not provide that.
Firefox actually stop autoplay much better, no matter if I open the video on youtube via a link or if the video was opened in the background, firefox stopp all of them however not the case with chrome. Chrome seems to only stop autoplay for tabs opened in background.
Some good news! Based on a few simple tests, it looks like enabling a flag (chrome://flags) in Chrome's latest development release stops HTML5 video autoplay. I tested on 61.0.3135.5 dev. I first saw it in the Canary build maybe two weeks ago, but I didn't test it.
In addition to successfully testing on some sites designed to check autoplay capabilities, I also tried CNN. The CNN video that played automatically before I enabled the flag did not autoplay after I enabled the flag and selected the correct option.
The flag is named "Autoplay policy." You need to select the "Document user activation is required" option (see screenshot).
Hopefully, others will do their own tests on pages that normally autoplay audio and/or video, and then report their findings.
Update 2018 , that's method doesn't work on chrome Version 70.0.3538.67 (Official Build) (64-bit)
I'm here from the future. wwwwwooo woooo... Chrome autoplay control is wack and doesn't work. They were "working" on it so much that 2+ years later every site I visit plays videos whether I want it or not. Can't wait till they cripple adblock.
Google Chrome has now actually removed the ability to stop autoplay. Probably because of lobbying action from advertisers. Anyway, this extension is really needed now!
EDIT: I should note that this is now referenced in other Disable HTML5 Autoplay documents for anyone to read.
I might as well answer the question once and for all: Why did I stop working on Disable HTML5 Autoplay? ...
Btw no longer solved - chrome now allows autoplay no matter what (albeit muted) with no option to turn it off and no other extension works whatsoever. That means we all are prey to autoplay eating our precious bandwidth
We might just have to settle on using a good adblocker since they use sophisticated algorithms and are pretty good at getting rid of undesirable content. Obviously this only applies if you don’t want to see the autoplaying content.
I'm writing from your distant future of four years ago to my past. I hope all was well, as things will become increasingly terrible - especially in the software side of things. Remember options and the ability to handle basic operation and administration your way? Yeah, it's been taken. You know how you stopped this project because Google kind of integrated that functionality? Yeah, they never did too great a job while they tried, then they just stopped and took it away. That future that I'm speaking to you from? Completely obliterated by ever-increasing instances of videos automatically playing on a single page. In 2022, the companies that beg for attention reward your patronage with pop-out players that interrupt your attempt to read their article; all so they can collect ad revenue on page views AND video views; all the while 2/3rds of the ads on the pages are ALSO videos that automatically play. To further insult your experience by eking out every last percentage of a penny, these jerks will add automatic refreshes that will load whole new instances of everything you took the time to handle. They got their revenue from your visit, but prefer you continually be distracted from their own content by "helpfully" playing some other content with ads.
Dumb jokes aside, I can absolutely appreciate disinterest and burnout. I'm actually exceptionally thankful that you took the time you did to make this extension because it was not only effective then, but was built in a way to mean it's still effective years down the road despite the hoops I had to jump through to snag a copy of this for Opera (used Wayback Machine instead of remembering Opera made an extension to accept Chrome extensions. Wacky. Anyway, this is one of my favorite ways to handle ads because I happily accept ads in exchange for my use of others' content; but when it gets out of hand (and it always does because few sites have any amount of chill with these things), I'm glad that I can hit that toggle and refresh so I can reasonably consume the content I'm looking at without a handful of videos going off all over the screen. So thanks, y'all :)
Does this extension still useful as of now?
The AutoplayAllowed setting seems to work for me™, at least when accessing Twitch.TV using Chromium on NixOS.
As of January 2023 Chromium auto play policy is still broken, both Twitch & Youtube ignore the site setting