PythonでYouTube動画をダウンロード:ytdl-nightlyを使った最新の方法
By JoeVu, at: 2025年1月1日21:22
Estimated Reading Time: __READING_TIME__ minutes


Pythonを使ったYouTube動画のダウンロード:ytdl-nightly
を使った最新の方法
以前のブログ記事では、Pythonパッケージpytube
を使ったYouTube動画のダウンロードについて説明しました。しかし、最近のアップデートにより、pytube
は信頼性が低くなり、多くの場合機能しなくなっています。同様に、もう一つの一般的なツールであるyoutube-dl
は3年以上更新されておらず、特にmacOSで問題が発生しています(issue link)。
幸いなことに、新しいフォークであるytdl-nightly
は、YouTube動画とプレイリストをダウンロードするための優れたソリューションを提供します。このガイドでは、ytdl-nightly
の設定方法と、プレイリストを含むYouTubeからの動画のダウンロード方法を説明します。
なぜytdl-nightly
を使うのか?
ytdl-nightly
は、youtube-dl
のメンテナンスされ、積極的に更新されているフォークです。古いツールが抱えていた多くの問題に対する修正が含まれており、macOSを含むさまざまなプラットフォームでシームレスに動作します。
主な機能:
-
アクティブな開発:頻繁な更新により、常に変化するYouTubeのAPIとの互換性が確保されます。
-
プレイリストのサポート:単一のコマンドでプレイリスト全体をダウンロードできます。
-
シンプルな統合:Pythonとpipとシームレスに動作します。
ytdl-nightly
の始め方
ytdl-nightly
を設定してYouTube動画をダウンロードするには、次の手順に従ってください。
1. ytdl-nightly
のインストール
ytdl-nightly
はPyPIでは利用できないため、リリースページからパッケージを手動でダウンロードしてインストールする必要があります。
インストール手順:
-
ytdl-nightlyリリースから最新のリリースZIPファイルをダウンロードします。
-
ZIPファイルを解凍します。
-
ターミナルを開き、解凍したフォルダに移動します。
-
次のコマンドを実行してパッケージをインストールします。
pip install .
これにより、ytdl-nightly
がマシンにグローバルにインストールされます。
2. インストールの確認
インストール後、ytdl-nightly
が正しくインストールされていることを確認します。
python -m ytdl-nightly --version
インストールが成功した場合は、ytdl-nightly
のバージョン番号が表示されます。
動画またはプレイリストのダウンロード
ytdl-nightly
を使用して単一の動画またはプレイリスト全体をダウンロードする方法を次に示します。
単一の動画のダウンロード
単一の動画をダウンロードするには、次を実行します。
python -m ytdl-nightly https://www.youtube.com/watch?v=EPo5wWmKEaI
動画は現在のディレクトリにダウンロードされます。
プレイリストのダウンロード
プレイリスト全体をダウンロードするには、プレイリストのURLを使用します。
python -m ytdl-nightly https://www.youtube.com/watch?v=EPo5wWmKEaI&list=PLmIUqzJB87sZ35ayTIjagy9gQuw8ueKQC
このコマンドは、プレイリスト内のすべての動画を順番にダウンロードします。
Pythonスクリプト例
Pythonでダウンロードプロセスを自動化したい場合は、次のスクリプト例を使用してください。
import subprocess
def download_video(video_url):
try:
subprocess.run([
"python", "-m", "ytdl-nightly", video_url
], check=True)
print(f"Downloaded: {video_url}")
except subprocess.CalledProcessError as e:
print(f"Failed to download {video_url}: {e}")
if __name__ == "__main__":
# 例:単一の動画
video_url = "https://www.youtube.com/watch?v=EPo5wWmKEaI"
download_video(video_url)
# 例:プレイリスト
playlist_url = "https://www.youtube.com/watch?v=EPo5wWmKEaI&list=PLmIUqzJB87sZ35ayTIjagy9gQuw8ueKQC"
download_video(playlist_url)
このスクリプトをdownload_youtube.py
として保存し、ターミナルで実行して動画またはプレイリストをダウンロードします。
結論
ytdl-nightly
パッケージは、pytube
やyoutube-dl
などの古いツールの制限を克服し、YouTubeの動画とプレイリストをダウンロードするための信頼性が高く、最新のソリューションを提供します。シンプルなインストールと堅牢なパフォーマンスにより、動画のダウンロードを簡単に自動化したり、個人プロジェクトで使用したりできます。
問題が発生した場合や提案がある場合は、以下のコメント欄で共有するか、GitHubのytdl-nightly
プロジェクトに貢献してください。