YouTubeプレイリスト一括ダウンローダー (yt-playlist-downloader)
概要
yt-playlist-downloader は、yt-dlp をラップした軽量な Bash スクリプトです。playlists.txt に列挙した複数の YouTube プレイリストを順次処理し、チャンネル名ごとにディレクトリを作成して動画を保存します。既にダウンロード済みのファイルはスキップする設定(—no-overwrites)や、数値プレフィックスのない「Playlist Title/Video Title.mp4」というクリーンな命名規則を採用します。シンプルな構成と最小限の依存で、家庭用や個人アーカイブ用に手早く運用できます。(約300字)
リポジトリの統計情報
- スター数: 46
- フォーク数: 1
- ウォッチャー数: 46
- コミット数: 3
- ファイル数: 4
- メインの言語: Shell
主な特徴
- yt-dlp を用いた堅牢なダウンロード処理とフォルダ整理(チャンネル/プレイリスト別)
- —no-overwrites によるスマートな差分ダウンロード(既存ファイルの再取得を回避)
- ファイル名は「Playlist Title/Video Title.mp4」のクリーンな形式(数字プレフィックスなし)
- playlists.txt によるバッチ処理で複数プレイリストを一括実行
技術的なポイント
このプロジェクトは極めてシンプルなシェルスクリプト設計に重点を置いています。Bash スクリプト(download_playlists.sh)は playlists.txt を読み込み、各行のプレイリスト URL を yt-dlp に渡してダウンロード処理を行います。yt-dlp のオプション設定により、出力テンプレートを指定して「チャンネル名/プレイリスト名/動画タイトル.mp4」といった階層を生成できるため、整理されたファイル構造が保たれます。—no-overwrites を使うことで既存ファイルを上書きせず、前回の取得済みコンテンツを維持しつつ新着だけを追加できる点が運用上便利です。
また、yt-dlp は多くのフラグで挙動を細かく制御できるため、スクリプト側は必要に応じて画質選択(-f オプション)、サブフォルダ構成、メタデータの保存、サムネイル取得などを組み合わせられます。Bash のみで完結する設計は依存が少なく、cron や systemd タイマーに組み込んで定期実行する用途にも適しています。ログ出力やエラーハンドリングは最低限に抑えられているため、用途に合わせてリトライや通知機能を追加する余地が大きい点も特徴です。特に個人のメディアライブラリ運用やバックアップ用途では、単純さと可搬性がメリットになります。(約700字)
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- README.md: file
- download_playlists.sh: file
- playlists.txt: file
まとめ
シンプルで導入が速く、個人用途のプレイリスト一括取得に最適な Bash ツールです。(約50字)
リポジトリ情報:
- 名前: yt-playlist-downloader
- 説明: A simple, powerful Bash script to batch download and organize YouTube playlists by channel name.
- スター数: 46
- 言語: Shell
- URL: https://github.com/Linuxmaster14/yt-playlist-downloader
- オーナー: Linuxmaster14
- アバター: https://avatars.githubusercontent.com/u/121129466?v=4
READMEの抜粋:
YouTube Playlist Downloader
A simple, powerful Bash script to batch download and organize YouTube playlists by channel name using yt-dlp.
Features
- Organized Structure: Creates separate directories for each channel.
- Smart Sync: Skips files that have already been downloaded (
--no-overwrites). - Clean Naming: Saves files as
Playlist Title/Video Title.mp4(no numeric prefixes). - Batch Processing: Reads multiple playlists from a
playlists.txtfile.