🦔

【mac版】yt-dlpで、Youtubeの動画を、音声+動画を結合して、ダウンロード先も指定、Quicktime Playerでも再生可能

2025/02/02に公開

yt-dlpとは?
youtubeの動画をPCにダウンロードできる、Pythonパッケージ。
元は2006年に開発されたyoutube-dl(wiki参照)というものだったが、それがダウンロード速度を100倍ほどに改良されたものが、コレである。

どうするのか。

macのターミナルを開く(command + Shiftボタンで、ターミナルと検索)
そこにこれをコピーして打ち込む↓

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

んで次にターミナルにこれを打ち込む↓

touch ~/.zshrc
open -e ~/.zshrc

開いたファイルにこれを打ち込む↓

export PATH="/opt/homebrew/bin:$PATH"

次に、yt-dlpをインストールするから、ターミナルにこれを打ち込む

brew install yt-dlp

そしたら、ダウンロードしたいYoutubeの動画を用意する

そして、以下のコマンドを打ち込む(ナンタラカンタラの部分は、自分のそのダウンロードしたい動画のURLリンクに載ってるやつをつなげる)

yt-dlp "https://www.youtube.com/watch?v=ナンタラカンタラ" -F

すると、なんかいろいろ長い文字列が出てくると思う、最も左にはIDがあり、そこにそれぞれ、3桁の数字が書いてあるはず

EXTの、m4aのなかで一番下にあるIDの3桁と、mp4で一番下に表示されてるIDの3桁をメモする
画像の場合、m4aなら140、mp4なら299になる(それが最も質のいい動画ができる選択)

注意⚠️:この時、音声はm4a、動画はmp4を選択し、さらにmp4は、右のINFOが、mp4_dashを選択しなければならない、そうしないとQuicktime Player上でコーデック不対応により再生ができない動画が誕生するだけ←おそらくみんながMACでうまくいかんつっかえてる問題の根幹はこれ

そしたら、早速ダウンロードしたいところだが、一旦落ち着いて、
ffmpegというものをダウンロードしとく
ターミナルに、これを打ち込む

brew install ffmpeg

そしたら、これをターミナルに打ち込んで、いざ動画をダウンロードする↓
(この時 -f 299+140となっているように、idは、mp4のもの+m4aのものの順に書く)
あとちなみに下のコードは、動画と音声を結合させて、さらにそれをFinderの「ダウンロード」内にダウンロード先を指定させた。このコマンドにしないと動画と音声は結合されず2つのファイルでダウンロードされ、さらにダウンロードに保存されておらず保存先がどうなってるのかわかりずらいからこれにしよう

yt-dlp -o '~/Downloads/%(title)s.%(ext)s' "https://www.youtube.com/動画のURL末尾のナンタラカンタラ" -f 299+140 --merge-output-format mp4

ここで、問題が発生
「これでもmacのquicktime playerで再生できないときがある(^o^)」

これを解決するには、2パターンの解決策を見つけた

  1. オープンソースメディアプレーヤーのVLCをダウンロードしてそこでその動画を視聴する
    https://www.videolan.org/vlc/index.ja.html (無料)

  2. Youtubeの動画をダウンロードするのではなく、Youtube再生リストに入れて(新規作成するとか)、その再生リストのURLをナンタラカンタラに入れて動画をダウンロードする
    つまり、

yt-dlp -o '~/Downloads/%(title)s.%(ext)s' "https://www.youtube.com/動画のURL末尾のナンタラカンタラ" -f 299+140 --merge-output-format mp4

そうすると、なんかQuicktime Playerでも再生リスト内のダウンロードされた動画はすべて再生できた。意味わからんな。ハハッ!!!
(この時、再生リストに入っているすべての動画が、画面サイズや投稿された画質(例えば1080p*30fps)などがすべて統一されていないと、これは不発に終わる(IDが違くなる為)

一体何をやったのか。

  1. homebrewをインストールした(これはyt-dlpをインストールするためのインストーラ)
  2. その後yt-dlpをインストールした(これがyoutubeの動画をダウンロードする為のもの)
  3. コマンドに-Fを付けて、欲しい動画に関するダウンロード可能なファイル形式を見た
  4. ffmpegをインストールした(ダウンロードする際に動画と音声が別々にならず結合させるため)
  5. Quicktime playerで再生できなくなる(コーデックにav01が含まれてしまう)のを阻止する為、6. Youtube動画ではなく、その動画を入れた「再生リスト」URLを何たらかんたらに入れる
    んでコマンド
yt-dlp -o '~/Downloads/%(title)s.%(ext)s' "https://www.youtube.com/再生リストのURLの末尾のナンタラカンタラ" -f 299+140 --merge-output-format mp4

を打ち込んで、ダウンロードした
7.すると動画と音声を結合させ、ダウンロード先をFinder「ダウンロード」を指定したから、macの「ダウンロード」に保存される

皆さんが無事にダウンロードできたことを祈ります
(299+140のとこは、ちゃんと自分でIDみつけて変えなきゃエラー出ると思うよ)
(299じゃなくて136とか、youtuberさんが投稿されてる動画が、どんだけ良い画質とか画面サイズなのかとかで、IDの数字もちょっと変わってくるからね。)

参考になったら、いいねお願いします🥺(どれだけの人がこの記事に対してリアクションがあるのか知りたいです)

Discussion