12
8

youtube-dlを利用した動画ダウンローダーを作成したので紹介

Posted at

はじめに

Pythonのyoutube-dlというライブラリを使用して、簡単にYoutubeなどの動画や音声をダウンロードおよび変換できるツールを作成したので紹介します。

youtube-dlとは

youtube-dlは、Python製のコマンドラインツールで、様々な動画共有サイトから動画や音声をダウンロードするためのツールです。YouTubeだけでなく、多くのサポートされているサイトからメディアをダウンロードすることができます。

公式リポジトリ

サポートされている世界中のメディアサイト

使い方

環境

  • Python 3.x

Python3以上で動作します。2系では動作しない為、バージョンアップしてください。

インストール

当ツールでは以下のライブラリを使用します。

  • youtube_dl
  • ffmpeg
  • ffmpeg-python
python -m pip install youtube_dl ffmpeg ffmpeg-python

実行

python ./ydl.py
> フォーマット(mp3またはmp4): "ここに変換したいフォーマットを入力"
> URL: "ここにダウンロードしたいURLを入力"

オプション

usage: ydl.py [-h] [-f FORMAT] [-u URI] [-l LIST]

  -h, --help           : ヘルプメッセージを表示して終了

  -f, --format Format  : ダウンロードするファイルフォーマットを選択 (mp3またはmp4)-u, --uri URI        : ダウンロードするメディアのURIを指定。

  -l, --list LIST      : URLリストのためのテキストファイルを指定。
                         リスト内のURLから一括でリソースをダウンロード。

ダウンロード速度が遅い場合の対処法

Youtube側のアップデートにより、ダウンロード速度が著しく低下するときがあります。
youtube-dlのリポジトリのリリースされたものでは、更新が追い付かない為、masterブランチの最新を取得し、インストールすることで、速度を改善できることがあります。
※それでも改善されない場合は、対応するまで待ちましょう。

MacおよびLinuxの場合

# gitから最新のコミットのSHAハッシュを取得

hash=$(git ls-remote https://github.com/ytdl-org/youtube-dl.git | head -n 1 | cut -c 1-40)

wget https://github.com/ytdl-org/youtube-dl/archive/$hash.zip

unzip -n $hash.zip && cd youtube-dl-$hash

python -m pip uninstall -y youtube_dl && python -m pip install .

cd .. && rm -r youtube-dl-$hash

Windowsの場合

# gitから最新のコミットのSHAハッシュを取得

$hash=$(git ls-remote https://github.com/ytdl-org/youtube-dl.git | Select-Object -First 1).Substring(0, 40)

Invoke-WebRequest -Uri https://github.com/ytdl-org/youtube-dl/archive/$hash.zip -outfile ./youtube-dl-$hash.zip

Expand-Archive -Path .\youtube-dl-$hash.zip -DestinationPath ./ ; cd youtube-dl-$hash

python -m pip uninstall -y youtube_dl ; python -m pip install .

cd .. ; rm -r youtube-dl-$hash


12
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
8