Home

Awesome

Introduction

This repository contain scripts I have made for mpv media player. To add scripts from this repository, download the desired script in your mpv/scripts/ directory, for user customizable settings download the related conf file in your mpv/script-opts/ directory.

Scripts available in this repository: SmartSkip, SmartCopyPaste, SmartCopyPaste_II, SimpleHistory, SimpleBookmark, SimpleUndo, UndoRedo

SmartSkip

You think Netflix is good at binge-watching? Yes, it is.. :) But give SmartSkip a try! Automatically or manually skip opening, intro, outro, and preview, like never before. Jump to next file, previous file, and save your chapter changes!

SmartSkip Demo

<details> <Summary>Click for more details!</Summary>

Default Keybinds

Below default keybinds can be changed using the script conf file, or through script-opts by referring to the names that do not contain spaces.

KeybindNameDescription
>smart-nextSkips using silence-skip > chapter-next > playlist-next, based on configurable variables
<smart-prevJumps to beginning > previous chapter > previous playlist, based on configurable variables
?silence-skipSkips until a silence is detected based on configurable variables
ctrl+rightchapter-nextJumps to next chapter > to next playlist
ctrl+leftchapter-prevJumps to previous chapter > to beginning > to previous playlist
smart-next, enter, yProceed Auto-SkipProceeds Auto-Skip when countdown is started
smart-prev, pause, esc, nCancel Auto-SkipCancels Auto-Skip when countdown is started
ctrl+.toggle-autoskipEnables or disables Auto-Skip during playback for the current mpv session
alt+.toggle-category-autoskipEnables or disables a chapter for Auto-Skip during playback for the current mpv session
toggle-autoloadEnables or disables autoload during playback for the current mpv session
nadd-chapterAdd a chapter for the reached position
alt+nremove-chapterRemoves the current chapter
ctrl+nwrite-chaptersjumps to the previous available filter based on configured filters
alt+s / alt+Sedit-chapterRenames the current chapter (requires user-input-module )
bake-chaptersMerge the changes of chapters for the file inside mkv file

Main Features

Compatibility

</details>

SmartCopyPaste

Gives mpv the capability to copy and paste while being smart and customizable...

SmartCopyPaste Demo

<details> <Summary>Click for more details!</Summary>

Default Keybinds

The following are the default keybinds, they can be changed in the conf file of the script or using script-opts by referring to the name.

KeybindNameDescription
ctrl+c / ctrl+C / meta+c / meta+Ccopycopies file path / URI with resume time using the configured smart behavior.
ctrl+v / ctrl+V / meta+v / meta+Vpastepastes and run into mpv from the clipboard using the configured smart behavior.
ctrl+alt+c / ctrl+alt+C / meta+alt+c / meta+alt+Ccopy-specificcopies the file path without the reached time or based on the configured specific copy behavior.
ctrl+alt+v / ctrl+alt+V / meta+alt+v / meta+alt+Vpaste-specificpastes and appends the video file into playlist or based on the configured specific paste behavior.

Main Features

Compatibility

</details>

SmartCopyPaste_II

Just like SmartCopyPaste but logs your clipboard and makes use of it...

SmartCopyPaste_II Demo

<details> <Summary>Click for more details!</Summary>

Default Keybinds

The following are the default keybinds, they can be changed in the conf file of the script or using script-opts by referring to the name.

KeybindNameDescription
ctrl+c / ctrl+C / meta+c / meta+Ccopycopies file path / URI with resume time using the configured smart behavior.
ctrl+v / ctrl+V / meta+v / meta+Vpastepastes and run into mpv from the clipboard using the configured smart behavior.
ctrl+alt+c / ctrl+alt+C / meta+alt+c / meta+alt+Ccopy-specificcopies the file path without the reached time or based on the configured specific copy behavior.
ctrl+alt+v / ctrl+alt+V / meta+alt+v / meta+alt+Vpaste-specificpastes and appends the video file into playlist or based on the configured specific paste behavior.
c / Copen-listopens Clipboard list (LogManager)

Main Features

Compatibility

</details>

SimpleHistory

Stores whatever you open in a history file and abuses it with features! Continue watching your last played or resume previously played videos, manage and play from your history, and more...

SimpleHistory Demo

<details> <Summary>Click for more details!</Summary>

Default Keybinds

The following are the default keybinds, they can be changed in the conf file of the script or using script-opts by referring to the name.

KeybindNameDescription
ctrl+r / ctrl+Rhistory-resumeFile Loaded: Resumes in any previously closed video. / Idle: Loads and resumes the last played videos.
alt+r / alt+Rhistory-load-lastFile Loaded: Adds last closed video into playlist. / Idle: Loads last closed video without resuming.
ctrl+Hhistory-incognito-modeTriggeres a customizable incognito mode that stops saving history. To resume saving history press ctrl+H again
h / Hopen-listopens History list (LogManager)
r / RNAopens History list - filtered with recent items (LogManager)

Main Features

Compatibility

</details>

SimpleBookmark

Bookmark with a key, then list and access your bookmarks with a key. Assign your favorites to a keybind then access your favorites with that same keybind. Simple as that...

SimpleBookmark Demo

<details> <Summary>Click for more details!</Summary>

Default Keybinds

The following are the default keybinds, they can be changed in the conf file of the script or using script-opts by referring to the name.

KeybindNameDescription
ctrl+b / ctrl+Bbookmark-savebookmarks file along with time reached.
alt+b / alt+Bbookmark-fileonlybookmarks file only without the reached time.
b / Bopen-listopens Bookmark list (LogManager)
k / KNAopens Bookmark list - filtered with entries assigned to keybinds (LogManager)
alt+1-alt+9NAList is open: assigns entry to a keybind. / List is closed: loads the assigned entry.
alt+shift+1-alt+shift+9NAoverride a corresponding assigned keybind entry based on the pressed number.
alt+-keybind-slot-removewhen list is open it removes the assigned keybind from the bookmarked entry based on cursor position.
alt+shift+-keybind-slot-remove-highlightwhen list is open it removes all the highlighted assigned keybinds from the bookmarked entries.

Main Features

Compatibility

</details>

SimpleUndo

Accidentally seeked? No worries, simply undo..

SimpleUndo Demo

<details> <Summary>Click for more details!</Summary>

Default Keybinds

The following are the default keybinds, they can be changed in the script or using script-opts by referring to the name.

KeybindNameDescription
ctrl+z / ctrl+Zundo / undoCapsundo accidental seek by returning to previous time and vise-versa.

Main Features

Compatibility

</details>

UndoRedo

Undo is not enough to fix your accidental seek? Well now you can redo as well..

UndoRedo Demo

<details> <Summary>Click for more details!</Summary>

Default Keybinds

The following are the default keybinds, they can be changed in the script or using script-opts by referring to the name.

KeybindNameDescription
ctrl+z / ctrl+Zundo / undoCapsundo by returning to previous time.
ctrl+y / ctrl+Yredo / redoCapsredo by restoring the undo time.
ctrl+alt+z / ctrl+alt+ZundoLoop / undoLoopCapsundo accidental seek by returning to previous time and vise-versa.

Main Features

Compatibility

</details>

LogManager

A highly customizable GUI to list and manage the logged items for SimpleHistory, SimpleBookmark, SmartCopyPaste_II; it is already integrated with the scripts.

Bookmarks (Keybinds Filter and Sort)Clipboard (Highlighted 3 Items)History (Search for Naruto in April 2022)
LogManager Demo1LogManager Demo2LogManager Demo3
<details> <Summary>Click for more details!</Summary>

Default Keybinds

The following are the default keybinds, they can be changed in the conf file of the scripts or using script-opts by referring to the name.

KeybindNameDescription
UP / WHEEL_UPmove-upnavigates up on the log list
DOWN / WHEEL_DOWNmove-downnavigates down on the log list
PGUPpage-upnavigates to the first item of current shown page on the log list
PGDWNpage-downnavigates to the last item of current shown page on the log list
HOMEmove-firstnavigates to the first item on the log list
ENDmove-lastnavigates to the last item on the log list
SHIFTNAhighlights the items on the list to manage and take action on multiple items. Keep holding SHIFT, then press any navigation keybind, e.g.: SHIFT+UP/SHIFT+PGDWN to highlight the items navigated towards
ctrl+a / ctrl+Alist-highlight-allhighlights all the displayed items on the log list
ctrl+d / ctrl+Dlist-unhighlight-allcancels the highlight of all highlighted items shown on the log list
RIGHT / MBTN_FORWARDlist-filter-nextjumps to the next available filter based on configured filters
LEFT / MBTN_BACKlist-filter-previousjumps to the previous available filter based on configured filters
alt+s / alt+Slist-cycle-sortcycles through the different available sorts on the log list
ENTER / MBTN_MIDlist-selectloads an entry based on cursor position
ctrl+ENTERlist-add-playlistadd entry to playlist based on cursor position
SHIFT+ENTERlist-add-playlist-highlightadds all highlighted entries to playlist
0-9NAquick-select an entry from 0th to 9th position
DELlist-deletedeletes an entry from the log file based on cursor position
SHIFT+DELlist-delete-highlightdeletes all highlighted entries from the log file
ctrl+f / ctrl+Flist-search-activatetriggers search to quickly find an item on the log list
ALT+ENTERsearch_string_not_typingforcefully exit typing mode of search while keeping search open
Depends on the scriptignoreKeybinds that will be ignored when the log list is open (mainly to avoid opening another log list from a different script while current one is active)
ESC / MBTN_RIGHTNAclose the log list (closes search first if it is open)

Main Features

Compatibility

</details>

Misc

MPV.net Support

MPV.net users must change the option input-default-bindings = no to input-default-bindings = yes located in MPV.net/mpv.conf

Special Thanks

Below is list of contributors/ honorable mentions. Without the below contributions these scripts would not exist today.