{"id":18383045,"url":"https://github.com/chj85/youtube-playlist-generator","last_synced_at":"2025-04-14T04:14:56.381Z","repository":{"id":178157701,"uuid":"661423442","full_name":"CHJ85/YouTube-Playlist-Generator","owner":"CHJ85","description":"Generate an M3U playlist using yt-dlp or youtube-dl, which retrieves video URLs from YouTube playlists, channels, and live streams. The script prompts the user to enter YouTube playlist IDs, channel IDs, and live stream URLs through a either a text-based version or a GUI version.","archived":false,"fork":false,"pushed_at":"2023-07-03T14:46:55.000Z","size":8,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-14T04:14:49.225Z","etag":null,"topics":["bash","bash-script","generator","gui","linux","m3u","macosx","playlist","shell","youtube","youtube-dl","yt-dlp","zenity"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CHJ85.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}},"created_at":"2023-07-02T19:49:40.000Z","updated_at":"2024-12-16T03:12:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"d6e737fe-33d8-4881-8e17-8444dd3da402","html_url":"https://github.com/CHJ85/YouTube-Playlist-Generator","commit_stats":null,"previous_names":["chj85/youtube-playlist-generator"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CHJ85%2FYouTube-Playlist-Generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CHJ85%2FYouTube-Playlist-Generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CHJ85%2FYouTube-Playlist-Generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CHJ85%2FYouTube-Playlist-Generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CHJ85","download_url":"https://codeload.github.com/CHJ85/YouTube-Playlist-Generator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248819408,"owners_count":21166477,"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","bash-script","generator","gui","linux","m3u","macosx","playlist","shell","youtube","youtube-dl","yt-dlp","zenity"],"created_at":"2024-11-06T01:09:53.132Z","updated_at":"2025-04-14T04:14:56.376Z","avatar_url":"https://github.com/CHJ85.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YouTube Playlist Generator\n\nThese two Bash scripts generates an M3U playlist using yt-dlp or youtube-dl, which retrieves video URLs from YouTube playlists, channels, and live streams. The script prompts the user to enter YouTube playlist IDs, channel IDs, and live stream URLs through teither a text based version, or a GUI version created with Zenity. Additionally, the GUI version includes options to enable playlist shuffling and choose whether to add videos to an existing playlist or overwrite it. \u003cbr\u003e\n \u003cbr\u003e\nYou can add as many playlist IDs, Channels and livestreams as you want. \u003cbr\u003e\n \u003cbr\u003e\n# GUI version (ytpg-gui.sh)\nSeparate the Playlist IDs, Channels and Livestreams with a space.\nOnce you provide the necessary input and clicks \"Generate Playlist,\" the script fetches the video URLs using yt-dlp (optionally you can replace yt-dlp with youtube-dl) and stores them in an array. It then combines the video URLs into a single string and shuffles them if the shuffle option is enabled. The script creates a playlist file (either a new file or overwrites an existing one) and writes the shuffled video URLs to it in the M3U format.\n\n# Text-based version (ytpg.sh) \u003cbr\u003e\nIn the text version, separate them with double quotes and a space (Ex. \"playlist1\" \"playlist2\" \"playlist3\"). \u003cbr\u003e\nShuffle mode is enabled by default. Comment it out if you don't want a shuffled playlist. \u003cbr\u003e\n \u003cbr\u003e\nAfter the playlist is successfully built, a dialog message appears to notify the user. The script utilizes zenity for GUI elements and interaction. \u003cbr\u003e\n \u003cbr\u003e\nBy default, the playlist will be saved to $HOME/playlist.m3u. \u003cbr\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchj85%2Fyoutube-playlist-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchj85%2Fyoutube-playlist-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchj85%2Fyoutube-playlist-generator/lists"}