Last active
June 23, 2020 20:03
-
-
Save zehric/f55e95192e2510d1ed025ba3b7eac046 to your computer and use it in GitHub Desktop.
Autosave MPV Youtube Playlist
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Saves watch later data upon loading a new file. | |
local options = require 'mp.options' | |
local mp = require 'mp' | |
local o = { | |
enabled = false | |
} | |
options.read_options(o) | |
local function save() | |
mp.command("write-watch-later-config") | |
end | |
if o.enabled then | |
mp.register_event("file-loaded", save) | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# mpv keybindings | |
# | |
# Location of user-defined bindings: ~/.config/mpv/input.conf | |
# | |
# Lines starting with # are comments. Use SHARP to assign the # key. | |
# Copy this file and uncomment and edit the bindings you want to change. | |
# | |
# List of commands and further details: DOCS/man/input.rst | |
# List of special keys: --input-keylist | |
# Keybindings testing mode: mpv --input-test --force-window --idle | |
# | |
# Use 'ignore' to unbind a key fully (e.g. 'ctrl+a ignore'). | |
# | |
# Strings need to be quoted and escaped: | |
# KEY show-text "This is a single backslash: \\ and a quote: \" !" | |
# | |
# You can use modifier-key combinations like Shift+Left or Ctrl+Alt+x with | |
# the modifiers Shift, Ctrl, Alt and Meta (may not work on the terminal). | |
# | |
# The default keybindings are hardcoded into the mpv binary. | |
# You can disable them completely with: --no-input-default-bindings | |
# Developer note: | |
# On compilation, this file is baked into the mpv binary, and all lines are | |
# uncommented (unless '#' is followed by a space) - thus this file defines the | |
# default key bindings. | |
# If this is enabled, treat all the following bindings as default. | |
#default-bindings start | |
#MBTN_LEFT ignore # don't do anything | |
#MBTN_LEFT_DBL cycle fullscreen # toggle fullscreen on/off | |
#MBTN_RIGHT cycle pause # toggle pause on/off | |
#MBTN_BACK playlist-prev | |
#MBTN_FORWARD playlist-next | |
# Mouse wheels, touchpad or other input devices that have axes | |
# if the input devices supports precise scrolling it will also scale the | |
# numeric value accordingly | |
#WHEEL_UP seek 10 | |
#WHEEL_DOWN seek -10 | |
#WHEEL_LEFT add volume -2 | |
#WHEEL_RIGHT add volume 2 | |
## Seek units are in seconds, but note that these are limited by keyframes | |
#RIGHT seek 5 | |
#LEFT seek -5 | |
#UP seek 60 | |
#DOWN seek -60 | |
# Do smaller, always exact (non-keyframe-limited), seeks with shift. | |
# Don't show them on the OSD (no-osd). | |
#Shift+RIGHT no-osd seek 1 exact | |
#Shift+LEFT no-osd seek -1 exact | |
#Shift+UP no-osd seek 5 exact | |
#Shift+DOWN no-osd seek -5 exact | |
# Skip to previous/next subtitle (subject to some restrictions; see manpage) | |
#Ctrl+LEFT no-osd sub-seek -1 | |
#Ctrl+RIGHT no-osd sub-seek 1 | |
# Adjust timing to previous/next subtitle | |
#Ctrl+Shift+LEFT sub-step -1 | |
#Ctrl+Shift+RIGHT sub-step 1 | |
# Move video rectangle | |
#Alt+left add video-pan-x 0.1 | |
#Alt+right add video-pan-x -0.1 | |
#Alt+up add video-pan-y 0.1 | |
#Alt+down add video-pan-y -0.1 | |
# Zoom/unzoom video | |
#Alt++ add video-zoom 0.1 | |
#Alt+- add video-zoom -0.1 | |
# Reset video zoom/pan settings | |
#Alt+BS set video-zoom 0 ; set video-pan-x 0 ; set video-pan-y 0 | |
#PGUP add chapter 1 # skip to next chapter | |
#PGDWN add chapter -1 # skip to previous chapter | |
#Shift+PGUP seek 600 | |
#Shift+PGDWN seek -600 | |
#[ multiply speed 1/1.1 # scale playback speed | |
#] multiply speed 1.1 | |
#{ multiply speed 0.5 | |
#} multiply speed 2.0 | |
#BS set speed 1.0 # reset speed to normal | |
#Shift+BS revert-seek # undo previous (or marked) seek | |
#Shift+Ctrl+BS revert-seek mark # mark position for revert-seek | |
#q quit | |
#Q quit-watch-later | |
#q {encode} quit 4 | |
#ESC set fullscreen no | |
#ESC {encode} quit 4 | |
#p cycle pause # toggle pause/playback mode | |
#. frame-step # advance one frame and pause | |
#, frame-back-step # go back by one frame and pause | |
#SPACE cycle pause | |
#> playlist-next # skip to next file | |
#ENTER playlist-next # skip to next file | |
#< playlist-prev # skip to previous file | |
#O no-osd cycle-values osd-level 3 1 # cycle through OSD mode | |
#o show-progress | |
#P show-progress | |
#i script-binding stats/display-stats | |
#I script-binding stats/display-stats-toggle | |
#` script-binding console/enable | |
#z add sub-delay -0.1 # subtract 100 ms delay from subs | |
#Z add sub-delay +0.1 # add | |
#x add sub-delay +0.1 # same as previous binding (discouraged) | |
#ctrl++ add audio-delay 0.100 # this changes audio/video sync | |
#ctrl+- add audio-delay -0.100 | |
#9 add volume -2 | |
#/ add volume -2 | |
#0 add volume 2 | |
#* add volume 2 | |
#m cycle mute | |
#1 add contrast -1 | |
#2 add contrast 1 | |
#3 add brightness -1 | |
#4 add brightness 1 | |
#5 add gamma -1 | |
#6 add gamma 1 | |
#7 add saturation -1 | |
#8 add saturation 1 | |
#Alt+0 set window-scale 0.5 | |
#Alt+1 set window-scale 1.0 | |
#Alt+2 set window-scale 2.0 | |
# toggle deinterlacer (automatically inserts or removes required filter) | |
#d cycle deinterlace | |
#r add sub-pos -1 # move subtitles up | |
#R add sub-pos +1 # down | |
#t add sub-pos +1 # same as previous binding (discouraged) | |
#v cycle sub-visibility | |
# stretch SSA/ASS subtitles with anamorphic videos to match historical | |
#V cycle sub-ass-vsfilter-aspect-compat | |
# switch between applying no style overrides to SSA/ASS subtitles, and | |
# overriding them almost completely with the normal subtitle style | |
#u cycle-values sub-ass-override "force" "no" | |
#j cycle sub # cycle through subtitles | |
#J cycle sub down # ...backwards | |
#SHARP cycle audio # switch audio streams | |
#_ cycle video | |
#T cycle ontop # toggle video window ontop of other windows | |
#f cycle fullscreen # toggle fullscreen | |
#s screenshot # take a screenshot | |
#S screenshot video # ...without subtitles | |
#Ctrl+s screenshot window # ...with subtitles and OSD, and scaled | |
#Alt+s screenshot each-frame # automatically screenshot every frame | |
#w add panscan -0.1 # zoom out with -panscan 0 -fs | |
#W add panscan +0.1 # in | |
#e add panscan +0.1 # same as previous binding (discouraged) | |
# cycle video aspect ratios; "-1" is the container aspect | |
#A cycle-values video-aspect-override "16:9" "4:3" "2.35:1" "-1" | |
#POWER quit | |
#PLAY cycle pause | |
#PAUSE cycle pause | |
#PLAYPAUSE cycle pause | |
#PLAYONLY set pause no | |
#PAUSEONLY set pause yes | |
#STOP quit | |
#FORWARD seek 60 | |
#REWIND seek -60 | |
#NEXT playlist-next | |
#PREV playlist-prev | |
#VOLUME_UP add volume 2 | |
#VOLUME_DOWN add volume -2 | |
#MUTE cycle mute | |
#CLOSE_WIN quit | |
#CLOSE_WIN {encode} quit 4 | |
#ctrl+w quit | |
#E cycle edition # next edition | |
#l ab-loop # Set/clear A-B loop points | |
#L cycle-values loop-file "inf" "no" # toggle infinite looping | |
#ctrl+c quit 4 | |
#DEL script-binding osc/visibility # cycle OSC display | |
#ctrl+h cycle-values hwdec "auto" "no" # cycle hardware decoding | |
#F8 show_text ${playlist} # show playlist | |
#F9 show_text ${track-list} # show list of audio/sub streams | |
# | |
# Legacy bindings (may or may not be removed in the future) | |
# | |
#! add chapter -1 # skip to previous chapter | |
#@ add chapter 1 # next | |
# | |
# Not assigned by default | |
# (not an exhaustive list of unbound commands) | |
# | |
# ? add sub-scale +0.1 # increase subtitle font size | |
# ? add sub-scale -0.1 # decrease subtitle font size | |
# ? cycle angle # switch DVD/Bluray angle | |
# ? cycle sub-forced-only # toggle DVD forced subs | |
# ? cycle program # cycle transport stream programs | |
# ? stop # stop playback (quit or enter idle mode) | |
ctrl+RIGHT seek 85 # Skip anime OP | |
ctrl+LEFT seek -85 # Unskip anime OP |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Example mpv configuration file | |
# | |
# Warning: | |
# | |
# The commented example options usually do _not_ set the default values. Call | |
# mpv with --list-options to see the default values for most options. There is | |
# no builtin or example mpv.conf with all the defaults. | |
# | |
# | |
# Configuration files are read system-wide from /usr/local/etc/mpv.conf | |
# and per-user from ~/.config/mpv/mpv.conf, where per-user settings override | |
# system-wide settings, all of which are overridden by the command line. | |
# | |
# Configuration file settings and the command line options use the same | |
# underlying mechanisms. Most options can be put into the configuration file | |
# by dropping the preceding '--'. See the man page for a complete list of | |
# options. | |
# | |
# Lines starting with '#' are comments and are ignored. | |
# | |
# See the CONFIGURATION FILES section in the man page | |
# for a detailed description of the syntax. | |
# | |
# Profiles should be placed at the bottom of the configuration file to ensure | |
# that settings wanted as defaults are not restricted to specific profiles. | |
################## | |
# video settings # | |
################## | |
# Start in fullscreen mode by default. | |
#fs=yes | |
# force starting with centered window | |
#geometry=50%:50% | |
# don't allow a new window to have a size larger than 90% of the screen size | |
#autofit-larger=90%x90% | |
# Do not close the window on exit. | |
keep-open=yes | |
# Do not wait with showing the video window until it has loaded. (This will | |
# resize the window once video is loaded. Also always shows a window with | |
# audio.) | |
#force-window=immediate | |
# Disable the On Screen Controller (OSC). | |
#osc=no | |
# Keep the player window on top of all other windows. | |
#ontop=yes | |
# Specify high quality video rendering preset (for --vo=gpu only) | |
# Can cause performance problems with some drivers and GPUs. | |
profile=gpu-hq | |
# Force video to lock on the display's refresh rate, and change video and audio | |
# speed to some degree to ensure synchronous playback - can cause problems | |
# with some drivers and desktop environments. | |
#video-sync=display-resample | |
# Enable hardware decoding if available. Often, this does not work with all | |
# video outputs, but should work well with default settings on most systems. | |
# If performance or energy usage is an issue, forcing the vdpau or vaapi VOs | |
# may or may not help. | |
hwdec=auto | |
################## | |
# audio settings # | |
################## | |
# Specify default audio device. You can list devices with: --audio-device=help | |
# The option takes the device string (the stuff between the '...'). | |
#audio-device=alsa/default | |
# Do not filter audio to keep pitch when changing playback speed. | |
#audio-pitch-correction=no | |
# Output 5.1 audio natively, and upmix/downmix audio with a different format. | |
#audio-channels=5.1 | |
# Disable any automatic remix, _if_ the audio output accepts the audio format. | |
# of the currently played file. See caveats mentioned in the manpage. | |
# (The default is "auto-safe", see manpage.) | |
#audio-channels=auto | |
################## | |
# other settings # | |
################## | |
# Pretend to be a web browser. Might fix playback with some streaming sites, | |
# but also will break with shoutcast streams. | |
#user-agent="Mozilla/5.0" | |
# cache settings | |
# | |
# Use a large seekable RAM cache even for local input. | |
#cache=yes | |
# | |
# Use extra large RAM cache (needs cache=yes to make it useful). | |
#demuxer-max-bytes=500M | |
#demuxer-max-back-bytes=100M | |
# | |
# Disable the behavior that the player will pause if the cache goes below a | |
# certain fill size. | |
#cache-pause=no | |
# | |
# Store cache payload on the hard disk instead of in RAM. (This may negatively | |
# impact performance unless used for slow input such as network.) | |
#cache-dir=~/.cache/ | |
#cache-on-disk=yes | |
# Display English subtitles if available. | |
slang=en | |
# Play Japanese audio if available, fall back to English otherwise. | |
alang=jp,en | |
# Change subtitle encoding. For Arabic subtitles use 'cp1256'. | |
# If the file seems to be valid UTF-8, prefer UTF-8. | |
# (You can add '+' in front of the codepage to force it.) | |
#sub-codepage=cp1256 | |
# You can also include other configuration files. | |
#include=/path/to/the/file/you/want/to/include | |
############ | |
# Profiles # | |
############ | |
# The options declared as part of profiles override global default settings, | |
# but only take effect when the profile is active. | |
# The following profile can be enabled on the command line with: --profile=eye-cancer | |
#[eye-cancer] | |
#sharpen=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@ECHO OFF | |
setlocal | |
REM removes all files in `folder` other than the latest two. | |
set folder=watch_later | |
cd %folder% | |
for /f "skip=2 delims=" %%G in ('dir /b /o-d .') DO del %%G |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@echo off | |
cd %TOOLS%\mpv\portable_config | |
call scripts\remove.bat | |
cd %TOOLS%\mpv | |
start %TOOLS%\mpv\mpv.exe "https://www.youtube.com/playlist?list=PLVRGoASBFNNj7XfNOIzstUn0HCL1iAl5_" --video-sync=audio --profile=low-latency --no-border --slang=en --save-position-on-quit --volume=50 --script-opts=autosave-enabled=yes |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment