Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MIXIにおけるWebRTC技術の活用/Use of WebRTC Technology in...

MIXIにおけるWebRTC技術の活用/Use of WebRTC Technology in MIXI

本資料は、1/16(木)に配信された「CTO Office Hour on #MIXITECHTALK #10 WebRTC技術の活用」にて、CTO 吉野が紹介したMIXIにおけるWebRTC技術の活用事例を紹介した際の資料です。

MIXI ENGINEERS

January 16, 2025
Tweet

Video

More Decks by MIXI ENGINEERS

Other Decks in Technology

Transcript

  1. 2 ©MIXI • 遠隔地の映像の確認 • AIと⼈との作業協調 • スマホからの映像送受信 • 映像機器との映像送受信

    ◦ HDMI/SDIなどのデバイスへの描画や取り込み • SMPTE ST2110とWebRTCの接続 私たちのWebRTCの活⽤の⼀例
  2. 3 ©MIXI 掛け合わせによる実装の種類 ブラウザ アプリ スマホ PC SDI等のボードが ついた機器 ✖

    • ブラウザはlibwebrtcで実装されている • アプリはライブラリに選択肢がある • スマホ、PCを活用することも多々あるが映像機器のインターフェ イス(SDI等)を使うことが多々ある
  3. 5 ©MIXI • libwebrtcが多様な機能を持っていてすごいが悩みもある ◦ 他のライブラリと共存するのに一手間かかる場合もある ◦ とにかく巨大 ◦ インターフェイスの名前が直感的になるのが大変

    • libdatachannelは⼩さくて便利だが不⾜もある ◦ libwebrtcに対して機能が少ない。 ▪ ペイロードヘッダーを自分で処理する必要がある ▪ メディアのencode/decodeを自前で処理する必要がある ◦ 外部依存が少ない ライブラリのビルドやリンク IP UDP RTP Payloadヘッダ Payload
  4. 7 ©MIXI • 映像デバイスはFPSに従ってデータを⼊⼒してくる • データが⽤意できたところでSoftware割り込み ◦ 無駄に割り込みをかける実装がある場合がある ◦ 理想的にはデータを処理するコアで割り込みをして欲しい

    • ドライバの実装の課題に対してどう向かい合うか ◦ デバイスを複数に見せて、仮想化技術等で割り込みコアを絞るなどの回 避策はあった ◦ マシンのサイジング選択肢に避けたいルールを発生させうる ▪ 例:大きなマシンで集約したくてもできない等 デバイスやドライバ:input側の悩み
  5. 8 ©MIXI • オペレータの確認⽤でお客さんが⾒るものではないなら下げられる • AIが⾒る場合も必要範囲に下げることは可能 GUIのソフトウエアに対して映像を多数出す場合の考慮 decode I420 Scale

    I420 to ARGB ARGB to ABGR map(int,vector) ドライバから描き場所を指 定された要求がくる アプリUI 描画3FPS 今回入ってくる映像の 解像度は多様なため ここで揃える 書 ARGB scale down 参照 参照 30FPS頑張るゾーン 運用に耐えればいいスレッド UIが書きやすい言語で書く