第11章 斜面の安定¬¬11 章 斜面の安定 1 第11章 斜面の安定 1.序論 スライス法を中心に説明する。 スライス法は、c, φ, γ, u、荷重が斜面内で場所により異なっていても解析できる。
ORTCの仕様書をざっくり斜め読みする
-
Upload
yusuke-naka -
Category
Technology
-
view
1.816 -
download
3
description
Transcript of ORTCの仕様書をざっくり斜め読みする
ORTC の仕様書をざっくり斜め読みする
WebRTC Meetup Tokyo #4Yusuke Naka
自己紹介• なかゆうすけ( Twitter : @Tukimikage ) 所属
– NTT コミュニケーションズ 技術開発部 オフィシャルワーク
– HTML5 Experts.jp ( HTML5 Experts Works ) 副編集長
– WebRTC 開発者向けフレームワーク「 SkyWay 」の開発 コミュニティワーク
– html5j 自動車部部長– html5j エンタープライズ部スタッフ
最近の悩みpeer.js とか使っていると、生の WebRTC コード書けなくなりますよね・・・。
今日話すこと• ORTC とは?• ORTC の仕様書をざっくり読んでみた– 実装できるほど読み込んではいません・・・。
• 間違いがあれば突っ込んで下さい
ObjectRTC• 今年の2月に IETF で初めて公開• 2014/01/29 editor’s draft 初版公開• 2014/08/20 editor’s draft 20 公開• リファレンスコード– https://github.com/openpeer/ortc
• W3C ORTC Community Group– http://www.w3.org/community/ortc/participants• MS さんや Google さん、 Tokbox などのサービスプロ
バイダーも加わっている。• WebRTC とうまく親和性をもたせようとしている
– WebRTC 1.1 で統合か
• Microsoft さんが注目– http://status.modern.ie/webrtcwebrtcv10api?ter
m=Object%20RTC
ORTC をなぜ作ったのか?• ORTC 陣営が考える「 WebRTC に足りてないもの」
– モバイルアプリとのプロトコルの互換性– キャリアスケールのオペレーションに必要な監視、診断機能– Cloud 環境への対応
• サーバ側の WebRTC 実装(クライアントとしての)• STUN/TURN の認証情報管理• オーディオ、ビデオのミキシング• SIP プロキシ• XMPP 接続
– 拡張性• H.264/SVC などのモバイルにやさしいコーデックの追加
– これらに対応した次世代の JavaScriptAPI
RTC で利用するプロトコルの詳細
WebRTC を支えるマイナーなプロトコル SRTP/DTLS/SCTP を分かった気になるhttp://www.slideshare.net/iwashi86/20140801-web-rtcmeetup3r3
@iwashi86
仕様書を読む
Object RTC (ORTC) API for WebRTCDraft Community Group Report 20 August 2014
http://ortc.org/wp-content/uploads/2014/08/ortc.html
著者:Bernard Aboba, Microsoft CorporationJustin Uberti, Google
Abstract
• ORTC は WebRTC 1.0 とはことなり、シグナリングプロトコルやフォーマットを強制しない
• Offer/Answer というステータスを管理しない• 「 sender 」、「 receiver 」、「 transport 」
という3つのオブジェクトにそれぞれの機能が定義されている
• 「 Track 」と「 Data Channels 」は「 sender 」と「 receiver 」の間で「 transport 」を介して送信される
ORTC 概要ORTC の仕様で定義されているオブジェクト郡
垂直方向の矢印:メソッドとイベントのやりとり水平方向の矢印:メディアやデータのやり取り
概要ORTC の仕様で定義されているオブジェクト郡
垂直方向の矢印:メソッドとイベントのやりとり水平方向の矢印:メディアやデータのやり取り
RTCDtlsTransport
• DTLS によるデータ転送を司るオブジェクト• DTLS とは?– TLS で暗号化したデータを送受信するプロトコ
ル
概要ORTC の仕様で定義されているオブジェクト郡
垂直方向の矢印:メソッドとイベントのやりとり水平方向の矢印:メディアやデータのやり取り
RTCIceTransport
• ICE で相互コネクションを確立するオブジェクト– ICE の仕組みを利用して接続先候補を収集し、一
番効率がよいルートで接続を行う– STUN 、 TRUN などの仕組みも活用
RTCIceTransport
• ICE の状態遷移状態 意味new 初期状態checking 接続候補を1
件以上受信し相手を確認中
connected 接続できる相手を見つけたが、他の候補をまだ探している
Completed 接続候補の収集が終了
disconnected 切断されたclosed シャットダウ
ンSTUN の応答にも返答しません
概要ORTC の仕様で定義されているオブジェクト郡
垂直方向の矢印:メソッドとイベントのやりとり水平方向の矢印:メディアやデータのやり取り
RTCIceTransportController
• ICE凍結と帯域幅推定の共有を行うオブジェクト?
• 実際の動きがよく理解できませんでした・・・。
概要ORTC の仕様で定義されているオブジェクト郡
垂直方向の矢印:メソッドとイベントのやりとり水平方向の矢印:メディアやデータのやり取り
RTCIceListner
• ローカルの ICE 候補を取得するためのイベントリスナー
オプション 意味all 全ての候補を収集nohost ホスト候補を除く全て
の候補を収集relay TURN サーバを経由す
る候補を取得する
RTCIceGatherOptions
概要ORTC の仕様で定義されているオブジェクト郡
垂直方向の矢印:メソッドとイベントのやりとり水平方向の矢印:メディアやデータのやり取り
RTCRtpSender
• Sender に関するオブジェクト• MediaStreamTrack の送信、停止等を担う
概要ORTC の仕様で定義されているオブジェクト郡
垂直方向の矢印:メソッドとイベントのやりとり水平方向の矢印:メディアやデータのやり取り
RTCRtpReceiver
• Receiver に関するオブジェクト• MediaStreamTrack の受信、停止等を担う
概要ORTC の仕様で定義されているオブジェクト郡
垂直方向の矢印:メソッドとイベントのやりとり水平方向の矢印:メディアやデータのやり取り
RTCRtpListener
• DTLS のコネクションから RTPパケットを受信するためのリスナー
RTP Dictionaries
• 便利なユーティリティたち– RTCRtpCapabilities
• MediaTrack の CODEC を指定することが出来る– RTCRtpCodecCapabilities
• CODEC の更に細かなオプションを指定可能• 例えば
– Opus» maxplaybackrate / MAX出力サンプリングレート» stereo / true or false
– VP8» max-fr / MAX フレームレート» max-fs / MAX フレームサイズ
– H.264» max-recv-level / 最大受信レベル?» packetization-mode / パケット化モードのサポート
//Send a thumbnail along with regular sizevar encodings = [{ ssrc: 1, priority: 1.0 }]
// Control the resolution and framerate with a different track and RtpSender. var encodings = [{ ssrc: 2, // Prioritize the thumbnail over the main video. priority: 10.0 }];
// Sign Language (need high framerate, but don't get too bad quality)var encodings = [{ minQuality: 0.2, framerateBias: 1.0 }];
// Screencast (High quality, framerate can be low)var encodings = [{ framerateBias: 0.0 }];
//Remote Desktop (High framerate, must not downscale) var encodings = [{ framerateBias: 1.0 }];
// Audio more important than videovar audioEncodings = [{ priority: 10.0 }]; var videoEncodings = [{ priority: 0.1 }];
//Video more important than audiovar audioEncodings = [{ priority: 0.1 }]; var videoEncodings = [{ priority: 10.0 }];
//Crank up the qualityvar encodings = [{ maxBitrate: 10000000 }];
//Keep the bandwidth lowvar encodings = [{ maxBitrate: 100000 }];
SDP の S の字も無いですね・・・
RTCDtmfSender
• DTMF トーンを送る API• コールセンターの受付などに活用• WebRTC 1.0 の DtmfSender API に準拠• WebRTC も今は Chrome しか動かないはず
DTMF Tone 送信サンプル: https://think-sv.net/dtmf/
RTCDataChannel
• データチャネル用オブジェクト
RTCSctpTransport
• SCTP を利用したデータ転送を可能にする
Statistics API
• 統計情報収集用の API• WebRTC 1.0 の Statistics API に準拠
Identity
• ID 管理の API• WebRTC 1.0 の Identity API に準拠• Web ベースの ID 管理プロバイダーを利用
して、 DTLS の認証が可能。
WebRTC との互換性• すみません、英語読みきれてません・・・
ObjectRTC
• ObejectRTC の価値とは?– 簡単なブラウザコード
– モバイル開発用の SDK 「 ortclib 」を提供• https://github.com/openpeer/ortclib
– Node.js 用のサーバコードを提供• https://github.com/openpeer/ortc-node
– WebRTC 1.0 API との互換性を確保• webrtc-shim• https://github.com/openpeer/webrtc-shim• Chrome 、 Firefox 、 IE全てで動く WebRTC アプリが作れる
Ortc の今後の展開• WebRTC 1.1 で統合する方向らしい• 注目ですよ!
参考文献• http://www.infoq.com/jp/news/2014/08/ortc-
webrtc
• http://ortc.org/wp-content/uploads/2014/08/ortc.html