Skip to content

sk4zuzu/yt-looper

 
 

Repository files navigation

yt-looper

Build Status

Minimalistic Youtube Looper at https://yt.aergia.eu

URL Parameters

The most basic loop is one video with optional range:

#v=<videoId>[&t=<start>[;<end>]]

Time format is 1h2m3s or just a number of seconds.

YouTube

YouTube-compatible syntax is also supported, enabling use by a simple domain swap in URLs: ?v=<videoId>[[#|&|:]t=<start>[;<end>]]

Advanced Loops

A YouTube video can have more than one interval. Intervals are chained with the + sign:

#v=<videoId>&t=<start1>;<end1>+<start2>;<end2>+...

To chain intervals from multiple videos just append another &v=(...) at the end of URL:

#v=<videoId1>&t=<start1>;<end1>+<start2>;<end2>&v=<videoId2>&t=<start3>;<end3>+<start4>;<end4>`

YouTube Playlist Import

To generate v=(...) items from <playlistId> and start autoplay from <n>-th element:

#list=<playlistId>&index=<n>

YouTube URLs are supported transparently: if <videoId> is inside of the playlist specified by <playlistId> on <n>-th position, it will be deduplicated:

#v=<videoId>&list=<playlistId>&index=<n>

If URL already had some videos <n> will be recalculated.

Video Quality

To cap video quality at a preferred level (global setting):

&quality=<level>

Current list of available levels can be found in YouTube Player API Reference.

Imgur

By default image is displayed forever (useful for GIFs). A slideshow can be created with simplified t parameter:

#i=<imageId>.jpg[&t=<displayTime>]

Example: https://yt.aergia.eu/#i=cJjBEQP.jpg&t=3s&i=vo9DPpp.gif&t=3s

Note: GIF intervals are automatically rendered as GIFV.

SoundCloud

Single track interval:

#s=<user>/<sound>[&t=<start>[;<end>]]

Example: https://yt.aergia.eu/#s=sacredbones/pharmakon-body-betrays-itself&t=0s;17s

Playlists (sets) are lazy-inlined on first play:

#s=<user>/sets/<set>

Example: https://yt.aergia.eu/#s=erasedtapes/sets/erased-tapes-collection-iv

Generic HTML5 Player

Similar to YouTube Player - main difference is format for videoId.

Currently, to be detected, videoId has to begin with http and end with: .mp3, .mp4, .ogg, .ogv or .webm.

Example: https://yt.aergia.eu/#v=https://vt.tumblr.com/tumblr_npa1dkYP1U1urdxm4.mp4&t=4s;5s

Global

Random Mode

&random

This parameter will force playback of all intervals in semi-random order (normalized random: current interval will not be played twice in a row).

Playlist Editor

&editor

This parameter will force playlist editor to be visible from the start.

Keyboard Commands

Press ? to toggle help screen listing available shortcuts.

Companion userscript

There is a simple userscript that adds a button on supported pages to open current video in yt-looper.

Installation

Click to install: https://yt.aergia.eu/yt-looper.user.js

It may require preinstalled browser extension:

Examples

YouTube

Imgur

SoundCloud

Licenses

The yt-looper itself is released under CC0 Public Domain Dedication.

About

Minimalistic Youtube Looper

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • JavaScript 90.0%
  • CSS 5.4%
  • HTML 4.4%
  • Shell 0.2%