m2

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