無料でYouTubeチャンネルとプレイリストをローカルへ自動的にダウンロードして同期する「TubeSync」

YouTubeのプレイリストやチャンネルに登録されている動画をまとめて保存し、新着動画も自動的にダウンロードしてくれるオープンソースソフトプロジェクトがTubeSyncです。
meeb/tubesync: Syncs YouTube channels and playlists to a locally hosted media server
https://github.com/meeb/tubesync
今回はWindows環境を前提にしDockerとGit for WindowsのGit Bashを使用しました。作業フォルダに移動し「tubesync-config」と「tubesync-downloads」の2つのフォルダを作成します。
mkdir tubesync-config mkdir tubesync-downloads
続いてdocker-compose.yamlファイルを新規で用意。
vi docker-compose.yaml
内容は、以下の通りです。
services:
tubesync:
image: ghcr.io/meeb/tubesync:latest
container_name: tubesync
restart: unless-stopped
stop_grace_period: 30m
ports:
- 4848:4848
volumes:
- ./tubesync-config:/config
- ./tubesync-downloads:/downloads
environment:
- TZ=Asia/Tokyo
- PUID=1000
- PGID=1000
保存したら「docker compose up -d」で起動します。
docker compose up -d
コンテナがダウンロードされTubeSyncが起動しました。

ブラウザを立ち上げ「localhost:4848」にアクセスするとダッシュボードが表示されます。

同期する元になるYouTubeをソースとして追加するため「ADD A SOURCE」をクリック。

さらに「ADD SOURCE」をクリックして進みます。

チャンネルURL・チャンネルIDのURL・プレイリストのURLのいずれかを記入して「ADD SOURCE」をクリックで設定画面に移動。

ダウンロードする動画の条件・保存形式・更新の頻度などを設定し「ADD SOURCE +」をクリックして保存します。

ソースが追加されました。

自動的にタスクが追加されるので「Tasks」をクリック。

インデックスの作成とダウンロードのスケジュールが登録済みとなっていました。10分後にタスクが始まるのでしばらく待ちます。

30分後にダッシュボードを確認すると10個のアイテムが登録されており1本のダウンロードが完了していました。

さらに2時間後、確認すると6本分のダウンロードが行われていたので「Media」から動画の一覧へ移動します。

ダウンロード済みの動画のサムネイルが表示されています。動画をクリックすると…

専用の動画プレイヤー画面で再生されました。

なお、取得した動画はJellyfinやPlexなどメディアサーバーと連携して配信することも可能です。
・関連記事
ついにyt-dlpのYouTubeダウンロード機能をフル活用するにはDenoなどのJavaScriptランタイムが必要に、インストール手順はこんな感じ - GIGAZINE
yt-dlpでYouTube動画をダウンロードするにはDenoなどのJavaScriptランタイムのインストールが必須になる予定 - GIGAZINE
YouTubeやニコニコ動画の動画を簡単にダウンロードできるアプリ「Tartube」レビュー、高機能ダウンローダー「yt-dlp」の機能をマウス操作で使える - GIGAZINE
無料でYouTubeチャンネルを定期的に同期・ダウンロード・保存・バックアップできる「ChannelTube」をJellyfinと連携して使ってみた - GIGAZINE
無料でYouTube・ニコニコ動画・Twitter・Instagramなどの動画を一発でダウンロード&MP3に変換などができる「Vividl」、最強ダウンローダー「yt-dlp」内蔵で初心者でも簡単に使える - GIGAZINE
・関連コンテンツ
in ソフトウェア, レビュー, Posted by darkhorse_logmk
You can read the machine translated English article TubeSync: Automatically download and syn….







