Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fast forward through sponsors instead of skipping them. #499

Open
foxt opened this issue Oct 5, 2020 · 12 comments
Open

Fast forward through sponsors instead of skipping them. #499

foxt opened this issue Oct 5, 2020 · 12 comments
Labels
enhancement New feature or request

Comments

@foxt
Copy link

foxt commented Oct 5, 2020

Would it be possible to fasft forward through segments (like intros or outros) instead of flat out skipping them?

@SethFalco
Copy link

This sounds like it'd be probably (not peeked at the code) be easy to do by making an option to go 2x speed for the duration using what's already built into the YouTube video player.
Would 2x speed be fast enough though?

@foxt
Copy link
Author

foxt commented Oct 6, 2020

Not sure. setting the playbackRate starts breaking at 5, and doesn't work past 10x

@ajayyy ajayyy added the enhancement New feature or request label Oct 11, 2020
@JesFEREM

This comment has been minimized.

@ThiagoRangel7
Copy link

Agreed. I think we should be able to set the playback speed we want though. 2x is too slow for sponsors, as I normally watch every video in 1.75x or 2x speed. Maybe we should be able to type in a float value, just like Enhancer for YouTube extension allows.

@BlackSails7
Copy link

As you can see with this userscript you can easily make videos on youtube play at x4 speed. Probably up to x5... But also the speed should be modifiable in settings.

If this gets added, I guess it could be a new option here
speedthrough.webp

@Homo-Cyberneticus
Copy link

Homo-Cyberneticus commented Feb 2, 2022

Came here to check for a request for just this very thing, because I too have noticed a need for it.


TL;DR of the lower text:
Suggested overall summary of functionality/behaviour/user interaction:

  • user option: Use Fast Forward instead of Skip (default: Disabled)
  • user option: Fast Forward Speed Multiplier (FF-SM) (default: 2.0x) + show message about browser multiplier limitations
  • user option: Mute audio during FF (default: off)
  • user option: checklists to choose which segments should be fast forwarded through (default: only Sponsor block)
  • code: prior to any performed FF action, Playback Speed Multiplier (P-SM) must be saved
  • UI: if P-SM is larger or the same as the FF-SM, then just a standard "Skip segment" button is showed
  • UI: during the playback of segment, show "Fast forwarding..." notification
  • UI: during the playback of segment, show "Watch instead?" option that resumes to P-SM
  • user option: Rewind to the start of the segment upon "Watch instead?" (default: yes)
  • code: after the end of FF action (segment completion, manual seeking, "Watch instead?", etc.), P-SM must be restored
  • user option: add channel to FF list (vs default Skip list and whitelist)
  • user option: Always FF the videos of subscribed channels

The main reasoning for this option would be that sometimes the sponsored segment is done in a creative and non-boilerplate way, so fast forwarding would allow the us, the viewers, to notice this and switch to standard speed, or – gasp! – the sponsored product/service just might be something we actually are interested in. (Hey, it happens; just happened to me today, and I noticed only because I was watching the content on the move on my phone vs the desktop [where I, of course, run SponsorBlock]).

So, a great option would be a "Fast Forwarding... Watch instead?" prompt (or some such notification over the video during the fast-forwarding action) that would revert back to "Default speed" and, optionally, rewind back to the start of the segment.

From technical limitations viewpoint, I've read somewhere recently:

  • in Firefox, speed multiplier tops at 4.00x past which it usually has no effect (and stops the sound reproduction),
  • in Chrome-based browsers, speed multiplier can go a lot higher, but I think there is no effect above 10.00x.

So, user-assignable field/slider ~"Fast Forward Speed Multiplier" should be an option, with the default being 2.0x (YouTube standard UI max multiplier). ~"Mute while fast-forwarding" might be of use to some. Also, additional whitelist of channels which should always be fast forwarded instead of skipped could also be useful (along with present always-skip and never-skip lists), and/or maybe even an ~"Always FF if channel is subscribed to" override.

Very important from user experience, SponsorBlock should save the playback speed multiplier right before forwarding, and must restore it afterwards. (For example, I use different extensions to increase and decrease speed more easily and to larger multiplier than the YouTube's slow and clunky UI allows, but sometimes the next video in the playlist/queue resets it for no reason.) Logically, if the SponsorBlock's preset fast forward multiplier is lower than the current playback speed, then no actual fast forwarding would be necessary, just the usual "Skip sponsor segment" notification/button.


Slight off-topic (or not): aside of genuine viewer/user-usefulness, it would be amiss of me not to mention that I am also worried that SponsorBlock might be actually hurting the creators in the long run. Emphasis should be on might, because I am not a creator and all I know of the behind-the-scenes workings has been filtered through the videos where creators mention certain aspects of it.

I've heard through some videos by the content creators that most often skipped video parts are shown to them, so YouTube collects those analytics; I do not know whether YouTube shows, tracks, or knows at which speed a section was played at.

Some have said that their sponsors require access to some analytics from the channel before and/or after, and pay based on the previous or current performance... and if that part of the video is skipped, that would obviously result in less revenue, and thus limit them in earning a living. (Not to mention that it just might be actually very demoralizing to creators, given the time, effort, and sometimes expense they've gone through to produce a video.)

We all hate ads, and unfortunately there is no way I am disabling my uBlocker for anyone, and especially not the YouTube ads. (Also, loud YouTube ads are reeeeally incompatible with at least one form of content - namely ASMR... ask me how I know.) However, as much as I don't like the sponsored segments — there's only so many VPNs and Raid Shadow Legends one can stomach — creators have deemed them necessary and valuable enough to try and earn a living.

I would have really liked to be able and support each and every creator I follow, but there are so many (most of mine are of the Maker and Electronics kind), but that is impossible for me. Still, I am not turning off my uBlock – it stands between me and the insanity – and, considering the percentage of revenue collected through ads (not to mention the recent and hugely unfair "double taxation" performed upon YouTubers outside of the USA), I'd truly rather "suffer" through a fast-forward (and occasional interesting watch) of a sponsored segment as a means of support, since at least all of those earnings go directly to creators. (Similar reasoning is why we should support and advocate buying music and albums directly from the artists, and not through the label companies who pay them pennies, if even that.)


So, that's it... Fast-forwarding would be a great complementary option to SponsorBlock. The choice to set default behavior to skipping or fast-forwarding could be offered during the initial setup. (Just my opinion, I'd certainly use that as default.)

Apologies for the long write up, but I think this extra option really warrants it, and would be really useful – for viewers and creators alike. I think it is a good enough middle ground between blocking the segments altogether and still watching them.

(This is my first comment on Github, so additional apologies for multiple edits, especially if this is way too long/meandering of a content here.)

@joshinils
Copy link

joshinils commented Feb 26, 2023

I use the addon Video Speed Controller by codebicycle to speed up some otherwise boring videos.
Some channels do their editing a bit slow, I guess.

So if this does get implemented, I'd like for it to restore the previous playback rate after the segment is done.

A separate speed setting for each segment type would be great.

A different type of segment set to be played faster would also be great, instead of only skip and mute.
Then a setting for skipping speed-up-segments and speeding up skip-segments would also be beneficial, I think.

@shenef
Copy link

shenef commented Apr 12, 2023

I'm also interested in this feature.

The following are my UI/UX suggestions. They mostly overlap with the previous suggestions in this issue.

image

Add a "fast forward" option to the skip options and a separate dropdown (or slider) to control the playback speed.
Playback speed options should include 1.0, 1.25, 1.5, 2.0 and 3.0. 1.0 is included for those that normally watch at slower speeds and 3.0 is the max cause after that the correct playback can't be ensured (low spec devices, browser support, slow network).

Before fast forwarding the existing playback speed must be stored so it can be restored after the segment.

While fast forwarding a skip notice should appear that offers skipping the segment using the "Skip segment" hotkey.
If a manual playback speed change is detected during fast forwarding, then the fast forward disengages and the previously stored playback speed is discarded.


Personally I would use fast forward mostly for fillers, self promotion and intros. I want to see those segments but watching them at normal speed (in my case x1.25) is not necessary since they are not important to me.

@CodeF53
Copy link

CodeF53 commented Apr 12, 2023 via email

@joshinils
Copy link

I think it is better to have it be a multiplier of the current speed, so if i watch at a faster speed (1.3x) then it would become even faster (1.3 * 1.25 = 1.625 > 1.25), not potentially slower than before.
or set it as addition to current speed, i.e. 1.3 -> 1.55 -> 1.3, opposed to 1.3 -> 1.25 -> 1.3.

I dont usually watch at a higher speed, but for the cases where i am this could be annoying

@joshinils
Copy link

joshinils commented Nov 17, 2023

An example where speed up instead of skipping would be great: https://www.youtube.com/watch?v=cVUxw-KJdd4

I think a sigmoid-like curve at the start and end of such segments would work great, it slowly increases playback speed (if the segment is long enough, otherwise use a double sigmoid) and at the end slowly decreases again, until the previous speed is reached again.

https://www.desmos.com/calculator/gghshe3odw
image
image

@dallytaur
Copy link

dallytaur commented May 6, 2024

a way to implement this function

create a new menu options called fast forward

then when the function to call fast forward the jscode to make it work is as followed

document.querySelector('video').playbackRate = <speed>;

this can be tested in the JS console

fhen a few UI elements to have it added as said above

A small side thing is have a new skip type for slugsh rambling YT videos like Ive had number of tutroal video full of dead air and such.

for now we dont need lotta complex functions any how feature creep i would guess whythis iusse is 4 years old

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests