youtube-dlでDL済み動画を回避しつつ動画を音声データにするっていうやつを自動実行するやつ
環境:win10
最近流行ってるVtuberというジャンルをよく見ている オタクなので
で、これがけっこうお歌うまうま勢が多い
オフライン環境でも快適に聴きたい、できれば面倒くしたくない、そんなtips
諸々の導入
pythonのインストール
おすすめはanacondaだけどyoutube-dlしか使わないのなら単体で適当にアレすればよいのではないでしょうか
macだとデフォで入ってたはず
youtube-dlのインストール
cmd開いてpip install youtube-dl
だと思うたぶん
ffmpegのインストール
これないと動画から音声を剥がせない たぶん
パス通ってるとこに置いとけばいいのかな よく分からん
atomic parslayのインストール
DLした音声にサムネとかタグとかいじるのに必要
使わないなら要らん
chocolatey使ってるならcinst atomicparsley
youtube-dlを使ってみる
ドス窓開いてyoutube-dl url
で大体の動画サイトはいける
もちろんurlはプレイリストでも可
youtube-dl -i -x url
で音声のみ剥がせる
iはエラー無視するおまじない
ただこのままだとopusまたはoggファイルが出力される
音質を考える
ただ動画を音声にするだけだと変換時の音質が気になる
まあyoutubeにアップされてる時点ですべて圧縮されてるのであまり拘っても仕方ないが…ベストはつくしたい所
例として以下の動画を考える
www.youtube.com
右クリックから統計情報を見ると
opus(251)というフォーマットであることが分かる
Youtubeで動画に使用されているコーデック(映像・音声それぞれ)の判別をする方法 - Yuichiro_S の Twitterでは文字数が足りないもの
を参考にするとopusの160kbpsらしい opusのことよく知らんけど携帯機で聴くには妥当な圧縮率だと思う
ただopusやoggはスマホでは再生しづらいのですべてaacに変換してしまう
youtube-dl -f bestaudio https://www.youtube.com/watch?v=ZtTQ_pI-cCw
でDLすると映像なしのwebmがDLされる
mediainfoで確認するとやはり音声はopusであったがなぜかビットレートは表示されない
ファイルが237秒 3857KBなので3857*8/237≒130で128kbpsくらい?アレ?160kbpsじゃないのおかしくね?
まあいいや…結局aacにするので拡張子を指定すると
youtube-dl -f bestaudio[ext=m4a] https://www.youtube.com/watch?v=ZtTQ_pI-cCw
でDLされるファイルを確認すると126kbpsとなる
ファイルサイズは3.72MB
変な変換してファイルサイズが無駄にでかくなるとかもないのでこれで妥当っぽい
サムネとタグを付ける
youtube-dl -f bestaudio[ext=m4a] --embed-thumbnail --add-metadata "url"
これでサムネとタグが仕込まれる
先述の通りatomic parsleyとかいうよくわからんアレが入ってないとエラーが出るので注意
DL済み動画を回避する
youtube-dl --download-archive ほげほげ.txt "url"
というオプションでほげほげ.txtに保存済み動画がリストされる
つまり毎回同じプレイリストを指定しても保存済みは回避してDLできる
というわけで
youtube-dl --download-archive ほげほげ.txt -f bestaudio[ext=m4a] --embed-thumbnail --add-metadata "DLしたいプレイリストのurl"
あたりが妥当ではないでしょうか
リストを開くと
動画サイト 動画ID
みたいな感じで羅列されていく
例:
DLするプレイリストをまとめる
毎回URLを指定するのはクソ面倒なのでリストにまとめておきましょう
youtube-dl -a ふがふが.txt
でtxt内のurlが一度にDLされます
つまり追ってるチャンネルの再生リストのURLをテキストファイルにまとめてパス通ってるとこに置いておいてこのコマンド指定すればOK
youtube-dl -i --download-archive ほげほげ.txt -f bestaudio[ext=m4a] --embed-thumbnail --add-metadata -a ふがふが.txt
たまに何故かDLできない動画があるので-iは入れといたほうがいい
batファイルに書いておく
notepad開いて
youtube-dl -i --download-archive ほげほげ.txt -f bestaudio[ext=m4a] --embed-thumbnail --add-metadata -a ふがふが.txt
保存して拡張子を.batにすればクリックひとつで実行される
必要なら最初の行でディレクトリを変更しておく
まとめ
ふがふが.txtにDLしたいプレイリストのurlを羅列しておく
それをcmdを実行する場所に置いておく
cd 適当なディレクトリ
youtube-dl -i --download-archive ほげほげ.txt -f bestaudio[ext=m4a] --embed-thumbnail --add-metadata -a ふがふが.txt
をbatファイルにしておいて定期的に実行する
これでDLできない動画は知らん
追記:
youtube-dl最新版使ってもDLできないやつあったので以下参考に修正版のアレをpipでアレしたらDLできるようになった
https://github.com/rg3/youtube-dl/issues/17457
個別にインストールしなくても最新版に反映されてるはずじゃ・・・?よくわかんね