{"id":16406546,"url":"https://github.com/nudin/mpv-script-directory","last_synced_at":"2025-07-27T05:39:25.323Z","repository":{"id":38337266,"uuid":"282508730","full_name":"Nudin/mpv-script-directory","owner":"Nudin","description":"A machine-readable directory of scripts and other tools for mpv.","archived":false,"fork":false,"pushed_at":"2025-07-19T03:46:04.000Z","size":130,"stargazers_count":31,"open_issues_count":3,"forks_count":14,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-19T08:52:33.480Z","etag":null,"topics":["mpv","mpv-script"],"latest_commit_sha":null,"homepage":"https://nudin.github.io/mpv-script-directory","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nudin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-07-25T19:10:49.000Z","updated_at":"2025-07-19T03:46:08.000Z","dependencies_parsed_at":"2025-07-01T04:38:17.769Z","dependency_job_id":null,"html_url":"https://github.com/Nudin/mpv-script-directory","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Nudin/mpv-script-directory","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nudin%2Fmpv-script-directory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nudin%2Fmpv-script-directory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nudin%2Fmpv-script-directory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nudin%2Fmpv-script-directory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nudin","download_url":"https://codeload.github.com/Nudin/mpv-script-directory/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nudin%2Fmpv-script-directory/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267307553,"owners_count":24067049,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mpv","mpv-script"],"created_at":"2024-10-11T06:10:15.124Z","updated_at":"2025-07-27T05:39:25.290Z","avatar_url":"https://github.com/Nudin.png","language":"Python","readme":"A machine-readable directory of scripts and other tools for mpv.\n\nWhy\n===\nMpv is a great free and open video player. It has interfaces to extend\nit with different types of scripts. There is a large number of those\nscripts, many of them of great use. A [wiki page](https://github.com/mpv-player/mpv/wiki/User-Scripts) lists them, but\nbrowsing this is tedious and installing and updating scripts was not\ncomfortable. Therefore, I created this directory as backend for a new\n[plugin manager](https://github.com/Nudin/mplug).\n\nHow does it work\n================\nThe main file of this project ist `mpv_script_directory.json`. It contains all\nthe known tools with their metadata. The Information is encoded as JSON:\n- The file contains an object (aka dictionary) where each tool is represented as one value.\n- The keys in this object are identifiers that have to be unique. They are for\n  github and gitlab they are well-defined, otherwise they are derived from the\n  projects url.\n- Every script is described by an object with the following keys:\n\t- `name`: The name of the tool\n\t- `url`: The url of the project\n\t- `type`: The type of the tool:\n\t\t- `javascript`\n\t\t- `lua script`\n\t\t- `user shader`\n\t\t- `vapourSynth scripts`\n\t\t- `C plugin`\n\t\t- `other`\n\t- `desc`: A short description of the tool\n\t- `os`: A List of the supported operating systems, an empty list is\n\t  interpreted as platform independent.\n\t- `stars`: The number of stars the project's repository has on github/gitlab\n\t- `sharedrepo`: Boolean, `True` if the tool shares a repository with other tools\n\t- `install`: Install method, currently `git`, `url` and `tar` are supported by mplug\n\t- `receiving_url`: The url that is used to download the script.\n\t- `install_dir`: Name for local directory in that the script will be installed.\n\t  the git repo in. Needed to support scripts sharing a git repo.\n\t- `scriptfiles`: List of files from source that should be installed in\n\t  the script folder (`$MPV_HOME/scripts`).\n\t- `scriptoptfiles`: List of files from source that should be installed\n\t  in the script-opts folder (`$MPV_HOME/script-opts`).\n\t- `shaderfiles`: List of files from source that should be installed in\n\t  the shaders folder (`$MPV_HOME/shaders`).\n\t- `fontfiles`: List of files from source that should be installed in\n\t  the fonts folder (`$MPV_HOME/fonts`).\n\t- `executeablefiles`: List of executeable files from source that should\n\t  be installed (user queried, defaults to `~/bin`).\n\t- `install-notes`: Text that will be displayed after install.\n- For a more detailed description of how to add the installation instructions\n  of a script to the mpv script directory, see [here](HOWTO_ADD_INSTALL_INSTRUCTIONS.md).\n- The directory is initially created by scraping the [wiki page](https://github.com/mpv-player/mpv/wiki/User-Scripts). This is done by\n  `scrapewiki.py` – in the future the directory should be updated directly and\n  the scraping script should therefore become obsolete. Maybe it can be\n  continued to be used to check for divergence from the wiki page.\n- The script `querystars.py` checks the number of stars the project has, if it\n  is hosted on github, github gist or gitlab.com. Other fields are not modified.\n- both scripts need ~/.credentials.json to retrieve user \u0026 classic-acess-token of github api.\n\n\nUsage\n=====\n- [MPlug](https://github.com/Nudin/mplug) is a plugin manager for mpv, it can install plugins from this directory.\n\t- Note: For this to work, the directory needs to contain install\n\t  instructions. Those are currently still missing for most plugins, but can\n\t  most often be added easily.\n- There is a [Proof-of-Concept webpage](https://nudin.github.io/mpv-script-directory/) that allows searching, sorting and\n  filtering the directory.\n- This list can be read with any JSON parser.\n\n\nStatus and ToDo\n===============\nThe catalog was scraped and enriched by hand. The installation instructions\nhave been added for the most prominent scripts but many others are still\npending. If you want to use a plugin that isn't yet supported, please add the\nInformation and open a PR.\n\nThere's a lot to do – please help!\n- Fill the install introductions for all tools\n- Create formal format specification\n- Add further fields: `screenshot`, `deprecated`, `superseededby`, …\n- Set up an automatic update of the star counts\n- Improve the web version\n- Tell the world!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnudin%2Fmpv-script-directory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnudin%2Fmpv-script-directory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnudin%2Fmpv-script-directory/lists"}