SponsorBlock icon indicating copy to clipboard operation
SponsorBlock copied to clipboard

Hide sponsored comments and video descriptions

Open Youngblood50 opened this issue 3 years ago • 35 comments

I don't know if this would be possible, just an idea :)

Basically, how I'd imagine how it could work is that you could, for example in the video description, mark the sponsored text, then right click and select sponsorblock to block this content. With comments, either do the same (i.e. mark the text) or add a button to block the comment.

Sorry if this has been already discussed, I searched for it but couldn't find anyone talking about this.

Youngblood50 avatar Feb 13 '21 14:02 Youngblood50

i don't think comment and video description are very annoying. and if started hiding comments there will be no end of that. we should only focus on how we can increase the skip segments database like making a neural network to automatically mark redundant animation( which i think is possible)

chirag127 avatar Feb 19 '21 12:02 chirag127

@whyiswhen @Youngblood50, Number of phishing sites and just advertising will decrease, a very good idea. Hopefully the community will help add this feature.

GermanAizek avatar Feb 26 '21 01:02 GermanAizek

Provided this feature is opt-in (there will always be false-positives), I think a system to automatically detect sponsored text and hide it is pretty doable, for example looking for key words (like "sponsor", "sponsored", /\d\d% off/g, name from list or sponsors, etc.) and hides the paragraph (separated by line-breaks). Maybe instead of hiding it completely, it'll replace it with gray text saying "sponsored message" that you can hover over and see the original if you wanted to.

bbb651 avatar Mar 01 '21 13:03 bbb651

@whyiswhen To me, the constant repeated "GET A 1000% OFF WITH CODE XXXX ON SITE YYYY" message is very annoying, as I always read the video description, and the pinned comments by the author.

So, I'd like to express my 👍 and interest for any features that would allow me and others to submit a regex, or part of the text, that SponsorBlock would block on all videos (or still, in the video that was submitted).

I understand that some or many users would not find this annoying, but personally, I do, and would like to help remove this stuff from the videos if it's possible.

@bbb651 Very good idea. As I understand that skipping for each segment in SponsorBlock is already an opt-in thing, e.g. it doesn't skip intros and end credits by default. It only makes sense that this feature would also be opt-in, if @ajayyy ever decides to implement it.

Again, personally, I'm very interested in this, and would like to opt-in, if this feature is implemented.

DRSDavidSoft avatar Mar 09 '21 18:03 DRSDavidSoft

I also think this is a great idea; these descriptions in the ad always bug me (especially if I'm digging through the description to find a non-sponsor link that's actually relevant to the video content)

Skyedra avatar Mar 29 '21 00:03 Skyedra

i'm going to try to add this functionality https://github.com/DetachHead/SponsorBlockServer/tree/description

DetachHead avatar Jun 20 '21 14:06 DetachHead

@DetachHead I'm not sure if something like this will work since descriptions change very often.

I guess it could include a hash of the description too?

ajayyy avatar Jun 20 '21 14:06 ajayyy

I think hash is a good idea. Maybe it could work like this:

  1. Contributing user edits description to create a clean (ad-free) description
  2. The server saves both the clean description and the hash of the original unmodified description
  3. Subsequently, the cleaned up description is shown by default to all opted-in users. However, at the bottom of the description field, one of the following is shown in small grey font: A. If text hash matches (unchanged), display "Sponsored content has been redacted from this description, click here to view original description" B. If text hash does not match (changed), display "[Newer description available] Showing a sponsor-redacted version of an old description, click here to view latest unredacted description"

This way, even if the text is changing constantly or an ad agency writes a bot to make superfluous text changes automatically, ads don't sneak in.

Skyedra avatar Jun 20 '21 22:06 Skyedra

@sky-lake This is a good idea! Might I add:

  • The sponsor text should also be removed from pinned comments
  • If the pinned comment only contains sponsor text, and nothing else, it should be removed from the comments list

I also think in many cases a simple regular expression can also be used to remove most of the sponsor content, as they're simple copy-and-paste messages. It will not matter if the actual content changes (e.g. video author adds new text to video information), as long as the regex matches the sponsor text, it can be removed from the page.

DRSDavidSoft avatar Jun 20 '21 22:06 DRSDavidSoft

Contributing user edits description to create a clean (ad-free) description

I don't really like the idea of storing something like that due to it having more of a copyright/redistribution risk. I think it would be safer to just store either the parts that need to be removed or just indexes (most safe).

ajayyy avatar Jun 20 '21 23:06 ajayyy

Hmm, I suppose that's a fair concern. Indexes + hash might be good in that case. If the hash doesn't match, then maybe just don't display any description until users opt to see the latest unedited description.

Skyedra avatar Jun 21 '21 00:06 Skyedra

It's probably safe just to not hide anything if the hash mismatches. If we notice anyone is doing what you are saying to try to abuse it, we can implement hiding by default at that point.

ajayyy avatar Jun 21 '21 00:06 ajayyy

length + hash + first and last 5 characters could work too. The extension could then search by regex, verify the hash, then hide. If multiple are found, pick the one with the right hash. Adding more to the start/end of the description will have no effect, since the hash is only for the hidden part of the text.

ajayyy avatar Sep 22 '21 23:09 ajayyy

sounds good - btw i haven't really had time to work on this sorry

DetachHead avatar Sep 23 '21 07:09 DetachHead

I thought I might poke at this a little bit and try to help move it forward if I can. Taking DetachHead's work, I've continued it to have the basics of being able to get/post descriptions. Still pretty WIP at this point though (doesn't yet support voting or get by hash, etc).

Skyedra avatar Oct 22 '21 07:10 Skyedra

Here's a real description of a video I stumbled across just today.

image

Paid promotion, social promotion and product promotion before the actual description of the video.

Zephiii avatar Jan 23 '22 10:01 Zephiii

@Zenphia That's not just one example, almost every sponsored video that I watch has the same kind of video description; the sponsored text content comes before the actual video description.

DRSDavidSoft avatar Jan 24 '22 06:01 DRSDavidSoft

Sponsorblock should act as a blocker of ads or annoying elements on YouTube, it could replace the description and the first comment (at the very top) with a default button. Anyone interested in seeing the description or the first comment could click this button and unlock the item. Thanks to this button, anyone would no longer be bothered by the horrible sponsored description or the first sponsored comment, they would see a simple clickable button instead.

To overcome the lack of functionality of Sponsorblock on the description and the pinned comment, I use this following method (sort of DIY).

I use ublock origin to block the description and the first visible comment (which is often the pinned comment), and it works, I don't have those horrible sponsored descriptions anymore.

But, with this method, I block the description and the comment at the very top, on all videos without exceptions, and I have to deactivate my ad blocker and reload the video page on YouTube, in order to be able to see the description and the first comment if there are interesting things in it.

But then I often forget to turn my YouTube ad blocker back on to block the description and first comment again, and I see the sponsors again, a horrible experience for anyone bothered by ad pollution.

Do not forget that video creators do not hesitate to put the sponsor at the very top before the description of the video and do the same thing in their pinned comments, an abusive method.

It is an abusive method like placing the sponsor at the start of the video, which makes the person who does not want to see this video see the sponsor before the change of another page or another video . These abusive methods which, like abusive advertisements, led to the development of ad blockers and then Sponsorblock.

gut1414 avatar Feb 18 '22 14:02 gut1414

I very strongly disagree with this. Unlike video sponsors, sponsored comments are not an issue regarding time wasted. They dont waste your time, and at best are only a minor annoyance.

I don't see a single reason this should be introduced.

ccuser44 avatar Mar 11 '22 09:03 ccuser44

@ccuser44 that assumes the only reason people block sponsored segments is to avoid wasting time. i use sponsorblock for the same reason i use ublock: i despise ads. i don't care about time wasted, i'm watching youtube after all.

DetachHead avatar Mar 11 '22 10:03 DetachHead

that said, i imagine this would be an optional feature so you don't have to enable it if you don't want to

DetachHead avatar Mar 11 '22 10:03 DetachHead

Comment ads are the same as banner ads -- they're annoying and distracting. People want to remove them for the same reason they install regular banner ad blockers.

If you don't want to use such a feature, just disable it in your user preferences. No one will force you to use it.

PS - please don't spam multiple replies in a row, use the edit button instead -- it generates e-mail notifs each time and is annoying.

Skyedra avatar Mar 14 '22 20:03 Skyedra

Please stick to constructive discussion on how to solve this issue, instead of just saying it's not something you care about

ajayyy avatar Mar 14 '22 20:03 ajayyy

I'm continuing to (slowly) poke at this... Very early WIP:

https://user-images.githubusercontent.com/22365940/158580526-f76d9e49-9e3c-4951-aa1c-292c2d33817d.mp4

1000 things still left to do (I have plans to let each string be categorized, plus gotta do client<->server communication, comments, some basic ui theming/cleanup, etc etc), but thought it'd be fun to share!

Skyedra avatar Mar 16 '22 11:03 Skyedra

@Skyebold Wow, impressive! 👍🏻 This way, the selected text can be also removed from other videos with the same description (if the description text is repeated). Also, if the original video description somehow changes, it won't negatively affect it. Awesome stuff

DRSDavidSoft avatar Mar 18 '22 13:03 DRSDavidSoft

Thank you!

This way, the selected text can be also removed from other videos with the same description (if the description text is repeated).

Yes, something like that should be possible. It's been a while since I poked at the server implementation, but I think I set it up per-video to start with.

It would be interesting to consider how to re-use text redactions across multiple videos:

Channel-wide - I see as useful since I imagine many sponsored texts / links are the same from video to video. This would mean a lot higher rate of spam getting redacted I think.

My main concern for channel-wide redactions is if there might be cases when some text should be redacted from one video description, but not from another video description? Resolving that situation could be a bit overly complex since we would have to do some fancy interface of per-video voting combined with channel-wide voting to determine which redactions are legitimate, and that seems a bit confusing. But, it may also be that's such an edge case it's not worth worrying about, since there will be a feature to temporarily toggle redactions on/off if you need to see them.

A secondary question for tracking channel wide is how to get the channel ID for a given video. Maybe it can just derive it from the creator's URL in their channel name link ? (Can that ID in the URL change? If so, it'll nuke all the redactions any time it does). Or maybe there is a permanent ID hidden somewhere on the youtube page.

So tracking redactions per-video vs per-channel might be something good to discuss. I would be in favor of channel-wide if the implementation can be kept simple, otherwise per-video.

Globally across all of youtube would be problematic (even just technically, downloading the entire database doesn't seem very scalable, and the risk of false positives seems high). Plus changing referrer codes across different people would make this of limited use.

Also, if the original video description somehow changes, it won't negatively affect it.

Yep!

Skyedra avatar Mar 18 '22 23:03 Skyedra

channelID fetching

I have been working with a few PRs that integrate channelID fetching - #1312 has it as channelID in content.js

channelID works across youtube and invidious, and since this would probably have to be a different table anyways, in order to accommodate the text setting by channelID shouldn't be too much of a leap.

same link across videos

from my experience, there shouldn't be too many links that are exactly the same but should not be removed depending on the context - a link to their merch line is selfpromo even if the video is entirely about it, the only exception would be referral codes in a sponsor vs exclusive_access context

mchangrh avatar May 17 '22 20:05 mchangrh

channelID - Thanks for the tip, I will check it out

Same link - Yes, you're absolutely right. In the intervening time since my last post, I have been looking more closely at descriptions and realized that yes, there is a ton of re-use across channels. So I actually already went ahead and changed the way I do it on server side last month.

Skyedra avatar May 17 '22 21:05 Skyedra

This should not be enabled by default

ccuser44 avatar Dec 15 '22 11:12 ccuser44

Sponsored descriptions and pinned comments are annoying, I'm glad if this blocking solution exist.

gut1414 avatar Jul 02 '23 10:07 gut1414