ニコ生新サーバ変更点まとめとnamareco対応

  • getplayerstatus API
    • getplayerstatus/stream/contents_list/contentsが変わった
      • rtmp:liverepeater:rtmp://nlpoca14.live.nicovideo.jp:1935/publicorigin/lv15******
      • rtmp:rtmp://nlpoca34.live.nicovideo.jp:1935/publicorigin/inst01/,lv15******
  • Handshake
    • 先頭4Bytesにuptime次の4Bytesに0x00を四つ
    • その後は乱数でよいみたい
    • サーバからの返信の前半をそのまま返信
    • 後半の返信と比較してみたが一致はしない模様
  • RTMP
    • connectからの一連の呼び出し手順が変更
      • 引数もいろいろ変更されていた
    • flex_messageとflvの2種類のタイプを追加
      • flex_messageはデータがパッケージングされているだけ(?)なので中身を取り出せばよさげ
    • flvは映像と音声が混在したデータがFLVファイルのフォーマットで送られてくる
      • 映像packetと音声packetを取り出しtimestampを適当にごにょごにょすればよさげ
  • 問題点
    • namarecoがやたらとEOFErrorで落ちる(旧サーバでも)
      • ネットワークプログラムでの正しいtimeout処理やら再接続処理とかなんも分からずに書いているせいか
      • EOFErrorが起きた場合は終了判定に失敗する
    • 新サーバの配信がぴたっと止まり旧サーバだらけになったりしばらくすると新旧サーバが混じったりする
      • 運営もテスト中なのかな?