みなさん、こんにちは!ソラコムでソラカメの事業開発を担当しております高見(ニックネーム:yuu)です。
2023年4月27日に、分身ロボット「OriHime」をはじめとするコミュニケーションテクノロジーの研究開発・製造販売をされている株式会社オリィ研究所と株式会社ソラコムの共催でネットワークエンジニアのMeet Upイベント「Web通信/配信サービスの裏側公開」をオリィ研究所が運営する分身ロボットカフェDAWN ver.βにて開催しました。
本記事では、当日のイベント内容や会場の雰囲気についてご紹介します。
プレゼン:「ソラカメ」の映像配信技術についてご紹介
まずトップバッターは株式会社ソラコムのソフトウェアエンジニアである松下こと、ニックネーム名:kokiから「ソラカメの映像配信技術」と題して、発表しました。
松下はリモート参加でしたが、今回はオリィ研究所の分身ロボット「OriHime」を介したプレゼンテーションという新しいスタイルでした。OriHimeは音声、映像だけでなくロボット操作も遠隔から行えるため、会場の皆さんと手を振ったりして、コミュニケーションをとりながら、会場を盛り上げました。
主に下記のポイントについてご紹介しました。
- IoTプラットフォーム「SORACOM」及び Soracom Cloud Camera Services「ソラカメ」の概要
- ローカル録画とクラウド録画のメリット・デメリット
- スマホアプリとブラウザ両方での、カメラ映像のブラウザ表示サポート方法
- プロトコルになぜMPEG-DASHを採用したのか
特に「動画ストリーミング配信を実装する際に、MPEG-DASH vs HLSでプロトコル比較検討した過程」と、「最終的にMPEG-DASHを採用した理由」については、会場の皆様からの多くのご関心を集めていました。
(注釈)詳細については、該当する下記スライドをご参照ください。動画コーデックや音声コーデックの依存が少なく、国際標準化されていることから今回ソラカメではMPEG-DASHを採用しております。
最後におまけとして、H264をGstremarを利用して再エンコードすることなく、HLSへ書き出す方法をTipsを紹介しました。エンコード処理をスキップできるのはCPUリソースの削減だけではなく、動画配信において常に問題となる遅延についても大幅に削減することができるので、ぜひ参考にしてください。
オリィ研究所CTO 椎葉様からプレゼン
続いて、オリィ研究所CTOの椎葉様(ニックネーム:yoshi)からプレゼンテーションして頂きました。
オリィ研究所は色々な理由で外出が困難な方が社会に参加する手助けをするサービスをいくつも展開しており、「誰かの役に立つことを諦める必要はない」をスローガンとし、分身ロボット「OriHime」や意思伝達装置「OriHime eye + Switch」などを展開しました。
また、ITサービスにとどまることなく、分身ロボットを介して働く方を紹介する人材派遣サービス「FLEMEE」や、実際に分身ロボットによる接客が提供される「分身ロボットカフェDAWN ver.β」なども幅広く展開しています。
そして、オリィ研究所で採用しているソフトウェアスタックについてもご紹介がありました。
ロボットを扱ったサービスを提供されていますが、かなり多くのWeb系の技術を採用されているとのことでした。
そして、今回のイベントのテーマであるP2PでのWeb通信技術についてです。
WebRTCの概要に加えて、メリット、デメリットについてもご紹介頂きました。また、IE(Internet Explorer)が終了しEdgeに移行したことで、ほぼ全てのブラウザでWebRTCが使える状況になったこともWebRTC採用の追い風になったそうです。
中でも、「OriHime」を開発するにあたって最も苦労されたのは「遅延をいかに低くするか」です。遅延の低さ=OriHimeユーザー体験の高さに直結するため、どうやって遅延を低くするかを大切にしており、その具体例をいくつかご紹介頂きました。
遅延の要因は、メディアエンコード時間、ネットワーク通過時間の2つが主要因を占め、ここに焦点を当てて対応されています。その対策には「裏技」はなく、メディアエンコードであればCPU性能の拡張、ネットワークについてはローカル5Gなどの先進的な技術の活用といった対策をされているそうです。
オリィ研究所では、WebRTCに一緒に取り組んでくれる仲間(エンジニア)を募集されています。もしご興味を保たれた方は、問い合わせてみてはいかがでしょうか?
パネルディスカッション
両社からのプレゼンテーションの次に、パネルディスカッションを開催し、オリィ研究所からはCTOであるyoshi、弊社ソラコムからはkoki と河野(akira)がパネリストとして参加しました。
左から順にモデレータを勤めたソラコム五十嵐(ash)分身ロボットOriHimeに憑依したソラコムkoki、オリィ研究所CTO yoshi、ソラコムakiraです。
主に、いまWeb通信や配信技術を使ったサービスを開発しているエンジニアである登壇者の皆さんが、過去どんなバックグラウンドがあって、どのように現在の技術を身につけたのか、今後の技術の方向性などについてお話を頂きました。
ここで判明したのは「みんなバックグラウンドはバラバラ」、「まずは新しい技術に挑戦したいという意欲が大事」、「最初はみんな初めての技術はわからないけど、ネットで調べて通信疎通確認といった小さなところから手を動かして勉強しながら開発してきた」という3点でした。
質疑応答においてはashからWebRTCに入門しようとすると必要となる知識(WebRTC, ICE/STUN/TURN, Media/RTP, Security/TLS/DTLS, Javascript, Browserなどなど)が膨大になりスタートラインに立てないのではという問いに対して、yoshiとakiraの回答は自分自身でWebRTCを動かしてみて必要に応じて文書を読むとすっと腹落ちするいう共通したものでした。
また今後、製品をどのように変えていきたいかという質問に関しては、yoshiがVisual SLAMやAIによってライントレースがなくても自律的に動作させたいとのことでした。akiraはWebTransport/Codecsなどの特定の技術は追いつつも、カメラを見るだけではなくAIと組み合わせることによって何でも検知できる万能なセンサーにしていことによってソラコムのビジョン・ミッションである「ソラコム 世界中のヒトとモノをつなげ共鳴する社会へ」を実現したいという熱いメッセージで最後を締めくくりました。
Web通信/配信技術には今はあまり関与してないけど、携わってみたいと思っている方々に向けて、背中を押してくれるようなディスカッションでした。
LTセッション x 4
最後に下記の順番でエンジニア4名によるライトニングトークを開催しました。
「バイナリファイル解析 CLI ツール fq のご紹介」 株式会社ソラコム 小熊(ogu)
fq というツールを使うと、Web 通信 / 配信エンジニアが日々扱うような映像・音声のバイナリフォーマットやパケットキャプチャの内容をコマンドラインで、しかも jq と同じ構文で解析できるようになるので CI などに便利、という内容でした。(当日の資料はこちら)
「分身ロボットOriHimeのJSによる制御」 / 株式会社オリィ研究所 神林様
OriHimeのアクチュエータはUSBを経由したHIDデバイス(Human Interface Device)として設計されており、それらをJSで動かす方法に付いてコードを交えて説明しました。
「ブラウザ上でタイムラプス動画をつくる」 / 株式会社ソラコム akira
ブラウザでタイムラプス動画を作る際に考えられる3つの方法を実装を踏まえてpros/consを説明しました。
- WebCodecs API + α <canvas>
- MediaStream Recording API
- ffmpeg.wasm
「iOS で WebRTCできる」 / 株式会社オリィ研究所 佐々木様
タイトルそのままですが、2021 WWDCで発表されたiOS 14.3以降でWebRTCできることを一部ライブコードをするという緊張感の中で、発表時間内にブラウザ間でメッセージ交換するデモまでを実施しました。
最後に
最後までお読み頂きありがとうございました!オリィ研究所とソラコム共催イベント「Web通信/配信サービスの裏側公開」はいかがでしたか?
オリィ研究所が運営する分身ロボットカフェDAWN ver.βの素敵な雰囲気、軽食やドリンクを食べ飲みしながらリラックスした雰囲気で開催することで、参加者の皆さんからご質問もたくさんいただきました。
また、各セッションの合間には「OriHime」、「ソラカメ」のデモを交えながら、今回のテーマであるWeb通信/配信サービスの裏側だけでなく、その技術が実際にどう活用されているのかも体験頂くことができました。参加者の皆様からフィードバックも頂き、ソラコムにとっても大変有意義な機会となりました。
現在、ソラコムではSoracom Cloud Camera Services「ソラカメ」の開発に加わる仲間(エンジニア)を募集しています。
今回のセッションに参加された方、本記事をみて興味を持っていただいた方、ぜひお気軽にソラコム採用ページよりお問合せください。弊社エンジニアや人事担当者がカジュアルにお話をお伺いさせていただきます。
― ソラコム高見 (yuu)