YouTube の動画をダウンロードしたいと思った際によく使われている Tool に「yt-dlp」がありますが、今回そちらの WebUI を使ってみました。
「yt-dlp」については色々なところで解説がありますので詳しい説明は割愛します。
今回試した環境は Ubuntu に「yt-dlp」がインストールされている環境となります。
試してみた WebUI はこちらです。
インストール方法
公式ページに記載がある通り、docker でのインストールが一番楽かと思います。
他にもインストール方法ありますが私は docker で行います。
また、毎回コマンド打つのが嫌だったので docker-compose で立ち上げています。
docker-compose.yml
はこちらになります。
version: "3"
services:
web:
image: "marcobaobao/yt-dlp-webui:latest"
restart: unless-stopped
ports:
- "3033:3033"
volumes:
- "/hogehoge/LocalPath:/downloads"
networks:
default:
name: yt_net
上記ファイルを用意したら下記コマンドで起動します。
volumes の「/hogehoge/LocalPath」部分は自分の環境のダウンロードフォルダを指定します。
docker-compose up -d
立ち上げたら「127.0.0.1:3033」にアクセスすると WebUI が表示されます。
設定変更
特に説明するような部分もないのですが、設定を変更してみます。
左メニューの歯車アイコンをクリックで設定画面に遷移します。
こちらを下記のように変更しました。
設定名 | 変更 | 理由 |
---|---|---|
言語 | Japanase に変更 | 日本語表示に変更 |
選択可能な動画/音源 | チェック ON | フォーマット選択可能に |
保存するディレクトリ | チェック ON | 保存ディレクト選択可能に |
ファイル名の上書き | チェック ON | 任意のファイル名に変更可能に |
yt-dlp のオプションの有効化 | チェック ON | yt-dlp のオプション指定可能に |
YouTube からダウンロード
ダウンロードしたい YouTube 動画の URL を入力して「フォーマット選択」ボタンを押します。
このタイミングで yt-dlp のオプションや保存場所、ファイル名も入力します。
ちなみに設定画面で「選択可能な動画/音源」のチェックをしてなければそのままダウンロードが始まります。
「フォーマット選択」ボタンを押すと、DL 可能なフォーマットが表示されるので希望のフォーマットを選択します。
音源のみの選択も可能です。
フォーマットを選択すると「DOWNLOAD」ボタンが押せるようになるので押すとダウンロードが開始されます。
ダウンロードが開始されるとサムネイルが表示され、プログレスバーが出てきます。
これが 100%になると「Completed」となりダウンロードの完了となります。
ちなみにですが、プレイリストやチャンネル指定での複数ダウンロードは不可能っぽいです。
一応動いている様な感じでしたがシステムが応答しなくなり、戻ったと思ったら何も登録されていない状態となりました。
リストの中身が多すぎたのかもしれませんけど。
一つずつ登録すれば複数ダウンロード登録は可能です。
この場で再生とか出来るのかと思いましたが現状では「CLEAR」ボタン押してこの履歴を削除出来るだけのようです。
設定したローカルフォルダにダウンロードされているのでそちらを確認してみてください。
WebUI を使うメリットはあるかどうか
今回使ってみた感じでいうと、途中でフォーマットを選択できるのでこの部分だけでもメリットはあるかと思いました。
ただ、そこだけ言ってしまうのであればそもそも Windows 用の GUI があるのでそちらでも良いかも知れません。
WebUI の可能性としては Web ということで立てておけば出先からもダウンロード出来ます。
が、ちょっとメリットとして挙げるには弱いですね。。。
ただ、ローカルで立てておいて気が向いたときに URL 放り込むには手軽で便利かと思います。
Youtube をダウンロードする方法は探せば色々出てくるので自分にあったものを使えば良いのですが、その中でも「yt-dlp」はダントツで使いやすいと思います。
その理由としては膨大なオプションを組み合わせて自分の好みにあったダウンロードが出来る事。
この辺も興味がある方は調べてみるといいでしょう。
yt-dlp を使用する際によく使っているオプションの組み合わせ
普段私が使っているオプションの組み合わせになります。
hogehoge とか書いてある所は適宜自分の環境や対象の URL に置き換えてください。
2 週間前から今日までを対象にしたチャンネルからの DL
yt-dlp --date today-2weeks -o "/hogehoge/%(channel)s/%(upload_date)s - %(title)s.%(ext)s" 'https://www.youtube.com/c/hogehoge'
2 週間前から今日までにアップされた動画を対象のチャンネルからダウンロードします。
チャンネル名でディレクトリ作成して、アップ日時と動画のタイトルがファイル名となります。
プレイリストからの DL
yt-dlp -o "/hogehoge/%(playlist)s/%(playlist_index)s.%(ext)s" 'https://www.youtube.com/hogehoge'
チャンネルと同様、プレイリストからのダウンロードです。
プレイリスト名でディレクトリを作成して、プレイリストのインデックス番号をファイル名にしています。
音声の抽出
yt-dlp -x --audio-format mp3 -o "/hogehoge/%(title)s.%(ext)s" 'https://www.youtube.com/hogehoge'
動画から音声を抽出して mp3 として出力しています。
ファイル名が長すぎてエラーになる場合
yt-dlp --trim-filenames 155 -o "/hogehoge/%(channel)s/%(upload_date)s - %(title)s.%(ext)s" 'https://www.youtube.com/c/hogehoge'
チャンネル名やプレイリスト名が長い&動画タイトルも長い場合にエラーになることがあります。 どうでもいい場合はプレイリストのインデックス番号等を名前にするのですが、後々困る場合はギリギリのところまでファイル名を削ってダウンロードします。
とりとめのないまとめ
yt-dlp の WebUI についてでしたが、人によってはメリットがある UI かと思います。
例えば kodi の動画フォルダをダウンロードフォルダにすれば再生は kodi で可能です。
とは言え、そのような人は少数派かと思いますので普通の人は WindowsGUI をオススメします。