メッセージサーバのURLが変更されたようです

ここ最近になって、自作のニコニコ動画のコメントダウンローダーでコメントがダウンローダーできなくなったと思ったら、よく見るとURLが変更されたみたいです。

今までは、”http://msg%d.nicovideo.jp/api/”だったのが、”http://msg.nicovideo.jp/%d/api/”に変更されました。%dは任意の数字です。

最初はFLVと同じようにコメントもダウンロード規制されているのかと思い、今まで適当だったリクエストヘッダに、リファラーを記述してみたり、POSTのXMLにuser_id属性を付加したりしましたが、結局、よく見たらURLが変更されていただけだったようです。

ところで、ダウンロードしたコメントは、現在このような書式になっています。

<?xml version="1.0" encoding="UTF-8"?><packet><thread last_res="8829" resultcode="0" revision="1" server_time="1197199187" thread="1197027961" ticket="0x291a7280"/><view_counter video="80744"/>
<chat anonymity="1" date="1197195697" mail="sage shita big orange 184" no="8625" thread="1197027961" user_id="_UzrXmeCsmhiCbpCW2l6SVv51SI" vpos="18803">思い切って 前髪を切った              &#8203;</chat>
<chat anonymity="1" date="1197195700" mail="big ue blue 184" no="8626" thread="1197027961" user_id="3qjgAyyvNEUXtAV0LFsCoF7dbG4" vpos="12852">(’、’;)&#9730;(・・ )</chat>
<chat anonymity="1" date="1197195717" mail="184" no="8627" thread="1197027961" user_id="Erf8MOd-xqCBCD9T_bGOFaelObg" vpos="19265">ピアノさいこー</chat>

...

</packet>

最初の方にちょっとした情報が記述されており、メインのコメントはchatタグに記述されています。chatはコメントが投稿された順に記述されており、再生したときに早くコメントが出てくる順ではありません。

代表的な属性は、vposとmailです。vposはビデオ上でのコメントの場所(時間)を表し、mailにはコメントを投稿するときに入力する「コマンド」の値が入っています。shita(字幕),big(大きさ),orange(色)とかコメントを修飾するやつです。

表示に必要なのはこの二つですが、vposには要注意です。まず、単位が1/100秒です。あまり見かけない単位ですね。もう一つは、ビデオ上をスクロールするコメントのvposは、そのコメントが画面の中心に出ているときを表し、一方字幕の場合は、そのコメントが出現する時間を表しています。つまり、一つのコメントが表示されている時間は4秒間と決まっているので、画面上を流れるコメントはvposより2秒前に右側から表示を始めなければなりません。

そういうわけで、プレーヤーを作る人は注意しましょう。1週間前になりますが、作成していたオフラインプレーヤーを字幕表示に対応させました。

nPlayer -
通常コメントが250までの長さの動画に、1000表示しているので歌詞がたくさん表示されています。

最後に、Image KitとCore Animationの記事を書こうと思っていたのですが、これから2,3ヶ月の間特に忙しいので、年末年始あたりに時間が取れなければ書く事ができないかもしれません。せっかく、どちらもそこそこ使えるようになったのに、それを紹介できないのは残念です。IKImageBrowserViewの記事は書きかけになっているので、年内には仕上げたいです。

そういうわけなので、このブログ自体も翌年3月あたりまでは更新頻度が激減するかもしれません。

コメント投稿