ニコ生アラートサーバ予約枠未通知調査

ニコ生アラートサーバからの予約枠の通知が不調らしいので調べてみた

  • アラートサーバ接続先
    • アドレス: twr02.live.nicovideo.jp
    • ポート: 2534
    • thread: 1000000019
  • 調査期間
    • 2010/10/17 3:00から15:00までの12時間
  • 調査方法
    • http://live.nicovideo.jp/api/timeline.phpで取得できる予約情報とアラートサーバからの情報を比較
    • 本来の開始時間から5分経過するまでに通知があったかなかったかで判定
  • 結果
    • (プログラムにミスがなければ)全564予約枠中通知があったのは175枠なかったのが389枠
    • 割合にすると31.0%
  • おまけ
    • API版アラートとRSS版アラートを全配信について比較してみたらAPI版で通知されない配信はRSS版でも通知されない模様
      • プログラムにバグがあり長時間比較できなかったのであまり確信無し
  • おまけ2
    • lv29723000からlv29756425(差は33426)の間に受信した配信数は32538枠
    • 割合にすると97.3%
      • 注)配信IDが全て使われるわけではないと思うのであくまで目安
    • 比較する以前のデータが無いのでなんとも言えないが通常枠の未通知はないかその割合は予約枠よりも大幅に少ないと思われる

namareco-0.4.1リリース

ダウンロード

変更点

  • 再ログイン時に1秒間スリープするようにした
    • スリープしないととんでもない回数の再ログインを試してしまうためよろしくなかった
    • ニコ生のログイン不具合に伴い見つけたバグ

ニコ生の初放送を一覧表示できるようにしてみた

http://www21.atpages.jp/hajimetenonama/
Twitterの方はトラブルにより現在未稼働
Twitterのアイコンを作ったらつぶれて何も見えなかった
なんか悔しいのでこっちにアップロード

namareco-0.4.0リリース

ダウンロード

変更点

  • flvファイルサイズが0Bytesとなる問題への対応
    • TCPSocket.open時のタイムアウトエラーが原因と判断
      • サーバ側からTCP/IPのレイヤーで接続を拒否された状態
    • 当該エラー時にrescueするとともに再接続するように変更
  • 追い出し機能を実装
    • 今まで作ってなかったのかと怒られそうだが上記エラーに伴い追加
    • TCP/IPレベルでの通信量規制が導入されたために上記のエラーが発生したのではないかという推定に基づく変更
      • 今更言い訳がましいが今後より厳しく規制されるのを避ける意味での自粛判断
    • プレミアム会員でのテストは行っていないためもし追い出されたなどがありましたら情報提供お願いいたします
      • ちなみに追い出された場合はこんなログが出力される
      • [COMM]: kicked out: /hb ifseetno 156 156
  • タイムアウト値をconfig.yamlで設定できるようにした
    • rtmp_read_timeout: 数字
      • 何秒間データを受け取らなかったら再接続するかを設定
      • デフォルト値は30秒
    • rtmp_connect_timeout: 数字
      • 何秒間rtmpのconnect()へ応答が無かったら再接続するかを設定
      • デフォルト値は2秒
    • そこまで悪くないデフォルト値だと考えているが配信スタイルによって変えた方がいいこともあると考えオプション化

謝辞

ニコニコ生放送の初配信をひたすら呟くTwitterボット

ニコニコ生放送において初生配信と思しき配信をひたすら呟くTwitterボットを作ってみた
http://twitter.com/hajimetenonama
流量がちょっと多めなのでもう少し絞り込みたいところ(たとえば開始後すぐ終了してしまった配信など)
早くもプログラムの負荷が高くなっているためいつまで続けられるかは不明

namareco-0.3.8リリース

ダウンロード

変更点

  • 原石アラートが動かなくなっていたのを修正
    • 最近テストしていなかったので関数呼び出し仕様を変更したのに追従し忘れていた
  • まさか使ってくれた人がいたとは思わなかった