【概要】WebRTCを用いたビデオ通話システム
【作業期間】3か月(大学院1年4月-6月)
【関係者の人数】1人
【担当役割】WEBページ作成、
シグナリングサーバー構築、
STUN/TURNサーバー構築
【開発言語・技術】HTML,JavaScript,CSS,さくらVPS,Node.js,socket.io
【参考URL】https://〇〇〇〇〇〇
【きっかけ】大学4年時の研究において、全天球カメラのリアルタイム検出に取り組み、その続きとして本システムを実装しようと考えた。遠隔地でのカメラ映像もGPUのある拠点で検出して結果を返すようなシステム構築を今後の展望として考えていたので、そのシステムを実装する過程でビデオ通話システムを構築した。
【アピールポイント】
シグナリングサーバーとSTUN/TURNサーバーを企業のものを借りずに自分で立ち上げた点である。さくらVPS上でサーバーを立てている。NATやポートを超えてブラウザ間通信を可能にするSTUN/TURNサーバーはuser名とパスワードが必要であるので、アクセス数制限をかけ、こちら側からそれらをランダムに変更できるようにしている。
実際にHTMLを記述し、VPS上のサーバーにアクセスすればだれでも実装できるシステムになっているので、こちらは東京都立大学の一年生向けのある授業で紹介された。
今回はPeer to Peer方式での実装であるので、多拠点での実装は一部屋6人までが限度でそれ以上になるとサーバ負荷が非常に大きくなり、通信が困難になってしまう。
この問題の解決に向け、現在はSFUなどのサーバー負荷の少ない他の通信形式を含めたシステムの実装を進めている。
また現状、YOLOv3においてビデオ通話による動画を直接キャプチャし物体検出するシステムの構築に取り組めていないので、こちらも今後の課題としている。
続きを読む