「youtube-dlをインストールしたい」
「YouTubeから動画を効率的にダウンロードしたい」
「Pythonで動画を扱うプログラミングを行いたい」
このような場合には、youtube_dlが利用できます。
この記事では、youtube_dlについて解説しています。
本記事の内容
- youtube_dlとは?
- youtube_dlのシステム要件
- youtube_dlのインストール
- youtube_dlの動作確認
それでは、上記に沿って解説していきます。
youtube_dlとは?
youtube-dlとは、動画をダウンロードするコマンドラインツールです。
対象となる動画サイトは、名前にあるようにYouTubeがメインとなります。
そして、youtube_dl(「_」アンダーで区別)はyoutube-dlに関係しています。
youtube-dlをPythonから利用するためのPythonライブラリが、youtube_dlということです。
中身は単純で、youtube-dlの実行ファイル(バイナリ)を利用しています。
コマンドでダラダラなりがちな記述を関数で記述できるようになります。
つまり、youtube_dlではyoutube-dlを次の二つの方法で利用できるのです。
- コマンドラインツール
- Python API
Python(pip)が利用できるならば、youtube_dlを使った方が何かと便利と言えます。
拡張性があるというヤツですね。
例えば、シェルスクリプトで頑張るようなケースがあります。
シェルスクリプトの中でyoutube-dlのコマンドを記述しているような場合です。
シェルスクリプトだとLinuxでしか動きません。
同じ処理をWindowsで行う場合は、WSHやPowerShellで書き直しです。
でも、Python APIを使ってPythonで作成していれば、書き直しは不要と言えます。
それにPythonなら扱える人は多いでしょう。
その意味では、保守性も高いと言えます。
拡張性、保守性が高い時点で、youtube_dlを使わない選択肢はありません。
別にPython APIを使わなくても、コマンドラインツールだけの利用も可能ですからね。
以上、youtube_dlについての説明でした。
次は、youtube_dlのシステム要件を確認します。
youtube_dlのシステム要件
現時点(2021年10月末)でのyoutube_dlの最新バージョンは、2021.6.6となります。
この最新バージョンは、2021年6月6日にリリースされています。
バージョンがリリース日となるのは、なかなか珍しいです。
サポートOSに関しては、以下を含むクロスプラットフォーム対応です。
- Windows
- macOS
- Linux
また、サポート対象となるPythonのバージョンは以下となります。
- Python 2系(2.6、2.7)
- Python 3系(3.2、3.3、3.4、3.5、3.6、3.7、3.8)
基本的には、どのバージョンでも動くということでしょう。
要するに、バージョン依存するようなコーディングはしていないということですね。
setup.pyにはPythonのバージョンをするコードはありません。
よって、Python 3.9、Python 3.10でも問題はないでしょう。
youtube_dlのシステム要件をまとめると、「なし」と言えるでしょう。
唯一あるとすれば、youtube-dlが動くことになります。
以上、youtube_dlのシステム要件を説明しました。
次は、youtube_dlをインストールします。
youtube_dlのインストール
検証は、次のバージョンのPythonで行います。
>python -V Python 3.9.7
まずは、現状のインストール済みパッケージを確認しておきます。
>pip list Package Version ---------- -------- pip 21.3.1 setuptools 58.3.0
次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip setuptools
では、youtube_dlのインストールです。
youtube_dlのインストールは、以下のコマンドとなります。
pip install youtube_dl
インストールは、すぐに終わります。
では、どんなパッケージがインストールされたのかを確認しましょう。
>pip list Package Version ---------- -------- pip 21.3.1 setuptools 58.3.0 youtube-dl 2021.6.6
依存関係のあるパッケージは、ゼロです。
これであれば、既存の環境に気軽に導入できます。
以上、youtube_dlのインストールを説明しました。
次は、youtube_dlの動作確認を行います。
youtube_dlの動作確認
動画をYouTubeからダウンロードします。
そのコードは、以下。
from __future__ import unicode_literals import youtube_dl ydl_opts = {} with youtube_dl.YoutubeDL(ydl_opts) as ydl: ydl.download(['https://www.youtube.com/watch?v=BaW_jenozKc'])
上記を実行すると、コンソールには次のように表示されます。
[youtube] BaW_jenozKc: Downloading webpage [download] Destination: youtube-dl test video ''_ä↭𝕐-BaW_jenozKc.f137.mp4 [download] 100% of 2.11MiB in 00:37 [download] Destination: youtube-dl test video ''_ä↭𝕐-BaW_jenozKc.f140.m4a [download] 100% of 154.06KiB in 00:02 [ffmpeg] Merging formats into "youtube-dl test video ''_ä↭𝕐-BaW_jenozKc.mp4" Deleting original file youtube-dl test video ''_ä↭𝕐-BaW_jenozKc.f137.mp4 (pass -k to keep) Deleting original file youtube-dl test video ''_ä↭𝕐-BaW_jenozKc.f140.m4a (pass -k to keep)
終了したら、ディレクトリ上に次の動画が保存されています。
youtube-dlの動作確認のために、YouTubeにアップロードされた動画です。
MP4の動画として、コマンドラインツール同様にダウンロードできています。
動作確認としては、これで十分でしょう。
以上、youtube_dlの動作確認を説明しました。