【youtube-dl】YouTubeの動画をダウンロードする方法

公開日:
更新日:
カテゴリー: サーバー

サーバー(私が使用しているのはCentOS7)に「youtube-dl」をインストールして、サーバー(SSHのターミナル)上でYouTube動画をダウンロードする方法を説明しています。

「youtube-dl」のインストール

まずはサーバーに「youtube-dl」をインストールします。

次のコマンドを実行します。

sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl

※「youtube-dl」とはPythonでつくられたツールで、たった一行のコマンドで動画を一撃ダウンロードできます(複雑な解析など不要で、YouTube以外の動画サイトには対応)

次に、インストールしたファイルに実行権限を設定します。

sudo chmod a+rx /usr/local/bin/youtube-dl

「wget」がない場合

サーバーに「wget」がない場合、次のように「wgetコマンドがないよ!」と怒られます。

wget: command not found

この時は次のようにして「wget」をインストールします。

sudo yum install wget

途中、下のように聞かれますが「y」(Yes)を入力すればあとは自動で「wget」がインストールされます。

Total download size: 547 k
Installed size: 2.0 M
Is this ok [y/d/N]: y

YouTube動画のダウンロード

「youtube-dl」のインストールが完了したら、次のようにすればYouTube動画をダウンロードできます。

youtube-dl https://youtu.be/KUQfc4P0Rr8

これで、サーバー内に指定したURLの動画がダウンロードされますが、ダウンロードされたファイルは「.mvk」形式となっています。これは、次のような流れで生成されます。

  1. 「mp4」形式のファイル(音声なし)がダウンロードされる
  2. 「webm」形式のファイル(音声のみ)がダウンロードされる
  3. 上でダウンロードされた2つのファイルを合成して「mvk」形式のファイルとなる(音声あり動画)
  4. 「mvk」形式のファイルが生成されたあとは、1と2でダウンロードされたファイルは削除される

もし、「mp4」(音声なし)と「webm」(音声のみ)ファイルを残したい場合は次のように「-k」オプションをつけます。

youtube-dl -k https://www.youtube.com/watch?v=YlHEqEYyAd0

すると、次のようにファイル削除されずに済みます。

もし、取得できるファイルをすべてダウンロードしたい場合は、

ダウンロードできるファイルの一覧を取得したい場合は、次のように「-F」オプションをつけます。

youtube-dl -F https://youtu.be/KUQfc4P0Rr8

これを実行すると次のようにダウンロードできるファイルとその詳細情報を確認できます。

[youtube] KUQfc4P0Rr8: Downloading webpage
[info] Available formats for KUQfc4P0Rr8:
format code  extension  resolution note
249          webm       audio only tiny   57k , opus @ 50k (48000Hz), 1.89MiB
250          webm       audio only tiny   77k , opus @ 70k (48000Hz), 2.50MiB
140          m4a        audio only tiny  130k , m4a_dash container, mp4a.40.2@128k (44100Hz), 5.18MiB
251          webm       audio only tiny  151k , opus @160k (48000Hz), 4.99MiB
278          webm       256x144    144p   96k , webm container, vp9, 24fps, video only, 3.29MiB
160          mp4        256x144    144p  110k , avc1.4d400c, 24fps, video only, 3.06MiB
242          webm       426x240    240p  224k , vp9, 24fps, video only, 6.23MiB
133          mp4        426x240    240p  287k , avc1.4d4015, 24fps, video only, 6.02MiB
243          webm       640x360    360p  409k , vp9, 24fps, video only, 10.92MiB
134          mp4        640x360    360p  582k , avc1.4d401e, 24fps, video only, 11.16MiB
244          webm       854x480    480p  753k , vp9, 24fps, video only, 17.34MiB
135          mp4        854x480    480p  951k , avc1.4d401e, 24fps, video only, 16.16MiB
247          webm       1280x720   720p 1441k , vp9, 24fps, video only, 30.19MiB
136          mp4        1280x720   720p 1612k , avc1.4d401f, 24fps, video only, 25.87MiB
248          webm       1920x1080  1080p 2663k , vp9, 24fps, video only, 67.72MiB
137          mp4        1920x1080  1080p 4378k , avc1.640028, 24fps, video only, 84.08MiB
18           mp4        640x360    360p  588k , avc1.42001E, 24fps, mp4a.40.2@ 96k (44100Hz), 23.50MiB (best)

上のファイルで取得したいものを決めたら、次のようにすればそのファイルのみをダウンロードできます。

youtube-dl -f 18 https://youtu.be/KUQfc4P0Rr8

また、カンマ「,」で区切れば複数のファイルを指定できます。

youtube-dl -f 18,248 https://youtu.be/KUQfc4P0Rr8

また、次のように「best」などのワードを指定することもできます(自動で取得できるのでオススメ)。

youtube-dl -f best https://youtu.be/KUQfc4P0Rr8

一覧をまとめると以下です。

  • best:音声がある動画で高画質なもの
  • worst: 音声がある動画で低画質なもの
  • bestvideo: 音声がない動画で高画質なもの
  • worstvideo: 音声がない動画で低画質なもの
  • bestaudio: 高品質の音声ファイル
  • worstaudio: 低品質の音声ファイル

オプションについて

「youtube-dl」には次のようにさまざまなオプションがあります。オプションは複数組み合わせることができます。

動画タイトルの取得

動画のタイトルを取得する場合は「-e」オプションをつけます。

youtube-dl -e <YouTubeのURL>

指定のパスに保存する

サーバーの任意のディレクトリに動画を保存したい場合は「-o」オプションとパスを指定します。

youtube-dl -o "var/www/html/%(title)s.%(ext)s" <YouTubeのURL>

このようにすることで、「var/www/html」直下に指定したYouTube動画がダウンロードされます。

※パスの部分はダブルクォーテーション「"」で囲む必要があります

サムネイルの取得

動画のサムネイルも次のオプションをつければ取得できます。

youtube-dl --write-thumbnail <YouTubeのURL>

「youtube-dl」の更新

「youtube-dl」は開発者によって更新されます。そのため次のコマンドを使用して定期的にアップデートしましょう。

youtube-dl -U

その他のオプションは下のサイトにまとめられているので参考にしてください。

 

あわせて読んでほしい!

 

コメント

まだコメントはありません。

コメントフォーム
お名前
コメント