2022年追記
ニコニコ側の仕様が変わったのかyoutube-dlの対応が間に合ってないのかわからんが、この方法は使えなくなった模様。
恐らくyoutube-dlのログイン周りの挙動を改めれば元に戻せそうなんだがようわかんね。
がいよー
早い話が、有料のチャンネル限定動画も含め、ニコニコから、動画を落としてこれるよと。
そういう記事だ。
前提
良いから早く結論を出せって話なんだがちょっと待って欲しい。
今回やったのは、人様が作ったyoutube-dlに、人様が行った修正を反映させて、単体で実行可能なexeファイルをビルドし直したよという話だ。
なので本来俺がアップロードして良いのかもわからないし、何かトラブっても俺は原則対応出来ないという、とても無責任な代物だ。
その辺を理解した上で使って欲しい。
手順
下ごしらえ
以下、作業するフォルダ名を「work」とする。適当なところにこのフォルダを作って欲しい。
まずこいつを落として、中身をworkフォルダにコピーする。
ffmpegも入れておく。
まずここに飛ぶ。
VersionをReleaseの一番新しいやつ(現時点で4.3.1)、Architectureを使ってるOSに合わせるんだがどうせWindows 64bitだろマカーとLinuxはこんな記事読まないもんな
そんで下のDownload Buildボタン押したらZipファイルが飛んでくるから中のbin/ffmpeg.exeをworkフォルダに移す
今workフォルダがこうなってればOKだ。
batの編集
そしたら次に、dl.batを右クリックして編集を選ぶ。
youtube-dlはコマンドから叩くソフトなので、コマンドを一回テキストに書いてから実行するわけだ。
大した内容じゃないんだが、予め雛形を書いておいたので、これをベースに編集する。
youtube-dl https://www.nicovideo.jp/watch/~ -u [email protected] -p OMAENO_PASSWORD
https://www.nicovideo.jp/watch/~
の部分は落としたい動画のURLだ。ニコニコでもYoutubeでも何でも良い。
で、次の-u [email protected] -p OMAENO_PASSWORD
だが、もし会員限定動画とかを落としてこない場合はごっそり削ってしまって構わない。
必要であるなら、[email protected]
にニコニコのログインに使うメアド、OMAENO_PASSWORD
にパスワードを入れれば良い。
後はこいつを上書き保存して、dl.batをダブクリすりゃ動画がオチてくるって寸法よ。
浅見ゆい……………好きだ………………
小技
コマンドの末尾に-xオプションを付ければ音声だけ落としたりも出来る。
詳しくはyoutube-dlの日本語解説サイトなんかを見ると良い。
https://masayoshi-9a7ee.hatenablog.com/entry/20150905/1441414821
https://knooto.info/youtube-dl/
もっとも、わりかし雑にリビルドしたので、なんかの拍子にコケるかもしれん。
その場合はコメントかなんかで報告してくれたらなるべく対応する。
あとがき
そもそも何でリビルドが必要やねんって話に戻ると、ニコニコは動画をストリーミングする際、heartbead/動悸というまぁ定期的に専用の通信を行わないといけない仕様になっている。
それが大体3,4年前?の事で、youtube-dlの開発者達はこの問題を理解していて修正案も出していた。
ところがプルリクエストまで出たにもかかわらず、マージ権を持ってるやつがこの問題を理解できてないのか、一向にマージされんまま3年が過ぎた。
で、大した修正でも無いので、自前でForkしてこの修正を適用する人がいた。
https://github.com/UtakoTuneProj/youtube-dl
今回はこのリポをCloneしてきて、公式のビルドプロセス一式を自前でやり直したというシナリオだ。
つまり問題自体は修正されてたんだけど、プログラマ以外が使える状態になってなかったのでexe吐き直したってところ。
だから俺は一つもソース書いたわけじゃないし、オープンとはいえ万が一権利者がお前何勝手にビルドして再配布してんじゃオラァンみたいな事言ってきたら秒で消しますお願い許して。
こちらのやり方を参考に行ってみたのですが、エラーでダウンロードできません。
仕様などが変わってしまったのでしょうか?