【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」形式となっています。これは、次のような流れで生成されます。
- 「mp4」形式のファイル(音声なし)がダウンロードされる
- 「webm」形式のファイル(音声のみ)がダウンロードされる
- 上でダウンロードされた2つのファイルを合成して「mvk」形式のファイルとなる(音声あり動画)
- 「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
その他のオプションは下のサイトにまとめられているので参考にしてください。
あわせて読んでほしい!
コメント
2:名無しさん:2021/05/26 16:19:09
mvk -> mkv
1:名無しさん:2020/12/03 16:33:27
管理人様、こんにちは。
日頃「ツイートの一括削除ツール」を利用させていただいており、こちらのツールの不具合について10月30日に別記事にてコメントさせて頂きたものです。
新しい記事が投稿され、管理人様がご無事なようで大変安心致しました。
お気づき出ないようですので、前回の文のコピーで大変恐縮なのですが御一読頂けますと幸いです。
素敵なツールを開発して下さり大変Twitterで活動するのが快適になり、管理人様には大変感謝しております。
その「ツイートの一括削除ツール」なのですが、今年5月頃からJavaScriptファイルをアップロード仕様とすると正常に処理されない状況が続いており、先ほどはツールを開いた瞬間「データ通信に失敗しました。もう一度お試しください」のメッセージがポップアップで表示され、延々リロードが続き、コメント欄へのアクセスやサイト内の他のページへのジャンプすらままならない状況となっております。
私が昨年こちらのツールを利用した際にはエラーは発生せず、皆様のコメントと個人の実感ですと今年5月からJavaScriptの正常アップロードができず、9、10月には延々リロードの状態になったように感じます。
7月、8月に管理人様のTwitterへご報告させていただいていたのですが、つい最近ブログの更新をされておりましたので再度こちらにてご連絡させていただきました。
大変便利なツールで、私含め利用の再会を待ち望んでいる方も多くおられると思います。
コメント欄の方でもかなり困っていらっしゃる方が多いようですので、管理人様もお忙しい中大変恐縮ですが、コメント欄の御一読、こちらの不具合についてのお返事を頂けましたら幸いです。
長文大変失礼いたしました。