「PythonでYouTubeの動画を高速にダウンロードしたい」
「Pythonからyt-dlpを利用したい」
このような場合には、この記事の内容が参考となります。
この記事では、PythonでYouTubeの動画を高速にダウンロードする方法を解説しています。
本記事の内容
- yt-dlp(Pythonライブラリ)とは?
- yt-dlp(Pythonライブラリ)のシステム要件
- yt-dlp(Pythonライブラリ)のインストール
- yt-dlp(Pythonライブラリ)の動作確認
それでは、上記に沿って解説していきます。
yt-dlp(Pythonライブラリ)とは?
yt-dlpとは、YouTubeから高速に動画をダウンロードするためのツールです。
詳細は、以下で説明しています。
この記事ではPythonライブラリという側面にフォーカスを当てています。
yt-dlpは、ツールでもライブラリでもあるということです。
ツールのみとしての利用であれば、バイナリをダウンロードするだけで済みます。
しかし、Pythonのライブラリとして利用する場合はそうではありません。
Pythonのライブラリとして利用する場合、Pythonからyt-dlpを動かすことができます。
Pythonから動かすことができると、yt-dlpを利用する幅が広がります。
もちろん、普通にコマンドラインツールとしても利用は可能です。
そのため、Pythonのライブラリとしてインストールすることをオススメします。
以上、yt-dlp(Pythonライブラリ)の説明でした。
次は、yt-dlp(Pythonライブラリ)のシステム要件を説明します。
yt-dlp(Pythonライブラリ)のシステム要件
現時点(2022年4月)でのyt-dlpの最新バージョンは、2022.3.8.2となります。
この最新バージョンは、2022年3月9日にリリースされています。
サポートOSに関しては、以下を含むクロスプラットフォーム対応です。
- Windows
- macOS
- Linux
また、サポート対象となるPythonのバージョンはPython 3.6以降となっています。
setup.pyには、次のバージョンが記載されています。
- Python 3.6
- Python 3.7
- Python 3.8
上記のように記載されていますが、Python 3.6以降なら問題なく動きます。
Python 3.9とPython 3.10で動くのを確認済みです。
また、以下はPython公式開発サイクルです。
バージョン | リリース日 | サポート期限 |
3.6 | 2016年12月23日 | 2021年12月23日 |
3.7 | 2018年6月27日 | 2023年6月27日 |
3.8 | 2019年10月14日 | 2024年10月 |
3.9 | 2020年10月5日 | 2025年10月 |
3.10 | 2021年10月4日 | 2026年10月 |
一般的には、Python 3.7以降が推奨されるバージョンになります。
よって、この記事でもPython 3.7以降をオススメしておきます。
以上、yt-dlp(Pythonライブラリ)のシステム要件を説明しました。
次は、yt-dlp(Pythonライブラリ)のインストールを説明します。
yt-dlp(Pythonライブラリ)のインストール
まずは、現状のインストール済みパッケージを確認しておきます。
$ pip list Package Version ---------- ------- pip 22.0.4 setuptools 62.0.0 wheel 0.36.2
次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip setuptools
では、yt-dlpのインストールです。
yt-dlp(Pythonライブラリ)のインストールは、以下のコマンドとなります。
pip install yt-dlp
yt-dlpのインストールは、すぐに終わります。
終了したら、どんなパッケージがインストールされたのかを確認します。
$ pip list Package Version ------------- ---------- Brotli 1.0.9 mutagen 1.45.1 pip 22.0.4 pycryptodomex 3.14.1 setuptools 62.0.0 websockets 10.2 wheel 0.36.2 yt-dlp 2022.3.8.2
yt-dlpは、複数のパッケージに依存していますね。
あと、yt-dlpの本体となるバイナリもダウンロードされています。
インストールが成功したら、次のコマンドが利用可能になっています。
$ yt-dlp --version 2022.03.08.2
バイナリの場所を知りたい場合は、次のコマンドで確認できます。
$ which yt-dlp [環境で異なる]/bin/yt-dlp
以上、yt-dlp(Pythonライブラリ)のインストールを説明しました。
次は、yt-dlp(Pythonライブラリ)の動作確認を説明します。
yt-dlp(Pythonライブラリ)の動作確認
この記事では、yt-dlpのライブラリとしての側面にフォーカスしています。
そして、そのためのインストール方法を上記で説明しています。
よって、動作確認もそれに合わせた内容とします。
Python APIとして利用する方法を解説します。
そのためのサンプルコードは、以下となります。
from yt_dlp import YoutubeDL ydl_opts = {'format': 'best'} with YoutubeDL(ydl_opts) as ydl: result = ydl.download(['https://www.youtube.com/watch?v=afrguHxe2zE']) print(result)
上記のPythonコードは、次のコマンドと同じ処理を実行しています。
yt-dlp -f best https://www.youtube.com/watch?v=afrguHxe2zE
コマンドとコードを比較すれば、コードの内容は理解できるはずです。
成功時には、result変数には「0」が入ります。
上記のコードを実行した場合の結果は、以下。
[youtube] afrguHxe2zE: Downloading webpage [youtube] afrguHxe2zE: Downloading android player API JSON [info] afrguHxe2zE: Downloading 1 format(s): 22 [download] Destination: 【LIVE_同時通訳】ウクライナ ゼレンスキー大統領が日本の国会で演説 [afrguHxe2zE].mp4 [download] 100% of 79.89MiB in 00:07 0
7秒で約80MBの動画をダウンロードしています。
最終行の「0」は、resultの表示です。
以上、yt-dlp(Pythonライブラリ)の動作確認を説明しました。