Comments (25)
PR is here.
I'm not sure what's the easiest way for folks to preview/test.
One way is to:
- In your browser, disable your existing videospeed extension
- Download my code https://github.com/kraig-droid/videospeed/zipball/handle-shadow-roots/
- Unzip
- "...open Chrome/Brave/Chromium and enable developer mode via
Settings > Extensions > Manage Extensions
and toggleDeveloper mode
in the top-right corner." - "Click
Load unpacked
and browse to the folder you cloned videospeed to."
(The above two steps quoted from this repo's contributing guidelines) - Test it out
- NOTE: D+ intercepts 's' and 'd' keypresses. I had to add more keys -- I used '[' and ']' like VLC uses. If you change keys, you'll need to reload the web page for them to work.
from videospeed.
I made an additional PR to fix the issue with forceLastSavedSpeed and shadow DOM players like D+.
PR is here.
I'm not sure what's the easiest way for folks to preview/test.
One way is to:
- In your browser, disable your existing videospeed extension
- Download my code https://github.com/kraig-droid/videospeed/zipball/fix-shadowRoot-events/
- Unzip
- "...open Chrome/Brave/Chromium and enable developer mode via Settings > Extensions > Manage Extensions and toggle Developer mode in the top-right corner."
- "Click Load unpacked and browse to the folder you cloned videospeed to."
- (The above two steps quoted from this repo's contributing guidelines)
- Test it out
- NOTE: D+ intercepts 's' and 'd' keypresses. I had to add more keys -- I used '[' and ']' like VLC uses. If you change keys, you'll need to reload the web page for them to work.
@mariusi7 -- I'm hoping you can take a look, thanks!
from videospeed.
I looked at the source code (inject.js) and saw:
var tc = {
// ...
// Holds a reference to all of the AUDIO/VIDEO DOM elements we've attached to
mediaElements: []
}
OK, mediaElements will have <video ...> (and perhaps <audio ...>) elements.
Well, let's see if it finds the D+ <video ...> element. So I added a console.log:
function defineVideoController() {
// ...
tc.mediaElements.push(target);
console.count('found a media element');
// ...
Nope, no media elements found on a playing D+ vid. (Working sites do show this count.)
Why? Seems like a shadow DOM issue.
Here's some of the HTML:
...
<disney-web-player>
#shadow-root (open)
<div class="btm-media-client" ...>
<video ...>
</video>
</div>
</disney-web-player>
...
JavaScript won't normally "reach into" shadow DOMs. I suspect that's the issue here. I see this is mentioned in another (unsolved?) issue in this repo here. But I'll see if I can figure something out.
from videospeed.
It looks like you more or less have it all figured out. I found a temporary workaround in the meantime. Maybe the workaround and my observation about Hulu might help.
I found out that if you click the settings symbol/button (image shown below) in the upper right of the screen while a video is playing then the variable speed playback extension will start working.
I also think this is in someway tied to them incorporating Hulu into Disney+. I think this is the case because I first noticed issues with the extension working when watching something from Hulu within Disney+. The speed would not work on the Hulu videos but would work on the rest of Disney+. Then once everyone else noticed that it wouldn't work at all anywhere on Disney+ is also when I noticed the same issue throughout Disney+.
Hope this helps and either way thanks for figuring this out!
from videospeed.
I have discovered something really odd. The playback speed controls started working for me today. I clicked the subtitle settings in the top right corner once the settings overlay came up, the speed bumped up to my preset. No idea what would cause this interaction, but I can now watch Disney+ at whatever speed I want.
from videospeed.
Is there a planned release of a new version containing this ? I saw it got merged (together with some other changes).
from videospeed.
It looks like you more or less have it all figured out. I found a temporary workaround in the meantime. Maybe the workaround and my observation about Hulu might help.
I found out that if you click the settings symbol/button (image shown below) in the upper right of the screen while a video is playing then the variable speed playback extension will start working.
I also think this is in someway tied to them incorporating Hulu into Disney+. I think this is the case because I first noticed issues with the extension working when watching something from Hulu within Disney+. The speed would not work on the Hulu videos but would work on the rest of Disney+. Then once everyone else noticed that it wouldn't work at all anywhere on Disney+ is also when I noticed the same issue throughout Disney+.
Hope this helps and either way thanks for figuring this out!
Worked for me, thanks!
from videospeed.
from videospeed.
Tried to look for errors in the console. Nothing special, only one critical:
"mel-hive.js:2 Accessing HLSPlayer#isLive : live state is not known until presentationState is LOADED"
Nothing more logged when I change the context to VSC only (or I'm doing it wrong).
https://i.imgur.com/jxlUpig.png
The player: doesn't look changed. Also, still works in Firefox with the fork (not perfect though, can't +/-).
Maybe I'll debug more in the weekend if no one else has time to help with this or I get suggestions.
CC @igrigorik
from videospeed.
Hi,
other extensions seem to have the same problem. This developer has a solution:
dvlden/uw-pub#15
from videospeed.
I have working code on my machine. I'll be making a PR soon. Dunno if it will be accepted. Gotta' look for contributing guidelines, etc first.
from videospeed.
First test worked flawlessly. THANK YOU!
from videospeed.
Works perfectly. Thank you very much.
from videospeed.
I can't get this to work on Disney+; I'm having the same issue as before. I tried it on Max -- it worked there.
from videospeed.
I can't get this to work on Disney+; I'm having the same issue as before. I tried it on Max -- it worked there.
Can you give us some more information? Can you see the overlay in the videos? Can you see the overlay on the mainpage in all the boxes?
from videospeed.
I can confirm that this patch works in @kraig-droid's upload.
Unable to duplicate the fix it in the userscript version.
from videospeed.
it doesn't go pass 1.1x and under 0.9x
from videospeed.
it doesn't go pass 1.1x and under 0.9x
Hi, sorry, that's not enough info to troubleshoot. Is this for Disney+? Mac or PC? Chrome?
Here's a screenshot of speed 1.3 on PC, Edge (with ']' set to 'Increase speed' by '0.1'.)
from videospeed.
it doesn't go pass 1.1x and under 0.9x
Hi, sorry, that's not enough info to troubleshoot. Is this for Disney+? Mac or PC? Chrome?
Here's a screenshot of speed 1.3 on PC, Edge (with ']' set to 'Increase speed' by '0.1'.)
I'm using chrome on an m1 mac with the hot key set to "[". and "]"
from videospeed.
@kraig-droid
I have seen the 0.9/1.1 issue when I use the Remember playback speed and/or Force last saved speed settings. Please retry your test.
from videospeed.
I'm using chrome on an m1 mac with the hot key set to "[". and "]"
FYI: I just tested on an Intel MacBook Pro with Chrome. Works. (I doubt silicon makes a difference -- we're way above the hardware in JS.)
from videospeed.
@kraig-droid I have seen the 0.9/1.1 issue when I use the Remember playback speed and/or Force last saved speed settings. Please retry your test.
I've never used those features and will look tonight. Are they off for you?
from videospeed.
Force last saved speed settings.
@kraig-droid I have seen the 0.9/1.1 issue when I use the Remember playback speed and/or Force last saved speed settings. Please retry your test.
I've never used those features and will look tonight. Are they off for you?
wow! turning off Force last saved speed settings fixed it!
from videospeed.
It looks like you more or less have it all figured out. I found a temporary workaround in the meantime. Maybe the workaround and my observation about Hulu might help.
I found out that if you click the settings symbol/button (image shown below) in the upper right of the screen while a video is playing then the variable speed playback extension will start working.
I also think this is in someway tied to them incorporating Hulu into Disney+. I think this is the case because I first noticed issues with the extension working when watching something from Hulu within Disney+. The speed would not work on the Hulu videos but would work on the rest of Disney+. Then once everyone else noticed that it wouldn't work at all anywhere on Disney+ is also when I noticed the same issue throughout Disney+.
Hope this helps and either way thanks for figuring this out!
Also for me, when the extension doesn't work and I click on that symbol to get it to work again, I can't change the speed except by -/+0.1 (I had set an initial speed of 1.7x, so it went from 1.6x to 1.8x). This had happened to me in the past with Apple TV+ as well.
I'm not sure if the speed shown is actually the one running, however, I refreshed the page and it started working normally again, so I couldn't do any further testing, it often happens that by refreshing several times suddenly it starts working again without having changed anything.
from videospeed.
Can this be fixed, since it was integrated ?
When can we expect a new version released @igrigorik ?
2 months of not working on Disney (well, except workaround to load the zip)... :(
from videospeed.
Related Issues (20)
- Is it possible to make the font size of the tip text in the top left corner of the video larger? Or support customized font size, thank you!
- disable youtube press and release changing playback speed and displaying it HOT 1
- a
- The latest update broke the display.
- extension default hot keys conflict with windows text manipulation shortcuts HOT 1
- doesnt work on reddit HOT 2
- Glovo page freezes
- Specify `run_at:document_start`
- add extra button in Firefox android version to reset playback speed.
- It is not possible to use in youtube shorts. The play button doesn't allowed It to be use.
- Local media playback issue
- feature offer
- Problems at Disney+ HOT 1
- youtube controller location bug HOT 2
- local media playback issue.
- "Hide controller by default" only works on YouTube
- Allow modifier keys HOT 1
- window print function may fail if plugin is enabled in some webs
- extension causing videos on reddit to be unplayable.
- Allow Up/Down and Left/Right key to rewind video.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from videospeed.