YouTubeから動画をダウンロードする最も安全で簡単な方法
知り合いからYouTubeの動画をDLする方法を聞かれたので、この機会にざっくりまとめておこうと思います。
ちなみに最初にお断りしておきますが、YouTubeから動画をDLするのは規約違反です。
基本的にはYouTube Premiumに入ってYouTubeの標準機能でDLしましょう。
また、YouTubeの動画のDLを支援するサイトも定期的にYouTubeや他の会社から訴えられています。これについてはDLそのものというよりも映画等の著作物が違法にアップロードされ、それをDLできるように支援しているから、というのが理由のようです。
つまり、
- YouTubeへ(許可のない)著作物をアップロード/ダウンロードすることは当然違法
- YouTube動画のダウンロード支援サイトはレコード会社31社から提訴された過去があるけど和解している(だから今後も大丈夫とはもちろん言えない)
- YouTube動画をダウンロードすること自体に違法性がなくともGoogleとの規約違反ではあるので、いつでもアカウント凍結される恐れはある
以上のことを踏まえた上で、あくまで知的好奇心を満たすための文書としてお読みいただければ幸いです。
おすすめしないけど簡単なYoutube DL方法
おすすめしない方法なので、サラっと流しますが、「YouTube ダウンロード」で検索してきたときに1ページ目に出てくるような方法は全部オススメしません。
SEO対策をがんばりまくっている中国製の怪しげなソフトばかりで、まぁ一部使えなくもなくもないソフトもあり、4kdownloaderあたりは1日のDL回数の制限と定期的な宣伝がウザいっちゃウザいですが、一応使えます。
でも当たり前ですが、こんなソフトを使ったらどんなマルウェアを仕込まれるかわからないし、知的好奇心を満たすためだけにそんな危ない橋を渡るのはオススメしません。どうしてもチャレンジしたいなら、VirtualBox等の仮想化ソフトの中にインストールして使うくらいでしょうか。そこまでするなら、とても”簡単な方法”とは言えないですけれども。
あとは支援サイト系ですかね。オススメではないのでリンクは貼りませんが、Offlibertyとか、こちらもいろいろありますが、クソ重くて裏でどんなJavaScriptが動かされてるのかわからないのと、広告がうまいことクリックしやすい位置に誘導されて、「大変です!あなたのPCがウィルスに感染しています!」系の驚かせて金を踏んだくろうとする系の広告が出てきてイライラするのでこちらも精神衛生上やめたほうが良いと思います。
どうしてもというなら、Brave等の広告ブロッカー内蔵型のブラウザを使うことでしょうか。とはいえ、その広告をブロックすると謳うBraveも自身でリンクをアフィリエイトリンクに書き換えてBraveの収益になるような動作を仕込んでいたことが発覚し各方面から叩かれてましたね。いんたーねっとこわい…。
コマンドラインに慣れていないと少々面倒だけれどYouTube動画をDLできるツール
YouTubeの動画をDLしたいなら、オープンソースツールの yt-dlp を使うのが一番です。
元々は youtube-dl という名前のツールがオープンソースでGitHub上に公開されており、世界的にも有名だったのですが、YouTubeからGitHubに対して物言いがあったようで、しばらくの間GitHub上から姿を消していました。
審査の結果、youtube-dlに違法性はない、ということで今は youtube-dl もGitHubからダウンロードできるようになっているのですが、その間に youtube-dl の派生作品がいろいろ出回り、その中でも優秀なのが yt-dlp なのです。
yt-dlpの使い方
■下記URLからyt-dlpをダウンロードします。
https://github.com/yt-dlp/yt-dlp/tree/release#release-files
Windowsで使うなら、yt-dlp.exeですね。これ1個だけでOK。
■コマンドラインでURLを指定してダウンロード
例)
C:\Users\[ユーザー]\Downloads>yt-dlp https://www.youtube.com/watch?v=pvQhiK7c7Fk
どこが面倒やねん!!
いやぁ…そうなんッスよ…。
派生元の youtube-dl では動画ファイル(mkv)と音声ファイル(aacかmp3)に分かれてDLされちゃうので、ffmpegというツールを使って自分で動画と音声を結合してあげる必要がありました。
なんで別々なんだよ!と思われる方がいるかもですが、そもそもYouTubeは動画と音声は別々に分割してサーバー上に持っているのだから仕方がない。
むしろこの派生ツールの yt-dlp がおかしいんですよ。なんでか知らんけど勝手に動画と音声を結合してmp4ファイルにしてくれるんだもの。おかげで解説することがねーや。
年齢制限等のログインが必要な動画のDL方法
大半の動画は先述の方法だけでDLできますが、年齢制限がかかっている動画の場合、DLできない場合があります。
まぁYouTubeにはR18の動画なんてない(はず)なので、そんな必要あるー?と思う方もいるかもですが、暴力的な映像でX指定の映画の予告編とか普通にアップロードされていますし、ゲームのプロモーションでもレーティング指定されてるのありますよね。ぼくが大好きなMMD系の動画(ぼくはVOCALOIDが大好きです)でも、え!その程度で?という動画でもわざわざ年齢制限かけているようなYouTube動画があります。
そういった動画はブラウザでログインしていなければまず開く(再生する)ことすら出来ないわけですが、どのブラウザでログインしているのか、yt-dlp側はわからないため、それを指定してやる必要があります。たぶん、デフォルトはchromeだと思うけれど、そこは自信なし。
例えばFireFoxを使っているのであれば、
yt-dlp --cookies-from-browser firefox [動画のURL]
というようにコマンドラインで入力してあげればFireFoxのクッキーを使って、YouTubeにログインし、動画をDLしてくれるはずです。
これ、すごすぎでしょ。前身である youtube-dl の場合は Get cookies.txt というブラウザ拡張を使って、YouTubeのログイン情報(≒クッキー)をcookies.txtというファイルに保存し、そのファイル名をコマンドラインで指定してあげないといけなかったんですよ。
それがyt-dlpではブラウザ名の指定だけで済むし、おそらくChromeならその指定すら必要ありません。
一応、この機能がなくなったり、Chrome/FireFox/Edgeといった主要ブラウザ以外を使っている方がいるかも知れないので、Get cookies.txtのURLも貼っておきます。
https://chrome.google.com/webstore/detail/get-cookiestxt/bgaddhkoddajcdgocldbbfleckgcbcid/related?hl=ja-JP機能としては単純で、現在開いているページで使っているCookieをテキストファイルに書き出してくれるだけ。この拡張機能を入れた状態でYouTubeにログインし、cookies.txtを書きだして、コマンドラインで指定してあげる、というのが従来の方法でした。
もう一度言いますけど、yt-dlpではその必要はない(はず)です。
「ERROR: Did not get any data blocks」というエラーが出る場合
yt-dlpで動画をダウンロードする際、「ERROR: Did not get any data blocks」というエラーが出る動画がたまにあります。多くの場合、「Downloading 1 format(s): 22」というメッセージも表示されているのではないかと思います。
youtube側の問題なのか、動画フォーマットの22番をくれーっと言っても返してくれないんです。
format codeというのはyoutubeで設定されていて、例えば18番ならMP4でH.264で360p。22番ならMP4でH.264で720pとかなんですね。
まぁでも、多くの人は理由なんてどうでも良くて、とっとと解決方法が知りたいだけだと思うので、上記のエラーに遭ったら、下記オプションを付けて再度試してみると良いでしょう。
■360pくらいの低画質で良ければコレがたぶん一番簡単
yt-dlp -f18 [動画のURL]
■高画質+高音質だけど分割されちゃうのでffmpegで結合する必要アリ
yt-dlp -f "bv[ext=mp4]+ba[ext=m4a]" --merge-output-format mp4 [動画のURL]
自分で動画と音声の結合するのが面倒な場合は、下記URLからffmpegをDLして、ffmpeg.exeをyt-dlpがあるディレクトリに置いておけば勝手に使ってくれます。
https://github.com/BtbN/FFmpeg-Builds/releases
■URL貼り付けるだけでDLできるバッチファイルが欲しい
@echo off echo youtube URL: set URL= SET /P URL= yt-dlp.exe -f "bv[ext=mp4]+ba[ext=m4a]" --merge-output-format mp4 "%URL%" PAUSE
これをメモ帳か何かに貼り付けて、download.batみたいなファイル名で保存すればOK。
もちろん、同一フォルダ内にyt-dlp.exeとffmpeg.exeの2つは必須ですが、バッチファイルとあわせてこの3ファイルを準備しておけばダブルクリックしてURL貼り付けるだけでyoutube動画をDLする環境の出来上がり、です。
まとめ
- YouTubeの動画をダウンロードしたい気持ちはわかるけど規約違反なので基本的にはYouTube Premiumへ加入しましょう
- 「YouTube ダウンロード」で検索した結果に出てくるページは軒並み地雷なので無視しましょう
- どうしてもDLしたいならyt-dlpというコマンドラインツールがオススメ
- 高解像度が欲しい場合は動画と音声の結合用にffmpeg.exeも必要
以上です。あくまで知的好奇心を満たす情報として扱ってください。もしこのツールを使って貴方のYouTubeアカウントがバンされても、ぼくは1ミリも責任を持てません。