youtube-dl消されて以降の方がプロジェクト活発で草
bilibili動画とは
ニコニコ動画の中国版、以上
動画をダウンロード
まあ滅多に無いけどbilibiliの中国動画をダウンロードしたい場合
真っ先に出てくるのは、一度消されたアプリこと「youtube-dl」
実はyoutube-dlもbilibili動画に対応しており、ダウンロードすることができる。
しかし、1つ欠点があってbilibili独自の仕様に対応できていないこと
bilibili動画では動画によってはプレイリスト形式になっており、GETパラメーターで動画が変わる
が、youtube-dlはこれに対応していないので、GETパラメーターを渡してもプレイリストの1番最初の動画しかダウンロードすることができない。。
結構昔から指摘されているが、直る気配はなさそう
よって今回はyoutube-dlではなくannieを使う
ダウンロード
Releases · iawia002/annieから最新版のバイナリファイルをダウンロード
Goで書かれているが、バイナリ化されているファイルを使う場合は環境にGo langがインストールされてなくても動く。
Macの場合は brew install annie
が早い気がする。
また、映像と音声の別々ファイルでのダウンロードになってしまい、最後結合するのにffmpegもインストールしておく必要がある。
ダウンロード
引数にダウンロードしたいURLを渡すだけ
annie -i https://www.bilibili.com/video/av21877586
で、プレイリストの中の特定の動画だけインストールしたい場合は以下のオプションを活用する。
-start Playlist video to start at (default 1) -end Playlist video to end at -items Playlist video items to download. Separated by commas like: 1,5,6,8-10
例えば
annie -i -items 2 https://www.bilibili.com/video/av21877586
だと2番の動画だけダウンロードできる。
Docker化した
手元にffmpegインストールして環境汚したくなかったので、雑にDockerイメージ作った
docker run --rm -w /app -v $(pwd):/app amanekey/annie 'https://www.bilibili.com/video/BV1Ct411L7Kd'
で使える。