🧊

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

移転した21Cafeにはじめていった!

SDPをひたすら説明する by @iwashi86

SDP for WebRTC

SDPとは

  • P2Pにおける最適な通信手順・方式を定義したもの(RFC4566)
  • Offer <-> Answerの間でやりとりする
  • セッション(親)の中に、動画・音声・データのメディア(子)がある
  • 記法は`v=0` <- 空白いれちゃダメ のような`k=v`が複数行に渡り続く
    • `a=ssrc:xxxx xxxxx`みたいな定義の仕方もある
  • O/Aで違う行数に違う定義があってもダメ
  • こっから各行の解説
    • 後で資料でみてね
    • b=ASで帯域も絞れる

質疑

  • SDPいじれなくなるかもーって言ってたけど、その場合にはどうすればいいの?
    • いじれくなるかもというか、それ用のAPIが出るはずって話
    • しばらくは生SDPをいじる日々が続きそう

WebRTCで快適な画面共有を実現する by @yusuke84

資料見つけ次第追記

関連API

  • `stream.getTracks()`
  • `stream.getVideoTracks()`
  • `stream.getAudioTracks()`
  • `stream.addTrack()`
  • `stream.removeTrack()`
  • `new webkitMediaStream(受け取ったTrack)`
  • 受け取ったTrackは見分けが付かないので、`stream.label`とかで区別
  • SkyWayのPeer.jsならちょっとだけ楽に書けるよ!

ただしこれWebkitに限るやんねー・・。

PeerConnectionリレーとMediaRecorder * @massie_g

PeerConnectionリレーとMediaRecorder

手動シグナリングが好きってどういうことなの( ゚д゚)

  • 多段中継したい
    • フルメッシュだと死ぬから
  • ただ2段目からは動画は出るのに音声が出なかった
    • 最近なおった
  • ただし遅延する(動画も音声も)
    • のでディレイのエフェクトとして使える!!

MediaRecorderの話

  • Chrome49からRemoteも録画できるように
  • そのまま取るとビットレートがデカい
  • そのうち調整できるようになる

SFUの話 by @tnoho

SFUの話

  • WebRTCは2Mbps/人を標準で使う
  • そこでMCU
    • 1コネクションでやる
    • サーバーでデコードする
    • なのでサーバーで録画とかできる
    • ただ1コネクションなので人ごとに分割できない
  • SFUってのもあるよ
    • P2Pじゃなくてサーバーが配信を肩代わりする
    • 一番状況の悪い人にあわせるしかない(品質がSFU次第)
  • P2PSkype / SFUはHangout
    • どれも一長一短ではある
  • SFUで品質低下を避けるには・・
    • SimulCastに対応する
    • SVC: 特許なのでお金かかる
    • MultiStream: 実装がむずかしい
  • SFUでMultiStreamに対応してるのは某社しかないらしい
  • あとはハードウェアエンコーダーの対応・・

H.264で相互接続 by @higed

H.264で相互接続 - WebRTC Meetup Tokyo #10

  • 共通コーデックになりつつあるH.264
  • `mediatype=video`のところ
  • 異なるデバイス同士で通信したい場合に
  • Videoが表示されるまで
    • Camera
    • Video Encoder
    • Video Packetizer
    • UDP
    • Video Depacketizer
    • Video Decoder
    • Display
  • H.264はRFC6184にて
  • どうやって統一するか
  • `profile-level-id`をSDPで定義してあわせる
  • `packetization-mode`も

FireFox x Chrome M52ならH.264で通信できる!