はしくれエンジニアもどきのメモ

情報系技術・哲学・デザインなどの勉強メモ・備忘録です。

動画ダウンロードツールyoutube-dlを使ってみる

動画ダウンロードツールyoutube-dlを使ってみる

コマンドで使えて,オプションも多いのでおすすめです。

先に断っておきますが, 違法ダウンロード推奨記事ではありません.

環境

youtube-dlとは

youtube-dl は,python 製です. YouTube とそれ以外のちょっとしたのサイト から, 動画をダウンロードするためのコマンドラインのプログラムです. pythonがインストールしてあれば,Windowsでも動作します.

youtube-dl

サポートしている動画サイト

youtube以外にも

  • Dailymotion
  • FC2
  • Udemy
  • KhanAcademy

などなど対応しているようです. 詳細は以下のリストにあります.

youtube-dl: Supported sites

インストール

pipに登録されているので, pipでインストールするのが楽です.


pip search youtube_dl
pip install youtube_dl

パッケージ名はアンダーバーになっているので注意です.

バージョン情報を確認して,インストールできたか確認


youtube-dl --version

> 2017.02.04.1

よく使いそうなオプションなど

よく使いそうなオプションメモ. 種類がかなり多いのでわかり次第,追記するかも.

オプションは次の一覧に載っています.

youtube-dl/README.md at master · rg3/youtube-dl · GitHub


m3u8を保存するには

ffmpegをインストールしておくと, youtube-dl内部でffmpegを起動してダウンロードしてくれるみたいです.

youtube-dl http://XXX.m3u8
  

ffmpegはバイナリ(インストーラ)があるのでDLして, インストールしておく. http://ffmpeg.zeranoe.com/builds/

シミュレーション(-s, --simulation)

実際には動画をダウンロードせず,指定したオプションで接続を試みる.複雑なオプションを指定して実際に使用できるかの確認におすすめ.

youtube-dl -s <URL>

出力ファイルフォーマット(-f, --format)

ダウンロードしたいファイルフォーマットを指定. おそらくmp4の指定が多くなるはず

youtube-dl  -f mp4 <URL>

URLリストのファイル(-a, --batch-file)

複数のURLリストをファイルに書き込んで置き,まとめてダウンロードする.wget -i と似た感じ.

youtube-dl  -a list.txt

レジューム機能(-c, --continue)

もしダウンロード失敗した場合に,レジューム機能を使って途中からダウンロードする(おそらくサーバー側が対応している必要があるはずなので必ずレジューム機能が使えるかはわからない).

youtube-dl  -c <URL>

最大帯域速度の指定(--r --limit-rate RATE)

ダウンロードレート(bytes per second) の最大を指定する. 低速回線のとき重宝しそう.

youtube-dl  -r 20K <URL>

youtube-dl自体のアップデート

youtube-dlコマンド内にupdateオプションがありますが, どうやらpipでインストールした場合,pip側でアップデートすればよさそうです.

pip install -U youtube_dl
> Collecting youtube_dl
  Downloading youtube_dl-2017.2.4.1-py2.py3-none-any.whl (1.5MB)
    100% |████████████████████████████████| 1.5MB 31kB/s
Installing collected packages: youtube-dl
  Found existing installation: youtube-dl 2017.1.29
    Uninstalling youtube-dl-2017.1.29:
      Successfully uninstalled youtube-dl-2017.1.29
Successfully installed youtube-dl-2017.2.4.1

youtube-dl/README.md at master · rg3/youtube-dl · GitHub