How to block/disable all videos from automatically loading in Chrome?
Many sites now have auto-playing or automatically streaming videos: embedded in news pages, down side bars promoting other content, and some sites even have massive honking-great purely decorative videos in the background of a search page (e.g. AirBnB and Lastminute).
As well as the annoyance factor, these are a problem for me because I'm usually on a metered connection, and these things can waste hundreds of valuable MBs in seconds, on something I didn't even want to watch in the first place. There's almost always no way to stop the video downloading other than closing the page.
Is there any way I can prevent videos from loading at all in Chrome? I've already blocked Flash using Chrome's Content Settings for "Plug-ins". What I want is, a way such that any time Chrome sees a <video>
or <audio>
, it just shows something like a grey box and doesn't even touch the linked video content. Maybe a "click to load video" button would be a nice feature, but it's not necessary.
I thought there would be an extension for this, but it seems there isn't:
- The promisingly-named Video Blocker actually only removes specified Youtube channels and suggested videos on the Youtube page.
- Disable HTML5 Autoplay sounds promising, but doesn't work as expected. I have it installed, set to its strongest "disable" setting, yet videos still load and play.
- Every other extension I can find is limited to blocking only videos in ads, or only Youtube videos, or only Facebook videos, or some combination.
To be clear, I want to stop the videos being streamed/loaded as well as stopping auto-play.
I've seen How to block HTML5 videos system wide but unfortunately the answer only addresses Firefox and IE.
It seems odd that there's apparently no simple option to block video, given that Chromes's "Content settings" has a simple, easy option to block images:
I want something that works like disabling images, but for videos (and I'd like to be able to keep images).
I've tried AdBlock Plus based on Sanny's suggestion but haven't yet found a way to make it do what I want.
How about HTML Content Blocker, it is different than HTML 5 Autoplay. [https://chrome.google.com/webstore/detail/html-content-blocker-js-c/nobnkgabkebhhlgfddbemmefjnjnahoe?hl=en]
In conjunction with your current Flash blocking it should solve your problem.
First of all, what you ask may not completely be achieved as you please. If the case is that you want no video playing on websites because you are on metered connections, and regardless of using Google Chrome, I believe this can only be possible with Firefox and NoScript
But using NoScript may effect your browsing experience, since it blocks many websites' functions.
Try to install Tampermonkey and search for a script that changes the 'preload'
attribute of the <video>
tag from 'auto'
to 'none'
. However, changing this attribute would only stop auto-playing instead of blocking the element entirely, as NoScript does, which means Chrome may still buffer some small parts yet without playing them (BTW, Firefox has a feature to stop auto-play videos).
If someone wonders whether NoScript is available for Chrome, then it is not, unfortunately. But there are fork projects of NoScript for Chrome.
You can use AdBlockPlus to hide elements you don't prefer by user specific filters. Note you can use this option if you have few websites to block videos and after you discover the <dev>
tags that hold them, e.g. the filter ##div.hero__background
hides the background video on airbnb.com. Otherwise, you can hide every video
tag on every website you visit by using the filter ##video
.
UPDATE:
I still say that you won't get something that block every video on every website. So AdBlockPlus sometimes fail to block with the filter ##video
. However, if you visit a website frequently and you know it has videos, use ContentBlockHelper that will identify common elements, like images and video, as icons sorted by their URL sources. Block videos by clicking on the video icon as indicated below, and repeat with the other URL sources (on airbnb.com, videos may not load by default so the screenshot below may differ):
I repeat, this is not a global solution. But it does give you some control on websites you visit frequently until you switch to Firefox (honestly I'm not a fan of Firefox but it's the only browser that should provide a satisfying solution for you).
While none of the solutions on the 'net seemed to work for those increasingly annoying news sites that throw media in your face, I was overjoyed that chrome #61 finally allows us to control this - though it is a lab and will unceremoniously disappear on us one day.
Use this flag: Autoplay policy - worked like a charm on usatoday.com !!
chrome://flags/#autoplay-policy
Update: Doesn't work on some sites; and since switching to Vivaldi, this switch is not honored at all, so I use uBlock Origin instead, which seems to work well for most sites, except it doesn't block that darn subscribe to newsletter pop-ups which 75% of sites throw at your face. I hate HTML5 for the increased powers it has given these sites, instead of us.
As of 2019 August this appears to work generally in Chrome
-
use the ublock origin extension
-
open settings and then in the [My filters] tab enter the following blocking of video elements on all domains with a single exception for YouTube.
##video
~www.youtube.com##video
In my case I also disable sound in Chrome with exceptions (for YouTube, NPR, etc) in the settings. This may in some way alter my experience (happy altered experiences everyone).