無料でYouTubeチャンネルを定期的に同期・ダウンロード・保存・バックアップできる「ChannelTube」をJellyfinと連携して使ってみた
ChannelTubeは登録したYouTubeチャンネルを定期的にチェックして動画を自動でダウンロードしてくれるオープンソースのツールです。保存したコンテンツをストリーミング再生できるJellyfinと連携することも可能とのことなので、実際にJellyfinと連携させて使ってみました。
GitHub - TheWicklowWolf/ChannelTube: Download Video or Audio from YouTube channels on a schedule via yt-dlp.
https://github.com/TheWicklowWolf/ChannelTube
Jellyfinのセットアップについては下記の記事で解説済み。この記事では下記記事の手順でJellyfinのセットアップが完了しているというところから進めます。なお、ローカルのフォルダに動画をダウンロードするだけであればJellyfinのセットアップは不要です。
無料で動画・音楽・電子書籍などを自宅でも出先でもストリーミングできる「Jellyfin」のWindowsインストール&セットアップ方法まとめ - GIGAZINE
ChannelTubeにはDockerが必要なので、Dockerをインストールします。スタートメニューを開き、「powershell」と検索すると出てくる「Windows PowerShell」の「管理者として実行する」をクリック。
PowerShellが起動したら下記のコマンドをコピー&ペーストし、Enterキーを押して実行します。
winget install Docker.DockerDesktop
インストールの表示はこんな感じ。インストールが完了したらPCを再起動します。
Jellyfinのデータフォルダに「config」という名前のフォルダと、「compose.yaml」という名前のファイルを作成。
「compose.yaml」をメモ帳などのテキストエディタで開き、下記の内容をコピー&ペーストして保存します。「movie」フォルダがダウンロードする動画の保存先になるので、必要に応じて変更してください。
services:
channeltube:
image: thewicklowwolf/channeltube:latest
container_name: channeltube
volumes:
- ./config:/channeltube/config
- ./movie:/channeltube/downloads
- ./music:/channeltube/audio_downloads
environment:
TZ: Asia/Tokyo
ports:
- 5000:5000
restart: unless-stopped
画像で示すとこんな感じ。
再びPowerShellを起動し、Jellyfinのデータフォルダに移動して「docker compose up」とコマンドを入力。今回はJellyfinのデータフォルダが「C:\jellyfin」だったため、下記のようにコマンドを入力しました。
cd C:\jellyfin
docker compose up
下記の表示が出ればChannelTubeの起動完了です。ブラウザを開き、アドレスバーに「http://localhost:5000」と入力してEnterキーを押します。
「Add Channel」をクリック。
「Edit」をクリックします。
チャンネル名とチャンネルのURLを入力して「Save Changes」をクリック。ここで設定したチャンネルの最近の動画が自動でダウンロードされるというわけ。初期設定では14日以内にアップロードされた動画がダウンロードされるようになっています。
右上の歯車マークをクリックして設定画面を開きます。
一番上の「Sync Schedule」欄に「何時に更新を確認するか」を入力します。1日に複数回更新をチェックしたい場合はコンマで区切ればOK。例えば「12, 15, 18, 21, 24」と入力すると、毎日12時・15時・18時・21時・24時の5回更新を確認するという意味になります。入力できたら「Save」をクリックし、今回は今すぐ更新してほしいので「Manual Start」をクリック。
最終チェック日時の欄が「In Progress(進行中)」の表示に。
しばらく待機すると下図の表示になりました。更新が完了すると更新した日付と時刻が記載されます。
「movie」フォルダを確認すると、チャンネル名のフォルダが作成され、そこに動画がダウンロードされて保存されていました。
「movie」フォルダはJellyfinのメディアライブラリになっていますが、動画の追加を反映するにはライブラリをスキャンさせる必要があります。というわけで、ここからChannelTubeの更新完了時に自動でスキャンさせる設定を行っていきます。
Jellyfinの左側メニューから「ダッシュボード」をクリック。
「APIキー」をクリックし、「+」マークのボタンをクリックします。
アプリ名に「ChannelTube」と入力して「OK」をクリック。
APIキーが表示されるので、コピーします。
ChannelTubeの設定画面を開き、「Media Server Addresses」欄に「Jellyfin: http://localhost:8096」と入力。「Media Server Tokens」欄で、「Jellyfin: [APIキー]」の形式でAPIキーを設定し、ライブラリ名を入力して「Manual Start」をクリック。
更新チェックが終わるまで待機し、メディアフォルダを確認すると新たにアップロードされた動画がダウンロードされていました。
Jellyfinを開くと「最近追加された」欄にダウンロードしたばかりの動画が表示されており、無事連携に成功していることが確認できました。
・関連記事
YouTubeやニコニコ動画などのムービーを最高画質・高音質でダウンロード可能な「yt-dlp」の使い方まとめ、年齢制限ムービーも一発ダウンロード可能 - GIGAZINE
寄付金が集まりすぎて「これ以上いらないからクライアントアプリの開発者たちを支援してくれ」というオープンソースプロジェクトの声に注目が集まる - GIGAZINE
無料でYouTube・ニコニコ動画・Twitter・Instagramなどの動画を一発でダウンロード&MP3に変換などができる「Vividl」、最強ダウンローダー「yt-dlp」内蔵で初心者でも簡単に使える - GIGAZINE
YouTubeで「IMG_XXXX」と検索すると古い動画が山ほど出てくる理由とは? - GIGAZINE
YouTubeの動画がどれも同じように見える現象は生物の進化と同じ仕組み - GIGAZINE
・関連コンテンツ