{"id":13587317,"url":"https://github.com/archusXIV/mpv-playlists-manager","last_synced_at":"2025-04-07T21:33:41.120Z","repository":{"id":49317527,"uuid":"517267342","full_name":"archusXIV/mpv-playlists-manager","owner":"archusXIV","description":"manage playlists for mpv in your Linux terminal","archived":false,"fork":false,"pushed_at":"2024-04-13T08:26:37.000Z","size":4711,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-04-13T22:04:04.980Z","etag":null,"topics":["bash","ffmpeg","fzf","mpv","youtube-dl","yt-dlp","ytfzf"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/archusXIV.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2022-07-24T08:26:31.000Z","updated_at":"2024-04-15T16:05:56.729Z","dependencies_parsed_at":"2023-11-28T19:25:23.638Z","dependency_job_id":"e6fcb646-4485-40ca-805b-c75a7c0cc3fc","html_url":"https://github.com/archusXIV/mpv-playlists-manager","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archusXIV%2Fmpv-playlists-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archusXIV%2Fmpv-playlists-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archusXIV%2Fmpv-playlists-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archusXIV%2Fmpv-playlists-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/archusXIV","download_url":"https://codeload.github.com/archusXIV/mpv-playlists-manager/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223295359,"owners_count":17121766,"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","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":["bash","ffmpeg","fzf","mpv","youtube-dl","yt-dlp","ytfzf"],"created_at":"2024-08-01T15:06:09.231Z","updated_at":"2025-04-07T21:33:41.101Z","avatar_url":"https://github.com/archusXIV.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# mpv-playlists-manager\n## Manage playlists for mpv from your linux terminal\n\n## About mpm\nManage playlists that mpv reads either online or from local files/directories,\nyoutube-dl/yt-dlp is used to download videos or just audio and in that case if\nwe choose webm links, ffmpeg will (if you want to) convert them in five different formats:\naac, flac, mp3, ogg, or wav. You can switch encoders by editing the config file (mpmrc),\nand many more options to control mpv, ffmpeg, yt-dlp and download/playlists directories etc...\n\n**Please read it before first run and change settings to your likings.**\n\n- [help](https://github.com/archusXIV/mpv-playlists-manager/blob/main/doc/help)\n\n- [Supported websites](https://github.com/ytdl-org/youtube-dl/blob/master/docs/supportedsites.md)\n\n[Youtube dedicated channel](https://www.youtube.com/@mpv-playlists-manager-mv8sh/featured)\n\n# Installation\nRun the install.sh script as root, by default /usr/local/bin /usr/local/lib are the\nrespective destinations.\nThe install script will detect if mpm is already installed and in that case the prompt will be: [R]emove or [U]pgrade mpm?\n\nOtherwise the simple install function will run and create ~/.config/mpm/{mpmrc,themerc} files.\n- Please check the [README_FIRST](https://github.com/archusXIV/mpv-playlists-manager/blob/main/README_FIRST) before first run.\n```\ngit clone https://github.com/archusXIV/mpv-playlists-manager.git\ncd mpv-playlists-manager\nchmod +x install.sh\nsudo ./install.sh\n```\n# Dependencies\n- [ffmpeg](https://ffmpeg.org/), [jq](https://stedolan.github.io/jq/), [mpv](https://mpv.io/), [socat](http://www.dest-unreach.org/socat/), [vim](https://www.vim.org/) (or any terminal text editor), [yt-dlp](https://github.com/yt-dlp/yt-dlp)\n\n## Optionals\n(recommanded for better experience)\n- [fzf](https://github.com/junegunn/fzf), [ytfzf](https://github.com/pystardust/ytfzf), [mpvc](https://github.com/lwilletts/mpvc), [ncmpvc](https://gitlab.com/mpv-ipc/ncmpvc), [parallel](https://www.gnu.org/software/parallel/), [ranger](https://github.com/ranger/ranger) (or any terminal file manager), [ueberzug](https://github.com/ueber-devel/ueberzug), [ffmpegthumbnailer](https://github.com/dirkvdb/ffmpegthumbnailer), [youtube-dl](https://github.com/ytdl-org/youtube-dl)\n\n## mpm can be launched also with these commands:\n\n```\nmpm -c|--config   # edit mpm config\nmpm -e|--edit \u003c?\u003e # edit a playlist from a list; or with an argument:\n                    mpm --edit \u003cmyPlaylistName\u003e (no extension suffix).\nmpm -h|--help     # launches less /usr/local/share/doc/mpm/help\nmpm -l|--load \u003c?\u003e # launches the play/download function; or with an argument:\n                    mpm --load \u003cmyPlaylistName\u003e (no extension suffix).\nmpm -f|--local    # load local files/folder(s)\nmpm -v|--version  # prints mpm version\n```\n\n## Please update your mpmrc file on each release\nWhen upgrading mpm, a ~/.config/mpm/mpmrc.diff will be created and merged with your mpmrc file, of course a backup will be generated under mpmrc.orig. Remember some of the changes are **crucial**...\nTo launch mpm **faster**, in your ~/.{bashrc,zshrc} add:\n```\nsource ~/.config/mpm/mpmrc\nsource ~/.config/mpm/themerc\n```\n\n## Changelog:\nFixed bugs in _{ClearAllTmpList,RemoveMpvTmp} functions\n- Fzf once again, is used to select titles that we want to remove from our temporary {audio,video} lists.\n- Fzf is also used to choose links for watching online or downloading in the load/download menu, fzf have to be enabled in your mpmrc file.\n- We can now switch themes on the fly either for the main window and the mpv fzf tui.\n- Fixed a bunch of bugs in several functions (too long to enumarate here, LOL).\n\n## Mpv interfaces\n- Mpv terminal user interface can be used to pick \u0026 choose playlist items while mpv is running.\n\n  Such as:\n  - [mpvc](https://github.com/lwilletts/mpvc)   (available in the AUR)\n  - [ncmpvc](https://gitlab.com/mpv-ipc/ncmpvc) (available in the AUR) ([cheatsheet](https://github.com/archusXIV/mpv-playlists-manager/blob/main/doc/ncmpvc_cheatsheet))\n\n  as usual set it in your mpmrc file.\n```\n# experimental\n# can be yes (mpvc tui) no (control mpv using shortcuts, press B for details),\n# or empty (mpv infos in the terminal).\nuse_mpvc=\"no\"\n# change your mpv Terminal User Interface here\n# mpvc_tui=\"ncmpvc\"\nmpvc_tui=\"\u003cyour_mpv_tui_here\u003e\"\n```\n  - Or...\n```\n# Colors can be change in ~/.config/mpm/themerc.\nmpvc_tui=\"native\"\n```\n![screenshot](https://github.com/archusXIV/mpv-playlists-manager/blob/main/mpm_screenshots/mpm_player_v1.2.png)\n\n## Integrated programs settings in mpmrc file\n- I also provide a new script (somabox) to listen to somafm.com radio stations through option 5). Place it in your $PATH,\nand change mpmrc setting to 'yes'\n```\nuse_somabox=\"yes\"\n```\n\n![screenshot](https://github.com/archusXIV/mpv-playlists-manager/blob/main/mpm_screenshots/somabox_v0.7.png)\n- As mentioned above mpv command line tools and terminal interface.\n- ffmpeg, mpv, ytfzf \u0026 yt-dlp options can be set in your mpmrc through their respective bash arrays.\n- Audio \u0026 Videos directories are defined in your [mpmrc](https://github.com/archusXIV/mpv-playlists-manager/blob/main/doc/mpmrc#L63) file (change them according to your locales).\n\n## Using fzf\n- Two methods are offered here:\n  - If the **fzf** package is installed it will be used to search and copy audio/video urls from youtube,\n  and to queue up local files.\n  - In addition you can also use the **ytfzf** script (no longer maintained...)\n  if it is in your $PATH, options are available in the mpmrc file.\n\n- In your mpmrc file activate it.\n\n```\nuse_fzf=\"yes\"\n```\n\n## Audio conversion done faster with parallel\n- If installed, **parallel** will launch multiple ffmpeg instances to speed up audio conversion.\n- Just enable it in your mpmrc file\n\n```\nuse_parallel=\"yes\"\n```\n- If not installed then we'll use xargs -P (number of process) {} ffmpeg....which is also fast, otherwise ffmpeg treat files one by one. Make sure parallel_conversion is set to yes in your mpmrc file.\n```\nparallel_conversion=\"yes\"\n```\n\n## Themes\n- A [themerc](https://github.com/archusXIV/mpv-playlists-manager/blob/main/doc/themerc) file is available to insert as many as you want \"themes\" instead of bloating up your mpmrc.\n\ndefault theme will use your ~/.Xresources colors or your terminal preferences.\n\n- When in mpmrc $mpvc_tui is empty, we can use hjkl keys in the main window for mpv control.\n\n![screenshot](https://github.com/archusXIV/mpv-playlists-manager/blob/main/mpm_screenshots/mpm_v2.3-1.png)\n\n\n```\n# apply your prefered colorscheme...\n# !!! Change or add inside the below mainThemes array existing themes\n# in ~/.config/mpm/themerc (_Theme function)!!!\nmainThemes=(\n    default blacksea dracula gotham\n    gruvbox jellybeans monokai pistachio\n    solarized TokyoNight vacuous zenburn\n)\nTHEME=\"default\"\n```\nSame thing for the native mpv tui.\n\n```\n# !!! Change or add inside the below nativeThemes array existing themes\n# in ~/.config/mpm/themerc (_NativePlayerColors function)!!!\nnativeThemes=( default c64 dark gruvbox molokai nord seoul256 )\n```\n\n- To find out how to convert hex colors in rgb colors, open your prefered color picker\nand look at \"red green blue\" fields.\n\n![screenshot](https://github.com/archusXIV/mpv-playlists-manager/blob/main/mpm_screenshots/color_picker.png)\n\nMore screenshots [here](https://github.com/archusXIV/mpv-playlists-manager/tree/main/mpm_screenshots)\n\n## Why ranger file manager?\n(it can be any terminal file manager)\nBecause we are terminal users so we can navigate across our local media files.\nYou will also need some dependencies to make it functional, for example displaying image/video thumbnails preview\nwith [ffmpegthumbnailer](https://github.com/dirkvdb/ffmpegthumbnailer). Make sure $XDG_CONFIG_HOME/ranger/scope.sh is executable.\n```\nFILEMANAGER=\"ranger\"\n```\n\nRequests and contributions? Why not, have fun.\n\n## Credits\nI would like to thanks all the devs that put their great work in the softwares I use and that I have implemented in this project and especially mister Brian Jhan Fox the father of the Bourne-Again SHell, even if I don't always use it the right way.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FarchusXIV%2Fmpv-playlists-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FarchusXIV%2Fmpv-playlists-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FarchusXIV%2Fmpv-playlists-manager/lists"}