6

By pressing j or l on your keyboard, you can forward/rewind a YouTube video by 10 sec. But sometimes I need the ability to forward or rewind it by 3 sec, 5 sec, etc. Is there a way to control this?

EDIT: I'm on Win 7 and using YouTube in HTML5 (though, I wouldn't mind switching to Flash if necessary for this.)

3

If you load the YouTube video into an external player instead of using the HTML5 or flash embedded player, you can do so quite easily.

For example, the latest versions of the free, open source, and cross-platform VLC can directly load a YouTube video stream from just the URL to the page: Media | Open Network Stream and then paste in the YouTube URL. You can then use the full gamut of the VLC video player seeking capabilities, including jumping to a specific timestamp, skipping forward frame-by-frame, moving x seconds forward and backward, etc.

| improve this answer | |
  • Do you know if VLC saves the part of the video that's been downloaded so far as well as a certain portion of the video ahead of time as a buffer like YouTube does? I'm currently having a very non-smooth experience following your suggestion: the videos stall for ~1 sec every time I attempt to skip forward by 3 sec, making it kind of preferable to wait the 3 sec smoothly instead. Also, I don't see a way to move x seconds in VLC: shortcutworld.com/en/win/VLC-Media-Player.html#link_4 – Tolga Yilmaz Sep 22 '15 at 15:21
  • You can configure the caching here: groovypost.com/howto/change-vlc-streaming-buffer – Mahmoud Al-Qudsi Sep 22 '15 at 15:32
2

Fortunately you can control the speed and the arrow keys moves the video by 2 sec at 0.5x. While the same moves by 5 sec at 1x. Hope that helps!!

| improve this answer | |
1

The Arrow keys work to jump around browser videos in small ammounts, like 3-6 seconds. Depends on how long you hold it down. Also Number keys both normal Kb and KeyPad number keys will hop 10% 20% 30% type through a video.

When any of that does not work it can help to have selected the video picture, paused and unpaused or just to make sure that "window" is selected not the volume, or other things.

If you need more precision than what the simple player provides, after downloading the youtubes, you could use any number of players to have more control, as outlined here https://superuser.com/questions/45803/video-players-that-have-frame-by-frame-playback-feature. If that isnt enough control video editing programs, even good freeware ones would provide more control.

| improve this answer | |
  • The arrow key makes videos jump by 5 sec for me. I don't know why there might be this difference. I'm using Google Chrome. Thanks for pointing this out, though. – Tolga Yilmaz Sep 22 '15 at 15:13
  • It is so fast it is hard to see it precisely and i am not recording it to find out, but I did observe a possibility for 3seconds , when pushing the button very fast. It probably is also effected by the codecs used, the responce time of the equiptment, or even the lenght of the video. – Psycogeek Sep 22 '15 at 15:40
1

I had same issue. The solution I came up with is using Autohotkey.

Install Autohotkey from here and save following script as tmp.ahk and execute the file by clicking.

You can rewind Youtube videos for 1 second by z and forward Youtube videos for 1 second by x.

SetTitleMatchMode, regex
SetTitleMatchMode, Slow

#If WinActive("ahk_exe chrome.exe") && WinActive(" - YouTube")

  z::
    send, +<+<+<{left}+>+>+>
  return 

  x::
    ; msgbox, 
    send, +<+<+<{right}+>+>+>
  return 

#If 

WinActive("ahk_exe chrome.exe"): The feature will be only enabled on chrome.exe

WinActive("YouTube"): The feature will be only enabled if the window title of the current chrome tab matches to regex - YouTube

| improve this answer | |
1

This may be too detailed for you, but the , comma and . period keys let you go one frame backward/forward.

| improve this answer | |
1

Here, copy this script in the console or in the snippet tab in the sources of the developer tools window (F12).

V_YOUTUBE_PLAYER = document.querySelector('ytd-player').getPlayer();
V_SECONDS = 2;

function backwardXSeconds(seconds) {
  V_YOUTUBE_PLAYER.seekToStreamTime(V_YOUTUBE_PLAYER.getCurrentTime() - seconds);
}
function forwardXSeconds(seconds) {
  V_YOUTUBE_PLAYER.seekToStreamTime(V_YOUTUBE_PLAYER.getCurrentTime() + seconds);
}

try {
  window.removeEventListener('keydown', v_backward_listener);
  window.removeEventListener('keydown', v_forward_listener);
} catch (e) {}

v_backward_listener = function(e) {
  if (e.keyCode === 37 && e.ctrlKey) {
    backwardXSeconds(V_SECONDS);
  }
}

v_forward_listener = function(e) {
  if (e.keyCode === 39 && e.ctrlKey) {
    forwardXSeconds(V_SECONDS);
  }
}


window.addEventListener('keydown', v_backward_listener);
window.addEventListener('keydown', v_forward_listener);

After that you can close the developer tools window and press ctrl+left and ctrl+right to go back or forward 2 seconds.

Change the V_SECONDS to your liking (default: 2 in header of this script).

(note: tested in Chrome Browser only)

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.