C++でフルスクラッチ

ドワンゴ開発者が語る「ニコニコ動画」の中身

2007/11/01

 ニワンゴが運営する「ニコニコ動画」の評判がうなぎのぼりだ。動画の再生に合わせてコメントを表示するスタイルが受けて、アクセスが急上昇。日本発のサービスとして世界での活躍を期待する声も増えてきた。都内で11月1日に開催されたアドビ システムズのイベント「Adobe MAX Japan 2007」で講演したニコニコ動画の開発元、ドワンゴの研究開発本部 技術支援セクションの戀塚(こいずか)昭彦氏は「それなりに工夫しています」と話す。

niconico01.jpg ドワンゴの研究開発本部 技術支援セクションの戀塚昭彦氏

 「ニコニコ動画のメインコンテンツはコメント」と戀塚氏は語る。動画に興味を持ったユーザーがコメントを登録し、そのコメントに刺激を受けた別のユーザーがまたコメントを投稿という形で、遊び心に満ちたコンテンツが出来上がっていく。戀塚氏は「各ユーザーができる形で少しずつ参加し、その結果を全員が享受できる」と説明した。

 戀塚氏はコメントを管理するメッセージングサーバやWebインターフェイスの開発に当初から関わり、現在も技術支援として開発にタッチする。開発で意識したのは「コメント投稿の敷居を低くして、思ったことを衝動的に投稿できるようにすること」だ。動画下にあるコメント欄に入力すれば、とりあえずはコメントが流れるよう、誰でも使えるユーザーインターフェイス(UI)をFlashベースのプレイヤーに採用。2006年12月の(仮)公開以降、デザイナーも参加し、コメントを投稿しやすいUIを目指してきた。

 動画内のコメント表示にも細かな配慮を行って、ユーザーの興味をかき立てるようにしている。ActionScript 2で開発したプレイヤーは、動画内でコメントが重ならないように、コメントの入場から退場までを1秒単位で制御。動画いっぱいにコメントがあふれる「弾幕モード」では「積極的にコメントを重ねていく」(戀塚氏)ようにするなどユーザーの興味を先読みして、機能を実装した。

パフォーマンス重視のサーバ設計

 一方、システム設計はシンプル。プレイヤーはActionScript 2で開発。メインのアクションを外部に持ち、インクルードで読み込む形にした。ニコニコ動画のキモであるコメントは「スレッド」を呼ぶ単位で管理。このスレッドと各動画を関連付ける。サーバとプレイヤーの通信は「XMLsocket」と「HTTP/1.1」を使い、非同期通信を実現した。別ユーザーが投稿したコメントが瞬時に動画に反映されるリアルタイム性は必要ないとして、「長い間隔のポーリングで十分」と判断した。「いわゆるCometではありません」という。今後はActionScript 3への移行も検討する。

 コメントを管理するメッセージングサーバはC++プログラムをフルスクラッチで独自開発し、Linuxのデーモンとして実装。メッセージングサーバはCSV形式で出力されるスレッドを管理する機能に特化し、カタログ生成などの機能はデータベースに任せている。外部との通信を少なくすることでボトルネックが発生しないようにしている。

 当初は戀塚氏ともう1人で開発を始めたニコニコ動画だが、成長に合わせてエンジニアを増員。現在は、各コンポーネントごとに開発を分担して行えるようになった。メッセージングサーバとプレイヤーの開発を担当しているのは、ドワンゴが巨大掲示板「2ちゃんねる」を通じて採用した2人のエンジニアという(参考記事)。

関連リンク

(@IT 垣内郁栄)

情報をお寄せください:

アイティメディアの提供サービス

キャリアアップ


- PR -
ソリューションFLASH

「ITmedia マーケティング」新着記事

「サイト内検索」&「ライブチャット」売れ筋TOP5(2024年11月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。

米司法省がGoogleに「Chrome」売却要求 広告業界への影響は?
米司法省によるGoogleへのChrome売却要求は、リテールメディアネットワークに恩恵を与え...

トランプ氏勝利で追い風 ところでTwitter買収時のマスク氏の計画はどこへ?――2025年のSNS大予測(X編)
2024年の米大統領選挙は共和党のドナルド・トランプ氏の勝利に終わった。トランプ氏を支...