console.lealog();

@leader22のWeb系に関する勉強めもブログですのだ

WebRTC Meetup Tokyo #15 に行ってきたメモ #webrtcjp

なんかいつになくすげー混んでた回。Safari効果?

WebRTC Meetup Tokyo #15 : ATND

Weblio英会話と動作チェックツール「WebRTCくん」 by @taminif

Weblio英会話と 動作チェックツール「WebRTCくん」 // Speaker Deck

  • 関西にはWebRTC Meetupがないのできました
  • Skype英会話からWebRTC英会話に移行しました
    • SkyWayつかってる

外部デバイス問題

  • 運用してて一番つらい
  • 別のアプリにマイク取られる
    • WindowsSkypeとか起動してると`gUM()`で候補に出ない
  • 感度が悪い
  • 正体不明のデバイス

WebRTCくん

  • 公式にも接続テストのツールはある
  • それで拾えない情報とか、検証とかをする君
  • ただし正体不明のデバイスには勝てない
    • これの正体は画面キャプチャのツールらしきやつ
    • カメラなしで成立するサービスなので、音声だけでやるようにした

運用

  • ドメイン特化のチェックツールはあるとよい
  • カメラなしでも成立するならその準備もあるとよい

WebRTC における通信不具合の検証 by @kimihom

資料は見つけたら

heroku / Twilioのコアメンバーさんだそうな。

通話できない

  • サービス側の問題
  • ネットワークの問題
    • ポートあいてないネットワーク
    • チェックツールの提供で回避

どうするか

  • 一部のポートだけ閉じてる
    • 別のネットワークでどうか試してもらう
  • ヘッドセットの問題
    • それ用のチェックツールも提供

工夫してる

  • 無料トライアル期間を用意する
  • ヘッドセットをプレゼントしちゃう
    • 効果てきめん!

最大の敵

  • 通話品質が安定しないこと
  • ヘッドセット・端末・ネットワークの3つのバランスが必要
  • ネットワークが遅いとどうしようもない

Twilioだと

質疑

  • Twilioのいいところ
    • 日本だとTwilioの知名度は低い
    • が、品質はすごいと思う
  • SkyWayのいいところ
    • 無料
    • 良くも悪くもPeerJS
    • 動画のフレームレートが変えられない

Front end engineerの観点からのWebRTC開発 by 森山雄太

資料は見つけたら

  • Mixidea
  • WebRTCはブラウザのAPIなので、他のAPIと組合せられる
    • 文字起こしとか

文字起こし

  • クライアントで`SpeechRecognition`でやってた
    • 1センテンスごとに取れる
    • ただ不安定
    • デバッグしづらい
    • なので移行した
  • サーバー: Google Cloud Speech API
    • WebAudioの`ScriptProcessorNode`で`ArrayBuffer`にして、Socket.IOでサーバーに
    • それをサーバーサイドで`stream.pipe()`
    • クライアントに依存せず快適
    • ただしお金がかかる
    • センテンスごとには取れない

Cloud Speech API

  • Recognitionの種類がある
    • Sync / Async / Stream

WebRTCの同人誌を書いた話 by @mzsm_j

WebRTCの同人誌を書いてみた

入門書かいたよ

  • 日本語の入門書がほぼないから
  • 入門記事も古いAPIで書かれてたり
  • わかった「気になる」本
    • 76ページ
  • 150部はけたのでWebRTCって人気あるのでは・・!

技術同人誌書こう!

  • 印刷される = 残る = 正しい知識が身につく
  • 商用じゃないので売れ線とか気にしなくていいし
  • 技術書典
    • 第2回は3000人↑
    • 次回は未定

わかった気になる本の今後

WebRTCでロボット遠隔操作ソリューション作った話 by いまいだいすけ

資料非公開なのでメモなし。
って聞いてたけど、土壇場で資料公開OKになったので見つけたら追記

ロボットすげーというか、WebRTCみたいな技術とすごい相性いいなーと思った。

WebRTCを活用した放送連動サーバサイドレンダリング by 大西 正芳

資料非公開なのでメモなし。

HybridcastでWebRTC・・・!

SafariのWebRTC対応について調査した by @massie_g

Safari Technology Preview 32 でのWebRTCサポート状況 - Qiita

  • iOSにWebRTCがくるぞー
    • WWDCのキーノートではほとんど触れられてなかったけど、リリースノートにはちゃんといる
  • iOS 11は2017秋

Safariどんな感じか

  • `gUM()`が`https`必須
  • `createObjectURL(stream)`できない
  • `onaddstream`は発火しない、`ontrack`
  • 動画コーデックはH.264のみ
  • SDPはPlanB
  • TURN-UDPは動く、それ以外はすぐ切れる
  • DataChannelも動くがBuggyらしい

mediasoup アップデート。 OSSSFU の最新情報 by @massie_g

WebRTC SFU Mediasoup Sample update

mediasoup概説

  • Room > Peer > RtpSender | RtpReceiver > Trasport
  • 1Worker:1Roomで動く
    • Workerはコア数
  • 1Room5Peerの場合、CPU使用率は6.6%くらい
  • RTCPeerConnectionも使えるぽい

v1.2から

  • `PeerCapability`なる情報を最初にサーバーに送る
    • どんな環境かの情報
    • `RTCRtp{Sender,Receiver}.getCapabilities()`で取れる予定
    • SDPに書いてあるのでそれを使ってもOK
  • 視聴者へのOfferはmediasoupから出す

濃ゆいので、資料を見るのが吉ですね。