youtube-dlというアプリケーションを使って、動画の音楽だけを抽出してMP3をダウンロードする方法を紹介します。
※Windows向けの記事です。
MP3以外のフォーマットも指定できます。(下記参照)
best, aac, vorbis, mp3, m4a, opus, wav
まえおき
ここでのyoutube-dlは下記リンク先のものを利用しています。
https://rg3.github.io/youtube-dl/
youtube-dlの導入方法や起動方法は下記の記事を参考にしてください↓
過去記事 : http://howmani.com/soundcloud-playlist-dl/
なお、MP3をダウンロードするには最新版をご利用ください。
youtube-dlでMP3やwavをダウンロードする!
公式のドキュメント(使い方)によるとこのようになっていました。
公式ドキュメントはこちらです。→ https://github.com/rg3/youtube-dl/blob/master/README.md#options
【コマンドの書式】
youtube-dl [OPTIONS] URL [URL…]
【コマンドのオプション】
「-x 又は –extract-audio」と「–audio-format “FORMAT“」
…を使えば良いみたいです。
うーん、意味わかんない。
具体的には、下記のコマンドでダウンロードできます。
python youtube-dl.py -x --audio-format mp3 "YouTubeなどのURL"
※青字部分の拡張子は変更可。例↓
best, aac, vorbis, mp3, m4a, opus, wav
コマンドの実行方法
エクスプローラーの階層表示がされている部分をクリックして、コマンドを貼り付けましょう!
あれ、コマンドを実行したけどMP3が無いよ。。。
実はこれだけではMP3にならないんです・・・。.webmというファイルがダウンロードされ、最終行に下記のようなエラーが出ます。
エラー解消法は下記で↓
エンコードアプリケーションをダウンロードしよう
今回の場合、「FFmpeg」というものをダウンロードしてインストールすれば解決します。
FFmpegの公式サイトからダウンロードしましょう。
青いボタンの[Download FFmpeg]を押すとダウンロードできます。
WindowsはもちろんLinuxやMacでも利用可。
①ダウンロードしたzipファイルを解凍します。
②解凍して出てきたフォルダの中に、「bin」フォルダを開きます。
③2つのファイル「ffmpeg.exe」と「ffprobe.exe」をコピーします。
(ffplay.exeは不要です。)
④youtube-dl.exeまたはyoutube-dl.pyと同じディレクトリにペーストしましょう。
↓このような感じになればOK。
そして、先ほどと同じコマンドを再度入力して実行しましょう。
これでもエラーが出た方は下記の方法を試してみてください。
FFmpegではなく「LIBAV(avprobe)」を使用する方法です。
1,LIBAVをダウンロード
下記URLよりダウンロードします。
http://builds.libav.org/windows/release-gpl/
最適なものを見つけます。
私は「libav-11.3-win64.7z」を選びました。
選択を間違えると下記のようなエラーが出ました。
※「libgcc_s_sjlj-1.dll」を追加しても無駄でした。
2,ファイルを移動させる
解凍後、usr→bin にある「avprobe.exe」と「*.dll」を全てyoutube-dl.pyと同じ階層に移動やコピーをさせます。
あとは、同じようにコマンドを実行します。
以上です!
結局は、mp3をダウンロードしているわけではなく、webmからmp3に変換しているんですね!
参考になれば、共有していただくと嬉しいです!(^^)
追記メモ(2018/01/01)
ERROR: batch file could not be read
youtube-dl.pyで上記のエラーが出た場合、コマンドが間違えている可能性があります。
今回の場合、ハイフンが一つ不足していました。
○:-x –-audio-format
X:-x -audio-format
コメント
FFMPEG と Youtube-DL はよく使う場合は環境変数に登録すると楽ですよ~
(全てのディレクトリからFFMPEGとYoutube-DLが実行できる、
バッチファイル化しやすい)
バッチファイルの場合はそのBATが動いている間だけ環境変数として
機能するコマンドもあります。
こんにちは youtube-dlを使ってyoutubeliveをダウンロードしようとしているのですが、放送後すぐ非公開になる生放送だと正常に終わらずに仕方なく強制終了して止めています。放送の途中からダウンロードして途中で止めたいときも止める方法がないので同様です。そのせいでファイルが壊れてしまうのですが、良い解決法はありませんか?
コメントありがとうございます。
調べてみたのですが、原因などわかりませんでした。力になれず申し訳ありません。
提案になりますが、画面自体の録画はどうでしょうか?例であげると、Bandicamのようなソフトです。
こんにちは。質問があるのですが、youtube-dl.pyがあるディレクトリにffmpeg.exeとffprobe.exeをペーストしたのですが、
ERROR: ffprobe or avprobe not found. Please install one.
というエラーが出てしまうのですが、解決方法があるのならご教示いただけますでしょうか?
当ページに記載済みなので参考にしてみてください!
→ https://www.jami2010.com/youtube-dl-format-mp3/#i-2
度々すみません。ご回答ありがとうございました。昨日質問した者なのですが、ffprobe.exeとffmpeg.exeをyoutube-dl.pyと同じディレクトリ内に入れ、④の画像と同じ状態になっているのですが、依然
ERROR: ffprobe or avprobe not found. Please install one.
というエラーが出ている状態です。
いえいえ、返信ありがとうございます。
古いバージョン・最新バージョンで試してみました。どちらもエラーは出ませんでした。
色々調べてみたのですが、同じ方法ばかりしか見つかりませんでした。
代替の方法を追記したので、よろしければお試しください!
https://www.jami2010.com/youtube-dl-format-mp3/#i-4
何度もすみません。avprobe.exeを導入してみたのですが、やはりエラーがでてしまいました。
python youtube-dl.py -x –audio-format mp3 “YouTubeなどのURL”
とするとエラーがでるので、勝手に
python C:\Users\USER\musicpython/youtube-dl.py -x –audio-format mp3 “URL”
としてしまったのですが、これが原因だったりしますかね?
同じ方法でやるとエラーが出ますね。
なので、階層移動してからやる必要がありそうです。
階層移動は下記の方法で行います。
cd C:\Users\USER\musicpython
その後に、
python youtube-dl.py -x –audio-format mp3 “YouTubeなどのURL”
を行ってください。
ちなみに、ダブルクォーテーションは半角であれば問題ありませんが、全角だとエラーが出てしまうかもしれません。なのでダブルクォーテーションは消去しても良いです。
教えてくださった方法で階層移動を行い、下記のようになりました。
C:\Users\USER\musicpython>
そして、
python youtube-dl.py -x –audio-format mp3 “YouTubeなどのURL”
と行ったところ、下記のようなエラーが出てしまいました。
ERROR: batch file could not be read
ダブルクォーテーションを消してみたりもしてみたのですが、
‘list’ は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
‘index’ は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
というエラーが出てしまいました。恐らくURLに含まれている文字を認識されてしまったようです。
LIBAVを導入して色々といじっていたら、ffmpegのdllファイルを要求されたのでLIBAVとffmpegの両方をyoutube-dlと同じディレクトリ内にペーストしたところ使用できるようになりました。
ご教示して下さりありがとうございました。