JavaScriptを有効にしてください

【Python】YouTube動画&音声をダウンロードする方法【yt-dlpを活用】

 ·  ☕ 3 分で読めます

【Python】YouTube動画&音声をダウンロードする方法【yt-dlpを活用】

YouTubeの動画をダウンロードしてオフラインで視聴したい場合、Pythonを使うことで簡単に実現できます。本記事では、「yt-dlp」という強力なツールを活用して、YouTubeの動画や音声をダウンロードする方法を解説します。

音声のみのダウンロード、字幕付きの動画保存など、さまざまなオプションも紹介します。

yt-dlpの概要とインストール

yt-dlpとは?

yt-dlpyoutube-dl の派生版で、より高機能かつ最新のYouTubeの仕様変更にも対応しています。yt-dlp を使うことで、YouTube動画を簡単にダウンロードし、解像度や音質を指定して保存できます。

インストール方法

1
pip install -U yt-dlp

YouTube動画をダウンロードする基本コード

以下のコードを実行すると、720p以下の動画と最高音質の音声を結合してダウンロードできます。

動画のダウンロード

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
from yt_dlp import YoutubeDL

# YouTube動画のURL
youtube_url = "https://www.youtube.com/watch?v=oHIhCOl01J0"

# ダウンロードオプション
options = {
    'format': 'bestvideo[height<=720]+bestaudio/best',
    'merge_output_format': 'mp4',
    'outtmpl': 'downloaded_video.mp4'
}

# ダウンロード実行
with YoutubeDL(options) as ydl:
    ydl.download([youtube_url])

YouTube音声のみをダウンロードする方法

動画ではなく音声だけを取得したい場合は、以下のように実行します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from yt_dlp import YoutubeDL

# YouTube動画のURL
youtube_url = "https://www.youtube.com/watch?v=oHIhCOl01J0"

# ダウンロードオプション
options = {
    'format': 'bestaudio/best',
    'postprocessors': [{
        'key': 'FFmpegExtractAudio',
        'preferredcodec': 'mp3',
        'preferredquality': '192'
    }],
    'outtmpl': 'downloaded_audio'
}

# ダウンロード実行
with YoutubeDL(options) as ydl:
    ydl.download([youtube_url])

yt-dlpの便利なオプション

解像度を指定してダウンロード

たとえば、480pの動画を取得したい場合は、以下のように指定できます。

1
2
3
4
options = {
    'format': 'bestvideo[height<=480]+bestaudio/best',
    'merge_output_format': 'mp4'
}

字幕付きの動画を保存

1
2
3
4
5
6
options = {
    'writesubtitles': True,
    'subtitleslangs': ['en'],
    'format': 'bestvideo+bestaudio/best',
    'merge_output_format': 'mp4'
}

プレイリスト全体をダウンロード

1
2
3
4
5
options = {
    'format': 'bestvideo+bestaudio/best',
    'merge_output_format': 'mp4',
    'yesplaylist': True
}

コマンドラインからyt-dlpを使用する方法

Pythonスクリプトを使わず、コマンドラインから yt-dlp を直接実行することもできます。

動画のダウンロード(720p以下)

1
yt-dlp -f "bestvideo[height<=720]+bestaudio" --merge-output-format mp4 -o "downloaded_video.mp4" URL

音声のみをMP3でダウンロード

1
yt-dlp -f bestaudio -x --audio-format mp3 -o "downloaded_audio.mp3" URL

字幕付きの動画をダウンロード

1
yt-dlp --write-sub --sub-lang en -f "bestvideo+bestaudio" --merge-output-format mp4 -o "downloaded_video.mp4" URL

プレイリスト全体をダウンロード

1
yt-dlp -f "bestvideo+bestaudio" --merge-output-format mp4 --yes-playlist -o "%(title)s.%(ext)s" PLAYLIST_URL

注意点と規約遵守

YouTubeの動画をダウンロードすることは、著作権の観点から慎重に行う必要があります。YouTubeの利用規約では、著作権者の許可なしに動画をダウンロードすることを禁止しているため、個人的な利用目的のみで使用し、商用利用や不正なダウンロードは避けてください。

まとめ

yt-dlp を活用すれば、Pythonを使って簡単にYouTube動画や音声をダウンロードできます。Google Colabやローカル環境での利用方法、音声のみのダウンロード、字幕の取得など、さまざまなオプションを活用して目的に合った方法を選びましょう。

参考

共有

こぴぺたん
著者
こぴぺたん
Copy & Paste Engineer