なかなかいいんじゃない?
しかし前回のテストから遅くないか?w って思ったけど、前回の通信ログ見てないからわからないか…
【2013/12/18】運営テスト放送 ‐ ニコニコ動画:GINZA
ざっと通信ログ見た感じ、
- ページロード。JavaScript から Flash Player にデータが送られ、WebSocket に接続 (/wsapi/v1/watch/~?audience_token=~)。
- C2S: {"body":{"command":"getpermit","params":["20188235531"]},"type":"watch"}
- S2C: {"type":"watch","body":{"command":"servertime","params":["1402578300705"]}}
- C2S: {"body":{"command":"getuserstatus","params":[]},"type":"watch"}
- S2C: {"type":"watch","body":{"command":"permit","params":["20188235531"]}}
- S2C: {"type":"watch","body":{"command":"currentstream","params":["rtmp://smilevideo.fc.llnwd.net:1935/smilevideo","s_lv181108351_sub1?uid=394&h=□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□","high","normal","high"]}} (□ は伏字)
- S2C: {"type":"watch","body":{"command":"currentroom","params":["omsg104.live.nicovideo.jp","2812","1355150878","アリーナ 最前列"]}}
- S2C: {"type":"watch","body":{"command":"statistics","params":["2214","298","1221"]}}
- S2C: {"type":"watch","body":{"command":"userstatus","params":["20929324","true"]}}
時系列準。このあと、rtmp が接続されているので、getplayerstatus の代わりになるものが WebSocket で実装されている模様。type の watch は視聴に関する事柄のデータを差し、その中身の command は統計とかユーザー状態とかそれぞれの情報を指しているのだろう。
クライアントサイドの負荷が減っている。そもそも大幅に転送量が減っていて、なおかつ、stream 選択ロジックとかがないので、スムースに行くのかも。
視聴して思ったことは、バッファー不足気味 (?: 音がプツプツする) になることや、60 fps コメント表示がないとかそのあたりかなぁ。それ以外は動作もいい感じに早くなってるしいいと思う。
とりあえず、現行のバージョンと違う新しいプレイヤーのメモってことで。
あとがき
WebSocket でデータ渡すのはいいんだけど、将来的な展望が見えないってのはあるなぁ。コメントサーバーのデータと一元化してストリーム 2 本 (映像とプレイヤー操作分) ならわかるけど、現状 3 ストリーム (コメント、映像、操作) なんだよね。
でもまあ、新プレイヤーは動作が全体的に早くなっている気がするので、いいかな。そもそも getplayerstatus という必要な情報を DL するのが、ファイルの肥大化のせいで長くなっていたのもデメリットだったしね。
こんなもんで、あとがき終わり。