I’ve been wanting for a long time to have better support for fast-forward and rewind of more than the default -10/+30 seconds on Android, especially for transcoded video.
The main problem is that if you want to skip ahead let’s say 90sec which is the typical length of intro credits on many shows, you have to hit +30, then wait 3-5 sec for it to load, then hit +30 again, wait for it to load, and hit +30 again and wait for it to load. If you hit +30 more than once before it loads, the system instead reverts to the 30 second mark from the beginning of the video instead of +60 of the initial location in the video when you pressed it. Additionally, dragging the bar is fairly user-unfriendly as when you release it, it tends to jump to another time since you can’t release your entire finger at once and it registers the last part of your finger that was touching the screen. And the smaller the screen and larger the finger, the less likely you are to get the time you had it set to when you released your finger.
There are several ways I see to implement this from what I perceive as easiest to hardest to implement.
Implement a custom setting for how long the fast-forward and rewind advance so the user can set it and just hit it once. The disadvantage here being that you’d have to change it for each show to match the length you want to advance.
When the user presses the fast-forward or rewind button, pause the video, wait 1 second for them to press it a second time or more and add up all of the presses before actually trying to advance the video. For example, I press the button once, video pauses, I press it a second time within 1 sec, still paused, I press it a third time within 1 sec of the second press, still paused. After 1 sec from the third press it advances the video by 90 sec. The time between presses can be tweaked based on testing or best practice. I’m just giving 1 sec as an example.
Fix the dragging the time position bar issue. This could be done either by recognizing the erratic change in position at the end and ignoring it, or if recognizing that if the user stops moving their finger for 1 second or whatever amount of time, the system should ignore further touches for a second or two and just advance to that point.
Having all would be great, but number 2 would be preferred first if possible.
I’am not sure if this is available on Android but if your watching a title, touch the screen to present the progress bar. Touch any distance on the bar to forward and backwards the title. The progress bar is time stamped so it gives you total flexibility.
That’s not right. I can hit the +30 or -10 buttons multiple times and it skips the appropriate amount of time for me. You should see the counter change each time you press the button, even if the spinner is on the screen. If this isn’t working for you, then something is wrong and we’ll need more details to look into the issue.
As mentioned above, the problem with dragging the progress bar is that when you let your finger off of it, you inevitably don’t let off the screen all at once. Your finger doesn’t come to a point like a stylus. When you are dragging the bar, it detects the center of your finger as the point where it is being dragged to. Let’s say that drags it to 1:00. When you let off, the left side of your finger might come away first so that the now center of the part of your finger touching the screen is now at 1:20. This was my solution 3 to solve the problem. If the application would ignore sudden jumps or only actually make the change if the spot is touched for 1 second or half a second or whatever, then it would not suddenly jump in that millisecond as you are lifting your finger. It’s especially bad on smaller screens in portrait mode and with longer video as the bar is shorter/more sensitive.
I’ve only rarely had it work this way. I think it only does when it’s not altering the video in any way (transcoding, adding subtitles, etc.), though I haven’t 100% determined why it sometimes works that way. Anyway, it’s exceedingly rare. When I press the button the counter changes to 0 as it is reloading, loads a bit, then changes to the actual new time. During that several seconds when it is at 0 if you press it again, it will advance from 0 rather than from the original time.
I’m using a Pixel 2 (also previously had an HTC A9) casting to a Chromecast. The server is running on a headless CentOS 7 box with an intel Core i3-8100 (quad core 3.6GHz) and 8GB of RAM. No other major applications are running on it. I’ve been using Plex for many years and always had this problem.
I have exactly the same issue, except that I am casting from iOS to Chromecast on Ubuntu with server version 1.17.0.1841. Have you ever found a solution?
Yes, I fully agree with your suggestions, would be great to see this in Plex.
I also see the issue where pressing rewind can sometimes jump back to the beginning of the video, especially annoying if I don’t remember what time I was at previously.
I’m not sure how more people haven’t flagged this as an issue. It may be Chromecast specific as this occurs for me when casting from Android.
Is there anyway to customize the amount of time i FF or RW when using web client or plex player PC. 30 sec is too much especially when shows i watch are only 23 mins long.