7874457 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

GMの抵抗ワショーイ

GMの抵抗ワショーイ

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
2021.10.12
XML
テーマ:YouTube(1572)
カテゴリ:youtube
期間限定の動画などで、YouTubeなどの動画共有サービスから動画のダウンロードや音声の抽出を行いたい!というケースはたまにあります。
そんな時に便利なのがyoutube-dl
1000以上のサイトに対応しているので、Youtube以外でも使える便利なツールです。



下準備:python3

まずはpython3をインストールします。
何かと便利なので「プログラム組まないよ!」という人でもインストールしといてください。
Pythonのダウンロードとインストール



下準備:youtube-dl

youtube-dlのソースコード
「download an .exe file」と書かれてる場所をクリックしてyoutube-dlをインストールします。
pipというpythonのツール使ってもインストールできます。

パスの設定は%SYSTEMROOT%\System32にするといいのですが、しなくても後でバッチファイル(.bat)でなんとかするので、exeファイルを好きなフォルダに置いといてください。





下準備:ff-mepg

動画と音声を記録・変換・再生するためのフリーソフトウェアです。
対応コーデックが多く、多彩なオプションを使用可能な点が魅力。
これがないとダウンロードしても動画が出力されません。
ffmpeg公式からdownloadをたどっていきます。



ffmpeg-release-full.7zをダウンロードします。
7z形式の圧縮フォルダはLhaplusなどで解凍してください。
ffmpegの中のbinフォルダにあるffmpeg.exeをコピーしてyoutube-dlと同じフォルダに配置。


下準備:バッチファイル

ダウンロード.batを作ります。
面倒なコマンド打ちたくない人向け。
以下コードをテキストエディタ(メモ帳)に貼り付けてdl.batなどの名称で保存。



@echo off

echo YouTubeダウンローダ


set OPTIONS= --format bestvideo[ext=mp4]+bestaudio[ext=m4a] --embed-subs --embed-thumbnail --all-subs --write-description --write-info-json --write-annotations --write-thumbnail --merge-output-format mp4 --all-subs --embed-subs --embed-thumbnail --xattrs --add-metadata -o "download\%%(upload_date)s-%%(title)s-.%%(ext)s" -ciw

set /p URL=URL:
youtube-dl.exe %OPTIONS% "%URL%"


この.batファイルもyoutube-dlと同じ場所に配置です。



空のdownloadフォルダも作っておいてください。
後はdl.batを実行したらyoutubeのURLをhttps://から全部貼り付けてダウンロードするだけ。
必要に応じてフォルダに同封されてるffplay.exeやffprobe.exeも.batと同じディレクトリに配置してあげてください。




ダウンロード速度の問題

2021/10/12頃からyoutube-dlを使ったダウンロードに速度制限がかかってる模様。
ソースコード見るとわかりますが、多くの人が使いすぎて対象中継点が制限されてるのかな。
代用として、yt-dlpを使います。

内容はyotuube-dlと同じで、現在もメンテされているコードです。



「yt-dlp」プロジェクトからyt-dlp.exeを入手してyoutube-dl.exeと同じフォルダに置くだけ。
batの中身を下記のように変えます。


@echo off

echo YouTubeダウンローダ


set OPTIONS= --format bestvideo[ext=mp4]+bestaudio[ext=m4a] --embed-subs --embed-thumbnail --all-subs --write-description --write-info-json --write-annotations --write-thumbnail --merge-output-format mp4 --all-subs --embed-subs --embed-thumbnail --xattrs --add-metadata -o "download\%%(upload_date)s-%%(title)s-.%%(ext)s" -ciw

set /p URL=URL:
yt-dlp.exe %OPTIONS% "%URL%"


他にもytdl-patchedを使っても同じことができます。
使うツールを分散しないとまた制限がかかるので注意が必要そう。
(本当にコード書ける人なら接続先周りのソースを書き換えちゃえばいいかもしれない)



どうしてもローカルにpythonが入らない人に

youtube-dlが使えない!って人はchromeの拡張機能であるストリームレコーダーを使って一部動画はダウンロードできます。
youtubeが現在対応してるかは不明。
youtube-dlがサポート外の動画を結構拾ってくれる印象。
あるいはOBS Studio使って直接録画するか、ですかね。



補足

よりダウンロード内容をカスタマイズしたい人は下記サイトがおすすめ。
紹介したバッチファイルの中身が少し理解できるようになります。
[参考]【youtube-dl】YouTubeから最高画質・最高音質で動画を保存する
[参考]youtube-dl Supported sites(サポートサイト一覧)

※ちなみに、youtube-dlは過去にアメリカレコード協会が提出したDMCAテイクダウン申請により、GitHub上での公開が停止されたことがありますがDMCA第1201条に違反している事実はないとして復活しています。
[参考]Standing up for developers: youtube-dl is back
※違法ダウンロードでの用途はNGです。
※一般にYouTubeで視聴して高評価とチャンネル登録したほうが投稿者さんは喜びます

※全くもって余談ですが、Youtubeの動画ダウンロードサイト・アプリも同様に裏でyoutube-dlを実行してるだけ、というケースがほとんどです。多少サーバ設計かじったことある人ならラムダでpythonのyoutube-dl関連のジョブ走らせて実行する、で伝わるでしょうか。





お気に入りの記事を「いいね!」で応援しよう

Last updated  2021.10.30 22:59:24
コメント(0) | コメントを書く



© Rakuten Group, Inc.