{"id":13835421,"url":"https://github.com/ksyasuda/mpv-youtube-queue","last_synced_at":"2026-01-16T10:32:28.687Z","repository":{"id":185974031,"uuid":"673905946","full_name":"ksyasuda/mpv-youtube-queue","owner":"ksyasuda","description":"YouTube 'Add to Queue' for MPV","archived":false,"fork":false,"pushed_at":"2025-03-05T06:17:25.000Z","size":3476,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-10T12:02:34.180Z","etag":null,"topics":["lua","mpv","mpv-script","youtube","yt-dlp"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ksyasuda.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,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-08-02T17:35:19.000Z","updated_at":"2025-06-30T00:07:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"f752762c-dbab-4c7c-b88f-f75f4b808c23","html_url":"https://github.com/ksyasuda/mpv-youtube-queue","commit_stats":null,"previous_names":["ksyasuda/mpv-youtube-queue"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ksyasuda/mpv-youtube-queue","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksyasuda%2Fmpv-youtube-queue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksyasuda%2Fmpv-youtube-queue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksyasuda%2Fmpv-youtube-queue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksyasuda%2Fmpv-youtube-queue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ksyasuda","download_url":"https://codeload.github.com/ksyasuda/mpv-youtube-queue/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ksyasuda%2Fmpv-youtube-queue/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["lua","mpv","mpv-script","youtube","yt-dlp"],"created_at":"2024-08-04T14:01:01.599Z","updated_at":"2026-01-16T10:32:28.620Z","avatar_url":"https://github.com/ksyasuda.png","language":"Lua","funding_links":[],"categories":["Streaming"],"sub_categories":[],"readme":"# mpv-youtube-queue\n\n\u003cdiv align=\"center\"\u003e\n\nA Lua script that replicates and extends the YouTube \"Add to Queue\" feature for mpv\n\n\u003c/div\u003e\n\n![mpv-youtube-queue image](.assets/mpv-youtube-queue.png)\n\n## Features\n\n- **Interactive Queue Management:** A menu-driven interface for adding, removing, and rearranging videos in your queue\n- **yt-dlp Integration:** Gathers video info and allows downloading with any link supported by [yt-dlp](https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md \"yd-dlp supported sites page\")\n- **Internal Playlist Integration:** Seamlessly integrates with mpv's internal playlist for a unified playback experience\n- **Customizable Keybindings:** Assign your preferred hotkeys to interact with the currently playing video and queue\n\n## Requirements\n\nThis script requires the following software to be installed on the system\n\n- One of [xclip](https://github.com/astrand/xclip), [wl-clipboard](https://github.com/bugaevc/wl-clipboard), or any command-line utility that can paste from the system clipboard\n  - Windows users can utilize `Get-Clipboard` from powershell by setting the `clipboard_command` in `mpv-youtube-queue.conf` file to the following: `clipboard_command=powershell -command Get-Clipboard`\n- [yt-dlp](https://github.com/yt-dlp/yt-dlp)\n\n## Installation\n\n- Copy `mpv-youtube-queue.lua` script to your `~~/scripts` directory\n  - `~/.config/mpv/scripts` on Linux\n  - `%APPDATA%\\mpv\\scripts` on Windows\n- Optionally copy `mpv-youtube-queue.conf` to the `~~/script-opts` directory\n  - `~/.config/mpv/script-opts` on Linux\n  - `%APPDATA%\\mpv\\script-opts` on Windows\n    to customize the script configuration as described in the next section\n\n## Configuration\n\n### Default Keybindings\n\n- `add_to_queue - ctrl+a`: Add a video in the clipboard to the queue\n- `download_current_video - ctrl+d`: Download the currently playing video\n- `download_selected_video - ctrl+D`: Download the currently selected video\n  in the queue\n- `move_cursor_down - ctrl+j`: Move the cursor down one row in the queue\n- `move_cursor_up - ctrl+k`- Move the cursor up one row in the queue\n- `load_queue - ctrl+l` - Appends the videos from the most recent save point to the\n  queue\n- `move_video - ctrl+m`: Mark/move the selected video in the queue\n- `play_next_in_queue - ctrl+n`: Play the next video in the queue\n- `open_video_in_browser - ctrl+o`: Open the currently playing video in the browser\n- `open_channel_in_browser - ctrl+O`: Open the channel page for the currently\n  playing video in the browser\n- `play_previous_in_queue - ctrl+p`: Play the previous video in the queue\n- `print_current_video - ctrl+P`: Print the name and channel of the currently\n  playing video to the OSD\n- `print_queue - ctrl+q`: Print the contents of the queue to the OSD\n- `save_queue - ctrl+s`: Saves the queue using the chosen method in\n  `default_save_method`\n- `save_queue_alt - ctrl+S`: Saves the queue using the method not chosen in\n  `default_save_method`\n- `remove_from_queue - ctrl+x`: Remove the currently selected video from the\n  queue\n- `play_selected_video - ctrl+ENTER`: Play the currently selected video in\n  the queue\n\n### Default Options\n\n- `default_save_method - unwatched`: The default method to use when saving the\n  queue. Valid options are `unwatched` or `all`. Defaults to `unwatched`\n  - Whichever option is chosen is the default method for the `save_queue`\n    binding, and the other method will be bound to `save_queue_alt`\n- `browser - firefox`: The browser to use when opening a video or channel page\n- `clipboard_command - xclip -o`: The command to use to get the contents of the clipboard\n- `cursor_icon - ➤`: The icon to use for the cursor\n- `display_limit - 10`: The maximum amount of videos to show on the OSD at once\n- `download_directory - ~/videos/YouTube`: The directory to use when downloading a video\n- `download_quality 720p`: The maximum download quality\n- `downloader - curl`: The name of the program to use to download the video\n- `font_name - JetBrains Mono`: The name of the font to use\n- `font_size - 12`: Size of the font\n- `marked_icon - ⇅`: The icon to use to mark a video as ready to be moved in the queue\n- `menu_timeout - 5`: The number of seconds until the menu times out\n- `show_errors - yes`: Show error messages on the OSD\n- `ytdlp_file_format - mp4`: The preferred file format for downloaded videos\n- `ytdlp_output_template - %(uploader)s/%(title)s.%(ext)s`: The [yt-dlp output template string](https://github.com/yt-dlp/yt-dlp#output-template)\n  - Full path with the default `download_directory` is: `~/videos/YouTube/\u003cuploader\u003e/\u003ctitle\u003e.\u003cext\u003e`\n- `use_history_db - no`: Enable watch history tracking and remote video queuing through integration with [mpv-youtube-queue-server](https://gitea.suda.codes/sudacode/mpv-youtube-queue-server)\n- `backend_host`: ip or hostname of the backend server\n- `backend_port`: port to connect to for the backend server\n\n## License\n\nThis project is licensed under the terms of the GPLv3 license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fksyasuda%2Fmpv-youtube-queue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fksyasuda%2Fmpv-youtube-queue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fksyasuda%2Fmpv-youtube-queue/lists"}