YouTube等の動画サイトから音声を取り出したい場合、offlibertyやdirpyといったダウンロードサイトを利用するというのが一般的かと思いますが、複数のコンテンツから音声を取り出したい場合、「動画URLのコピペ、ダウンロードの完了待ち」、という操作を延々と続ける必要があり、効率が悪いです。
この記事ではyt-dlpというアプリケーションを使って効率的に複数の音声ファイルをダウンロードする方法を紹介します。
youtube-dlというアプリケーションでも同じことができますが、ダウンロード速度はyt-dlpのほうが圧倒的に早いです。
yt-dlpの入手
yt-dlpのダウンロード
先ずは本体であるyt-dlpをダウンロードします。
手順
- GitHubのyt-dlpのページからyt-dlpの最新版をダウンロード
- ダウンロードした「yt-dlp.exe」ファイルを、適当な場所に保存
- (ここでは、Dドライブ直下に「yt-dlp」という名称のフォルダを作成し、その中に保存することとします。)
ffmpegのダウンロード
youtubeのデータをそのまま(画像と音声がくっついたままのデータを変換しない状態で)ダウンロードする際は不要ですが、音声データを取り出す等の何らかの加工を行う場合は、ffmpegという変換用ソフトが必要となりますので、ダウンロードします。
手順
- ffmpegのダウンロードサイト(https://github.com/BtbN/FFmpeg-Builds/releases)に移動
- ァイル名の最後に「.zip」と書かれているもののどれかをクリックしてダウンロード(ファイルサイズの小さいやつで十分です)
- ダウンロードしたファイルの「bin」フォルダ内にあるファイルのすべてを、前項でダウンロードしたyoutube-dlと同じ場所に保存
最終的にDドライブ直下の「yt-dlp」フォルダ内には、下記のファイルが揃います。
avcodec-59.dll
avdevice-59.dll
avfilter-8.dll
avformat-59.dll
avutil-57.dll
ffmpeg.exe
ffplay.exe
ffprobe.exe
swresample-4.dll
swscale-6.dll
yt-dlp.exe
yt-dlpの基本的な使い方
yt-dlpはコマンドラインから実行する必要があるため、コマンドプロンプトを起動します。
コマンドプロンプトは、スタートメニューより「Windowsシステムツール」-「コマンド プロンプト」をクリックする(win11の場合はスタートメニューからwindowsツールを開いて「コマンド プロンプト」をダブルクリック)か、検索ウィンドウで「cmd」と入力して「ENTER」キーを押せば起動します。
次に、yt-dlp.exeがあるフォルダ(Dドライブの「yt-dlp」)まで移動するために次のコマンドを入力します。
d:
cd yt-dlp
保存したいyoutube動画のURLを控え、コマンドプロンプトにて
yt-dlp [youtube動画のURL]
と入力するとダウンロードが始まります。
進捗状況が表示されますので、終わるまで気長に待ちましょう。
ダウンロードしたデータは、yt-dlp.exeと同じ場所に保存されます。
このやり方だと、動画と音声がくっついたデータがダウンロードされます。
音声の抽出
音声を取り出すときは、コマンドに「-x」のオプションをつけます。
yt-dlp [youtube動画のURL] -x
さらに「–audio-format」オプションで音声ファイル形式を指定することも可能です。
例えば
yt-dlp [youtube動画のURL] -x --audio-format mp3
とすると、MP3形式で音声を取り出せます。
aac、flac、mp3、m4a、wav等の形式が指定できます。
複数のコンテンツから連続して音声抽出
複数のデータをダウンロードしたい場合、「コマンドラインでURLを指定して実行、ダウンロード完了まで待機」を繰り返すのは非効率です。yt-dlpでは、複数のURLを記載したファイルを作成し、ファイルに記載されたURLを順番に処理する機能があります。
手順
- メモ帳等を使って、1行に1URLを記載したテキストファイルを作成します。
- 作成したテキストファイルを「yt-dlp.exe」と同じ場所に保存します。
(ここでは、「list.txt」というファイル名で保存することとします。) - 「yt-dlp」コマンドに「-a」オプションをつけ、その後に先ほど作成したファイル名を指定して実行します(「yt-dlp -a list.txt」というコマンドになります)
- ダウンロードが終わるまでひたすら待ちます
さらにちょっと便利に
コマンド入力を不要にする
毎回コマンドを入力するのは面倒ですし、しばらく使っていないとどんなコマンドだったか忘れてしまいます。
そこで、毎回の処理内容が同じであれば、バッチファイルを作ってしまいましょう。
例えば、「yt-dlp.exe」と同じ場所に、以下のような内容のバッチファイルを置いて、それを実行すると便利です。
windows10や11だと、文字化けしたりするので、最初に「chcp 65001」とおまじないを入れてあります。
@echo off
chcp 65001
yt-dlp -a list.txt -x --audio-format m4a
ダウンロードデータの保存場所を分ける
これまでの説明だと、「yt-dlp.exe」と同じ場所に、URLのリストファイルやバッチファイル、ダウンロードされたデータ等が共存し、ファイルの区別が難しくなるので、私は以下のようにしています。
ディレクトリ構造
youtube-download/
│ download-list.txt
│ download.bat
│
├─downloads
│ [ダウンロードした各種データ]
│
└─yt-dlp
avcodec-59.dll
avdevice-59.dll
avfilter-8.dll
avformat-59.dll
avutil-57.dll
ffmpeg.exe
ffplay.exe
ffprobe.exe
swresample-4.dll
swscale-6.dll
yt-dlp.exe
「download-list.txt」にURLのリストを記述し、「download.bat」をダブルクリックで起動するだけです。
「download.bat」の中身は以下のようになっています。
@echo off
chcp 65001
cd yt-dlp
yt-dlp -a ..\download-list.txt -x -o "..\downloads\%%(upload_date)s-%%(title)s.%%(ext)s" --audio-format m4a
pause
「-o」オプションで、ダウンロードしたファイルの保存先およびファイル名を指定しています。
コメント