annie ってなに?ってまず,答えから書きますが,
速くて軽くてシンプルでキレイなビデオのダウンローダーだそうです.Go 言語で作られてるらしい.
なお,コマンドラインから使うツールです.
導入方法
元サイトは以下の通り.
GitHub - iawia002/lux: 👾 Fast and simple video download library and CLI tool written in Go
👾 Fast and simple video download library and CLI tool written in Go - iawia002/lux
MacOS だと Homebrew で入るようですし,他にも幾つか標準的なパッケージになってるものもあるみたいですが,残念ながら Ubuntu 系は素直に Go から入れないとダメみたいです.
Ubuntu 18.04 (elementary OS) で実際に入れてみた様子は以下の通り.
まず,ffmpeg が入ってない場合は,
$ sudo apt install ffmpeg
で入れておきます.また,もちろん Go も必要です.
$ sudo apt install golang
これらが入っていれば元サイトの指示通り,
$ go get github.com/iawia002/annie
なお,標準だと ~/go/bin/ 以下にインストールされるので,PATH を通すか,面倒なら /usr/local/bin 以下に移動します.標準的なライブラリ以外に依存関係は無いので,単に mv するだけでキチンと動きます.
$ sudo mv ~/go/bin/annie /usr/local/bin/. $ annie annie Too few arguments Usage: annie [args] URLs... -C Download captions -F string URLs file path -O string Specify the output file name -aria2 Use Aria2 RPC to download -aria2addr string Aria2 Address (default "localhost:6800") -aria2method string Aria2 Method (default "http") -aria2token string Aria2 RPC Token -c string Cookie -ccode string Youku ccode (default "0590") -ckey string Youku ckey (default "7B19C0AB12633B22E7FE81271162026020570708D6CC189E4924503C49D243A0DE6CD84A766832C2C99898FC5ED31F3709BB3CDD82C96492E721BDD381735026") -cs int HTTP chunk size for downloading (in MB) -d Debug mode -end int Define the ending item of a playlist or a file input -f string Select specific stream to download -i Information only -items string Define wanted items from a file or playlist. Separated by commas like: 1,5,6,8-10 -j Print extracted data -n int The number of download thread (only works for multiple-parts video) (default 10) -o string Specify the output path -p Download playlist -password string Youku password -r string Use specified Referrer -retry int How many times to retry when the download failed (default 10) -start int Define the starting item of a playlist or a file input (default 1) -v Show version
使い方
全部元サイトに説明があるのですが,使い方は簡単で,Youtube だと,
$ annie 'https://www.youtube.com/watch?v=deIDDBmSfZQ' ✘ 1 Site: YouTube youtube.com Title: xxx – xxx.xxx.xxx.xxx [Official Video] Type: video Stream: [137] ------------------- Quality: 1080p video/mp4; codecs="avc1.640028" Size: 39.60 MiB (41526693 Bytes) # download with: annie -f 137 ... 39.60 MiB / 39.60 MiB [=====================================================] 100.00% 377.75 KiB/s 1m47s Merging video parts into xxx – xxx xxx xxx xxx [Official Video].mp4
みたいな感じで使えます.CTRL + C で中断ですが,もう一度同じ URL でダウンロードを指示するとキチンと続きからダウンロードされます(レジュームが効く).
あと,-i オプションでダウンロードできる全ての quality のリストが出て来て,-f オプションでどれを実際にダウンロードできるのか指定できるそう.
$ annie -i 'https://www.youtube.com/watch?v=dddS1BmSfZQ' Site: YouTube youtube.com Title: xxx – xxx xxx xxx xxx [Official Video] Type: video Streams: # All available quality [137] ------------------- Quality: 1080p video/mp4; codecs="avc1.640028" Size: 39.60 MiB (41526693 Bytes) # download with: annie -f 137 ... ... [397] ------------------- Quality: 480p video/mp4; codecs="av01.0.04M.08" Size: 9.51 MiB (9968317 Bytes) # download with: annie -f 397 ... ... $ annie -f 397 'https://www.youtube.com/watch?v=dddS1BmSfZQ' Site: YouTube youtube.com Title: xxx – xxx xxx xxx xxx [Official Video] Type: video Stream: [397] ------------------- Quality: 480p video/mp4; codecs="av01.0.04M.08" Size: 9.51 MiB (9968317 Bytes) # download with: annie -f 397 ... 9.51 MiB / 9.51 MiB [=========================================================] 100.00% 344.81 KiB/s 28s Merging video parts into xxx – xxx xxx xxx [Official Video].mp4
あと, -F オプションで txt ファイルに記された URL からダウンロードするらしい.
$ cat dl.txt https://www.youtube.com/watch?v=AAAsODSNfhw https://www.youtube.com/watch?v=AAAAADbAHkI $ annie -F ./dl.txt annie -F dl.txt Site: YouTube youtube.com Title: xxxx yyyy yyyy Type: video Stream: [136] ------------------- Quality: 720p video/mp4; codecs="avc1.4d401f" Size: 63.60 MiB (66694228 Bytes) # download with: annie -f 136 ... 63.60 MiB / 63.60 MiB [=====================================================] 100.00% 449.05 KiB/s 2m25s Merging video parts into xxxx yyyy yyyy.mp4 Site: YouTube youtube.com Title: [Official Music Video] zzzzzzz Type: video Stream: [137] ------------------- Quality: 1080p video/mp4; codecs="avc1.640028" Size: 79.88 MiB (83755377 Bytes) # download with: annie -f 137 ... 79.88 MiB / 79.88 MiB [=====================================================] 100.00% 625.69 KiB/s 2m10s Merging video parts into [Official Music Video] zzzzz.mp4
今まで youtube-dl を使ってたんですが,こっちのほうが使い方がシンプル,しかも対応サイトも比較的多いようなので乗り換えることにしました.
以上!