自動でYoutubeのプレイリストの動画を一括で.mp3[320kbps]で保存する

最近テレワーク中にYoutubeをBGM代わりに再生することが多いのですが,Youtubeを音楽プレイヤーとして使うのそこまで便利でもないし,自分の手持ちの曲と混ぜてプレイリスト作りたいなあ...と思ったため.後僕がローカルファイル派なので.

今まではPythonを使ってコーディングしたり,ソフトを作ってたんですけど今回は出来合いの.exeを使ってそれを.batで色々都合よく制御して起動させるという感じで作りました.

とりあえず,必要な物をこちらでご用意ください.
Youtube-dl.exe
ffmpeg

これらを入手したら,以下のようにどっかのフォルダにまとめておきましょう.

この後はyoutube-dl.exeを起動させるバッチファイルと設定ファイルを作ります.設定ファイルは無くてもいいんだけど,あった方が後で編集する時楽です.オプションを改行で管理できるので.

追記1:容量の大きい動画をダウンロード等で動画のダウンロードに失敗した場合,以降動画のダウンロードに対して不規則に「ERROR: unable to download video data: HTTP Error 403: Forbidden」が発生するようになるみたいです.このエラーを回避するにはキャッシュフォルダを消せば解決するみたいです.それを毎回実行するコマンドを追記しました.

追記2:プレイリストを未更新で放置していると毎回毎回容量の大きい動画を毎日ダウンロードしなおすことになるため,それを回避するために消し忘れ対策としてダウンロードしたIDを記録し,それを毎回ダウンロードするときに参照して同じ動画をダウンロードしないようにするコマンドをsettings.iniに追記しました.

#run.bat
cd [ファイルの保存先にしたいディレクトリ]
[youtube-dl.exeのパス] --rm-cache-dir
[youtube-dl.exeのパス] --config-location [settings.iniのパス]

#settings.ini
-x 
--audio-format mp3
--audio-quality 320K
--download-archive FILE
[自分のプレイリストのURL]

注意:ダウンロードしたい動画のプレイリストの公開設定ですが,限定公開に設定しておいてください.

作成したら先ほどのフォルダに追加しておきます.今このようになっているはず.

これで,Win+Cでコマンドプロンプトを呼び出して,そこにrun.batをD&Dで放り込んで起動してみて,指定したフォルダにmp3が落っこちてきてればOKです.

コマンドプロンプトからでなく.batから直接起動することは勿論できるのですが,エラー等を確認できないので起動確認するときはコマンドプロンプトから起動すると良いでしょう.

(大変見づらいですが)こんな感じになります.

無事起動が確認出来たら,自動起動の設定をします.ここではWindowsのタスクスケジューラで設定します.

タスクスケジューラを開いて,右側の基本タスクの作成から画面の流れに従い,最後にバッチファイルを指定すればOK.引数の設定とかは既にしているのでここで設定しなくてよし.

一応,今の時刻+15分くらいに設定して,ちゃんと動作するのか確認するといいでしょう.動作確認後は好きな周期で実行感覚を決めましょう.

これで,プレイリストに曲を追加しておけば勝手にローカルに曲が降ってきてくれるようになります.ただ,ダウンロードしてもプレイリストの動画はプレイリストから消えないのでそれを消すのだけは手動になります.多分これも自動化できるけど.

他,mp3以外で保存したい!とか細かい要望がある方はこちらのサイトからオプションを勉強して試行錯誤してみてはいかがでしょうか.youtube-dl オプション一覧及びそのメモ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください