あきらぼ

テック系ブログ

【yt_dlp】2025年最新 PythonでYouTubeダウンロード方法

今回は2025年1月時点でのPythonによるYouTubeダウンロード方法を紹介します。

 

以前はpytybe等のパッケージを使っている人もいたかと思うのですが、メインテナンスが行われておらず、YouTubeの仕様変更に伴って使えなくなってしまったので今回はyt-dlpというパッケージを使用します。

 

あくまでもYouTubePythonのダウンロード方法を紹介するもので、実際にダウンロード等を行う場合はYouTubeの利用規定を確認したうえでご自身で行ってください。

 

 

 

 

GitHub

GitHubのリンクは以下です。

github.com

詳細はこちらの記事で解説します。

環境

環境は

となっています。

前準備

今回は以下のpythonパッケージを使います。

ということでインストールします。


python -m pip install ffmpeg-python yt_dlp

 

また、こちらのyt_dltだとmp4等の使いやすいフォーマットではダウンロードできないのでffmpegを使用してmp4へ変換(エンコード)します。

なので以下のページからffmepgをダウンロードしてPathを通しておく必要があります。

ffmpeg.org

コマンドラインPowerShell等のターミナル上で

ffmpeg

と打って、バージョン情報や使い方が表示されたらPathが問題なく通っています。

 

使い方

使い方は以下のようにurlとoutput_dirの引数を指定して実行します。

python youtube_download.py --url <YouTubeの動画URL> --output-dir <出力先ディレクトリ>

 

ソースコード

ソースコードは以下になります。

 

内容を解説します。

まず、パス操作ではpathlibを使用しています。

Pathlibを使うとLinux/Windows間でのパスの違いを意識しないでもどちらでも使えるので使用しています。

 

あとは10~15行目でYoutubeの動画をyt_dlpでダウンロードします。

webmというフォーマットで保存されるので、これを21、22行目でffmpegを使用してmp4とmp3に変換しています。

 

ここのmp4への変換処理が結構重いので、Nvidia系のGPUを積んでいる人であればnvencのエンコーダーを使うと高速化できます。

今回のコードはlibx264というCPUのエンコーダーを使用しています。

 

出力ディレクトリに過去に出力されたファイルがあると上手く動かないので、そこだけ暇なときに直します。

 

以上、最新のPythonでのYouTubeダウンロード方法でした。