youtube-dlを使ってファイル名整形済みの動画をダウンロードする手順

youtube-dlを使ってファイル名整形済みの動画をダウンロードする手順

背景

会社にて、語学力向上いう施策が発令され、Youtubeの英語講座を教材として英語学習をすることになった。 しかしながら、会社で動画を観る余裕はなく、家で勉強する時間も充分にとれないことから、通勤時間を活用することにした。(会社の強化施策を、自己啓発として業務時間外で行う体育会系の会社。ということは今回置いておく)

youtube-dl

オープンソースのYoutubeダウンローダ(Github)。 存在は知っていたが、今まで利用したことはなかった。

★Youtubeではいかなる動画もダウンロードして視聴することは規約違反となります。自己責任でご利用ください★

インストール方法

Github – README.mdに記載があるが、ここでは手持ちのWindows/Manjaro Linuxの2パターンを説明。

Windows(Scoop導入済)

 scoop install youtube-dl

Manjaro Linux(AUR)

 yay -Sy youtube-dl

使用方法

これまたGithub – README.mdに記載があるが、基本的には以下の使い方でmp4形式動画がダウンロード可能。

 youtube-dl(.exe)  <Youtube URL>

出力ファイル名に苦戦・・・

会社が指定した教材は、動画数が100以上に及ぶ。↑のコマンドでダウンロードしたらファイル名も整形されないまま、煩雑な状態となってしまう・・・。

nkfやsed、awkなどを使ってがんばってはみたが断念・・・

Solution: youtube-dlの-oオプションを使用

初心に立ち返り、youtube-dlのOptionを確認。すると、あるではないか・・・

 -o, --output TEMPLATE            Output filename template, see the "OUTPUT
                                  TEMPLATE" for all the info

OUTPUT TEMPLATEは、またまたまたGithub – README.md – OUTPUT TEMPLATEに記載あり。今回の目的からいうと、%(playlist_index)がカギか。

 youtube-dl -o '%(playlist_index)s - %(title)s.%(ext)s' <Youtube URL>

注意点

Pythonルールのようですが、少しはまったのでメモ。各変数末尾にsをつけておかないとincomplete formatエラーで実行不可

まとめ

これに尽きる

  • OSSはREADMEを読むべし