Plagger でニコニコムービーメーカー(nmXXXXXXX)の動画のダウンロードがうまくいってなかった件
最新のニコニコ動画のプレイヤーは動画情報を取得するときに
ttp://www.nicovideo.jp/api/getflv?v=(動画ID)&ts=(タイムスタンプ)&as3=1
というアドレスにリクエストするみたいです。この「as3=1」の有無で動画ファイルの場所が変わってきます。
「as3=1 なし」:ttp://smile-clb61.nicovideo.jp/smile?s=XXXXXXX.YYYYY 「as3=1 あり」:ttp://smile-clb61.nicovideo.jp/smile?s=XXXXXXX.YYYYYas3
Plagger でニコニコムービーメーカー(nmXXXXXXX)の動画の場合、「as3=1 なし」の方だと 403 を返してきていたようなので、FetchNicoVideo.pm の該当箇所を以下のように変更しました。
#get flv url my $res = $ua->get("http://www.nicovideo.jp/api/getflv?v=$video_id&as3=1");
- -
それとは別に、タイムアウトでもよく動画のダウンロードに失敗していたようです。
Plagger のユーザーエージェントのデフォルトのタイムアウトは15秒と少し短いので、3分にします。
やり方は簡単で Plagger のコンフィグ yaml の先頭に以下を追加するだけです。
global: user_agent: timeout: 180