-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
[Feature Request] YouTube's fast forward/rewind behavior #4264
Comments
this is real great.. i would have a small suggestion... it would be really great if the player controls do not show up after seeking but continue normal playback... that is unless the video is paused in first place (like what's in your video preview). if this is already the case... please add a video |
It behaves that way, specifically the controls don't appear when it's playing:
The fine-tuning (especially with the new gestures introduced with the unified player) comes when the head devs would accept it. Here's the demonstration (this time it's the fullscreen view + both seekBy calls are removed for now, so the video will not seek in the preview - reason descriped above): |
To my knowledge, this is the first concrete example we have of a contribution being discussed as an issue before a potential PR, after the change was made to the contribution guidelines, so thanks for that! ;) |
it looks great now👏 @opusforlife2 you forget to share your opinion of the PR with us ... yes please 😊 |
Personally, I don't like the ripples and was glad to be rid of them back when I uninstalled Youtube. I don't think this gesture needs a special animation. But I like the skip duration increasing with each tap like Youtube. That is better than repeatedly double tapping for sure. |
Thanks @opusforlife2 The ripple animation is a one liner due to my previous codebase, the "each following tap increase" is fully separated from the animation (=> I made changes in PlayerGestureListener) so can be adjusted easily. I'd like to wait for more feedback, but thanks for your opinions so far :D |
@opusforlife2
@vkay94 if its not too much to ask... could you adjust for both ideas and share video with us to vote on them |
@MD77MD For the second idea: That would be very easy to do but what do you exactly mean by "animation"? Just keeping the arc shape, text and triangles? |
For me just the text and triangles are enough. |
@opusforlife2 PS: I like the discussion with you two, exchanging is everything ;) |
Looks perfect to me. :D |
This looks good to me, it feels more polished and natural than the current approach. I agree that the ripple effect is too intrusive, but something similar could replace it. Maybe an animation to hide arrows+text at the end, by e.g. moving them to the right/left and fading at the same time, would do. I am in favuor of this, thank you! @avently @B0pol @wb9688 what's your opinion? |
Just fading out is another option. |
That could be implemented based on the NewPipe's AnimationUtils (thi but with As I hear out from the previous comments this behavior change itself (described in How will you/everyone benefit from this feature?) is appreciated,, only the visual and some transition fine-tuning is in question, am I right? If that's the case, I have some idea for the future ;). For this moment I'd switch to the master branch codebase to make an fluid preview app with working seek since official v0.19.8 hasn't the seek glitch of the dev branch (you can check it yourself by installing the unified-player-builds and drag the seekbar during playback). |
@vkay94: Yup, the feature is OK, just the ripple UI isn't. Also please don't use the |
@wb9688 : Alright, I'm using the feedback from you all - I didn't know the ripples are hated that much (btw the transparency can be adjusted :')) - (thanks for that 👍 ). I start doing some additions to share a first debug app (I hope it is okay without a pull request). |
I meant text and triangles... just didnt know what to call them 😁
looks great to me 👏 |
Agree. I prefer this: ripple animation + arc shape + triangles + text. Yeah, for some reason other guys think the opposite way :) So maybe in your PR, @vkay94, you could upload both versions (with and without ripple effect) and everyone can use both and to choose afterwards. |
@avently, so us two are the only ones who like them from those who gave their opinions so far :')
Yeah, that's one of the reasons I did work on such a feature back then. With white text the dark background has to be darker to emphasize it better. Not everyone likes that. Currently the background value is
You can test those variants here in the meanwhile to get a first feeling. For those who don't like the ripple: just set both color transparencies to 0%. I've got something in mind to suit both. |
@vkay94 I tested both variants via your app and I like with ripple more than without. |
@vkay94 In your demo apk, if I set both Tap circle alpha and Background circle alpha to 0%, double tapping darkens the whole video for the duration of the animation. I like this much better than the ripple. Wouldn't this also solve the white text on white background problem? |
@MD77MD: For NewPipe I handle it in another way, so it won't be drawn if the ripples are disabled, so there won't be additional work regarding this. @avently: This can be accomplished but such behavior has no priority since only a few people would use it probably. I keep it in mind ;) @opusforlife2: The slightly dark background is by default and needed anyway. NewPipe's dark shadow is slightly more transparent than in my app. You'll see it in the debug-app preview. Speaking of debug apk: app-debug-seek-suffix-fix_20200912.zip Quick overview: In general it's fully functional regarding the double tapping feature. Within the player, near the Quality-Button, I've added a "Seek"-Button where you can play with some values. It's only for test purposes.
I'll update the opening post later with these changes and updated preview video. |
Right now i'm unable to install the apk you provided because it ends with .debug but I already have a debug version with different certificate signing. So you need to create your branch based on |
Oh, sorry, I didn't know that (I only use one debug version at a time). Here's the fix: app-debug-seek-suffix-fix_20200912.zip |
no, look at #2882
I don't really like the first video (OP) because it looks like exactly YouTube. But I agree it should be improved, not knowing how many seconds you moved is annoying. But the latest apk looks great! Btw I haven't seen the difference between slide and slide disabled. |
It's subtle but if it's enabled the triangles+text-view slides to the right/left depending on rewind or forward, otherwise it just fades out. It's based on a recommendation from @Stypox :
I though I give it a try ;) |
Well, first thing I noticed is that with whatever value you've chosen for the shadow, a white video background doesn't matter. The shadow is dark enough that the text can be seen. I tested https://www.youtube.com/watch?v=J3pF2jkQ4vc, and I didn't feel the need for a ripple effect. The video darkens in two stages, with a stutter in between. Is this the delay you were talking about? In the current unified apk, the fast-forward/rewind icon fades out with a similar stutter when you double tap. The fade out animation looks better without Slide to me. I set Controls hide delay to the minimum, and it seems to hide controls at the same time as the seek animation fades out, so that looks great to me. I don't see a reason for a delay. When controls are being shown, double tapping to seek makes the play/pause button fade out and then back in. This is also the behaviour in the current unified apk, but if it is possible to change it, then I think it would look better without any fading. When video controls aren't being shown, double tapping darkens the video to the same extent as when video controls are shown. But when video controls are being shown, double tapping makes it even darker. This double darkening is not needed, I think. If player controls are being shown, there is no need for additional darkening when double tapping to seek. When you double tap to seek, before the animation ends, you can single tap to add another 10s (or whatever value you set), which is wanted behaviour. But this single tap can also be done on the opposite side. This feels a bit weird. It allows me to double tap to seek, then alternately single tap on either side to juggle between two timestamps indefinitely. Maybe the player should ignore a single tap on the opposite side of the screen until the animation fades out? So when you're forwarding using single taps on the right, single tapping on the left would do nothing. You would have to double tap on the left to initiate a rewind. |
Thanks for the feedback ;)
Basically it happened every time because there was no check for the player position (UI/UX was/is my prior in this phase). For example if the video was at
Glad to hear that .D
I thought of this dark option at the very end while searching for a satisfying light (grey) color for light and dark videos (but there is none which fits both cases if shadow is disabled), so I relied on your reactions. Thanks for that 👍 Regarding themes: I've already planned predefined themes which could be selected/adjusted in preferences. I will implement such »picker« in the next version (due to your feedback I know which combinations would fit and which not). |
Oh no, you lost an eye. :O |
@vkay94 thank you for your efforts! The latest behaviour with the default settings feels really polished in my opinion. I think this is ready for review, so feel free to open a PR whenever you want ;-) |
@Stypox Thanks!
Nice to hear that :). I decided to wait until #3178 and #4288 are merged into dev, so I could put it on top of the changes because this feature request depends on them (I disabled the notification to make it even usable).
It isn't but I'm working on it this weekend. Here is the current status: https://streamable.com/e/owvdnr |
Yeah, good idea
It definitely isn't, though I am concerned about who would benefit from having these so-specific and niche settings. Isn't the default behaviour acceptable for anyone? Adding more settings is always a problem because things need to be tested in more configurations and users could enable them by accident and not find a way to restore them. So in NewPipe we usually add settings only when they do really provide a value, and in my humble opinion UI adjustments for really small things do not fit. @B0pol @opusforlife2 what do you think? |
Right now the Seek settings menu is fluctuating because new things are being tried every build. Once we settle on a set of good defaults, we can see if we need any settings at all, and if so, where to put them. |
@Stypox When I opened this issue and shared a first video everyone hated the ripple and arc shape - now the dark arc is good to go ^^ To clarify: Arc shape is fine in any case? I'll make three "themes" to choose from and add them to the next build:
What do you think? |
Update: app-debug-seek_20200929_01.zip Improved
Changed
In all themes- except No Arc - an arc is visible. In case of Dark theme and paused the additional arc color is more transparent. Let me know which theme suits you most ;) |
Did you roll this back? I think it's still there.
DARK THEME FOR LIFE. |
The default theme is the one I prefer, since the arc is dark while playing (thus not disturbing), but is white while paused (otherwise it can barely be seen in combination with the darkened background) |
I suggest to use the dark background, because otherwise one cannot read the white text on white background. Btw. I do not suggest to put a theme chooser into the player itself. The player UI is already cluttered, overloaded and missing simplicity. |
@opusforlife2 I hadn't changed it, my focus lied on merging and adjusting my changes according to them. Here is a build which has a checkBox to enable seek-callback on each tap: app-seek_20200929_02.zip I've also included a signed/optimized version which runs perfectly smooth I guess (well, the debug does too), thanks to @avently and @Stypox ;)
I saw it coming xD I prefer the dark background too (=> Light or probably Shadow + dark transparent during playback :')),
@TobiGr This dialog is just for debugging and giving the opportunity to test different combinations. In case of theming is wanted sometime I though about putting it into the settings (Video & Audio -> Skip duration) - the modified |
Wait, what? The function you were talking about earlier wasn't seek-callback.
|
@opusforlife2 Whoops, my bad - whenever I read performance I think about seek-callbacks xD Here is a version where you can toggle whether the playback should stop or not: The performance on debug-level is not so good and there may occur the problem that the video already plays while the animation is still fully visible. avently has criticized it back then which is indeed not good. One solution would be to reduce the durations. Check it for yourself. Sorry again for the misunderstanding. |
Looks perfect now! The stutter in the animation is gone, from my testing, so if others agree, you could go ahead and make it the default again. The pause in playback takes away from the buttery smoothness of the whole thing. |
@opusforlife2 Okay, I'll set it to the default (well, you and Stypox are the only ones who reacted :')). Out of curiosity I've checked YouTube and they keep playing, too. And it has its benefits: the video buffers instantly. |
Changed
** In other words: Instead of waiting for the complete animation (fade in to start of fade out) while stopping the playback, now the first seek-Call occurs after the fade-in. The background of this is to ensure fluidity of the UI. Multiple seek-Calls have an impact which excels in a jerky fade-in animation - most noticeable when tapping on a white background video. To counteract this I've included a On high-end devices this wouldn't do any change, but on less performant devices it is better. But you won't notice this delay while seeking, it should be as fast as without a delay (but the small exceptions do the most work :))
|
The delay after double tapping is back again. It was absent in the previous build, which was perfect. :/ |
The reason has to lie in the combination of " I might try to write a "special animation" for this, but don't expect any result in the next time. This requires more debugging and currently I need a break from this fine-tuning - that's why I tried myself on an other issue ;)
|
Wait wait wait wait wait. To be clear, I'm referring to this,
and not to any lag or jitter. There is none. I just miss the zero delay between the double tap and the video playing. |
Okay, that's totally a pain in the a**. It looks like I've messed something up somewhere after merging the performance changes from the upstream back then ... |
It's good I took a backup of the perfect build, then. :P |
Thanks for calling it a perfect build :D Aside from the Video- But firstly I want to make a solid version (PR draft) which I can easily revert to (= no huge upstream merges in between). |
XML changes were merged. Happy merging :) |
Describe the feature you want
It's a replacement of the current fast forward/rewind functionality. For a demonstration watch this video (https://streamable.com/e/qhuca0) or see the images below.
Is your feature request related to a problem? Please describe it
No.
Additional context
When you try the debug (app-debug-seek-20200915-02.zip) then you should keep this in mind:
The current dev branch has problems with seeking for many videos. You can verify it by seeking the seekbar and check if there is a delay (visually). I recommend these two videos for testing: https://www.youtube.com/watch?v=xTJcASRxbfI and https://www.youtube.com/watch?v=pXRviuL6vMY
They haven't got that great delay and therefore the UI should response better (less jerky) than on most over videos with this build.
How will you/everyone benefit from this feature?
I think it feels more natural when
I'm looking forward to your opinions ;)
The text was updated successfully, but these errors were encountered: