siteTitleImage

YouTubeからサクッと動画をダウンロードする「yt-dlp」のWebUI

Author Image

Enzo

· 2023/03/14 · 9 min read
TopImage
INDEX

    YouTube の動画をダウンロードしたいと思った際によく使われている Tool に「yt-dlp」がありますが、今回そちらの WebUI を使ってみました。

    「yt-dlp」については色々なところで解説がありますので詳しい説明は割愛します。

    remark-link-card
    GitHub - yt-dlp/yt-dlp: A feature-rich command-line audio/video downloader
    A feature-rich command-line audio/video downloader - yt-dlp/yt-dlp
    remark-link-card favicon GitHub - yt-dlp/yt-dlp: A feature-rich command-line audio/video downloader

    今回試した環境は Ubuntu に「yt-dlp」がインストールされている環境となります。

    試してみた WebUI はこちらです。

    remark-link-card
    GitHub - marcopeocchi/yt-dlp-web-ui: A terrible web ui and RPC server for yt-dlp. Designed to be self-hosted.
    A terrible web ui and RPC server for yt-dlp. Designed to be self-hosted. - marcopeocchi/yt-dlp-web-ui
    remark-link-card favicon GitHub - marcopeocchi/yt-dlp-web-ui: A terrible web ui and RPC server for yt-dlp. Designed to be sel...

    インストール方法

    公式ページに記載がある通り、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」となりダウンロードの完了となります。

    ちなみにですが、プレイリストやチャンネル指定での複数ダウンロードは不可能っぽいです。 一応動いている様な感じでしたがシステムが応答しなくなり、戻ったと思ったら何も登録されていない状態となりました。
    リストの中身が多すぎたのかもしれませんけど。

    一つずつ登録すれば複数ダウンロード登録は可能です。

    Note
    この状態でサムネイルクリックしても特に何も起きません。
    この場で再生とか出来るのかと思いましたが現状では「CLEAR」ボタン押してこの履歴を削除出来るだけのようです。

    設定したローカルフォルダにダウンロードされているのでそちらを確認してみてください。

    WebUI を使うメリットはあるかどうか

    今回使ってみた感じでいうと、途中でフォーマットを選択できるのでこの部分だけでもメリットはあるかと思いました。
    ただ、そこだけ言ってしまうのであればそもそも Windows 用の GUI があるのでそちらでも良いかも知れません。

    remark-link-card
    GitHub - kannagi0303/yt-dlp-gui: Windows GUI for yt-dlp
    Windows GUI for yt-dlp. Contribute to kannagi0303/yt-dlp-gui development by creating an account on GitHub.
    remark-link-card favicon GitHub - kannagi0303/yt-dlp-gui: Windows GUI for yt-dlp

    WebUI の可能性としては Web ということで立てておけば出先からもダウンロード出来ます。
    が、ちょっとメリットとして挙げるには弱いですね。。。
    ただ、ローカルで立てておいて気が向いたときに URL 放り込むには手軽で便利かと思います。

    Youtube をダウンロードする方法は探せば色々出てくるので自分にあったものを使えば良いのですが、その中でも「yt-dlp」はダントツで使いやすいと思います。

    その理由としては膨大なオプションを組み合わせて自分の好みにあったダウンロードが出来る事。
    この辺も興味がある方は調べてみるといいでしょう。

    remark-link-card
    yt-dlp オプション一覧及びそのメモ - †MASAYOSHI†のオンラインメモ帳
    youtube-dlの開発が止まっておりfork版のyt-dlpに移る事にした。yt-dlpはyoutube-dlのforkであるyoutube-dlcのそのまたforkになる。オリジナルであるyoutube-dlのオプション解説はyoutube-dl オプション一覧及びそのメモ。 2022/06/19更新 2022/09/06更新 OPTIONS -h, --helpヘルプを表示する。 --versionプログラムのVerを表示する。 -U, --update--no-update (default)プログラムのupdateを実行するかどうか。 -i, --ignore-errorsダウンロ…
    remark-link-card favicon yt-dlp オプション一覧及びそのメモ - †MASAYOSHI†のオンラインメモ帳

    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 をオススメします。

    # Linux

    Comment