今回の会場は永和システムマネジメントさんの東京支社にあるコワーキングスペースでした。
本社は福井県だそうです。
NodeJSでSTUN(RFC5389)(の一部)を実装した by @leader22
私の発表で、スライドはこちら。
ぼちぼちやっていきます。
C++からWebRTC(DataChannel)を利用する by @llamerada_jp
背景と動機
- `libvein`という分散アルゴリズムライブラリをつくってる
- ゆくゆく公開したい
- 足回りにWebRTCのDataChannelを使ってる
- Native Codeを使って作ってる
- 日本語の参考文書がほとんどない
- 貴重な文献: 詳解 WebRTC ビルド · GitHub
Native APIを使うまで
- 検討する
- 参考にできるものがないのでとことん検討する
- 自分でライブラリを用意
- それを使ってプログラムを書く
- コンパイル + 配布がもっとも大変だった
- みんなでノウハウを貯めていきたい
コードを書く
- API変更に耐えうる用、影響範囲を限定しておく
- 必要な機能だけを
- マルチスレッド対応が必須
- `libuv`などに一本化すると吉
- ブラウザ用には、WASM
- エラー処理が煩雑になるので、その部分はライブラリの外に
ビルド
- Development | WebRTC
- Chromeのリリースにあわせてビルドしたい
- しかしリリースブランチがアテにならない
- 最新の安定版がほしい・・・
- OmahaProxy - Google Chrome
- こういうサイトからコミットハッシュを調べて、それで手に入れる
- 必要なオブジェクトファイルだけ集める手間がいる
- サンプルは無視したり
- BINARY HACKS本は必携
プログラム
まとめ
- まだまだ発展途上だと思う
- コンパイルなどノウハウが必要
- 「とりあえず」の状態にするのも大変
- 容量もデカいのでCIできないとか
WebRTCとNativeとそれから、それから。 by @tnoho
はじめに
- ブラウザ以外でも使えるWebRTC
- 仕様に準拠できれば、ブラウザとも送受信できる
- `libwebrtc`はマルチプラットフォーム
- ネットワークまわりからエンコード・デコードまで全部入り
- だからこそデファクトスタンダード
- C++でいろいろ作ってきた、それの紹介
作ってきたものたち
- WebRTC Client MOMO(旧)
- 時雨堂のクローズドソース
- RaspPi Zeroでも動く
- ハードウェアエンコードできる
- pyrtcconductor
- 某社社内向けのもの
- そのうち
- WebRTC Client MOMO(新)
- GitHub - shiguredo/momo: WebRTC Native Client Momo
- 今度はOSS
- @melponn 氏によるビルドツールもついてる
- Win版は需要あれば
- 時雨堂がメンテしてくれる! <- 重要
- APIのアップデートに怯えなくていい
Native Clientのカスタム
- サンプルプログラムがリポジトリに埋まってる
- 使える機能が多いしマルチプラットフォーム対応、どうカスタムするか
- `CreatePeerConnectionFactory`を使ってインポートするときに機能を上書きする
- ビルドは普通にすればいい
- 設定の様子: https://github.com/shiguredo/momo/blob/develop/src/rtc/manager.cpp
- マルチスレッド問題も、実はProxy内蔵なのでそう設定すればいいだけ
IPv4/IPv6デュアルスタックなリアルタイムP2P通信を行うオンラインゲームにおける、現在の国内/海外ネットワーク環境と、それに対する検証環境の構築手法 by 佐藤 元彦さん from コナミ
IPv4/IPv6デュアルスタックなリアルタイムP2P通信を行うオンラインゲームにおける、現在の国内/海外ネットワーク環境と、それに対する検証環境の構築手法 :: JANOG43
このセッションのおさらいだそうです!
外部配信なしなので、メモもなしです。