#7が開催されました。Tokyoとは,WebRTCに興味がある人向けの特化した勉強会です。プログラミングから新しいサービスアイディアまでなんでもありの勉強会です。これまでの開催模様はこちらから確認できます。#7の模様を紹介いたします。[セッション]WebRTCスタックことはじめ/時雨堂@voluntas氏まず@voluntas氏によるセッションからはじまりました。発表資料はこちらです。WebRTCはJavaScriptに関する話題が多いですが,今回のセッションではJavaScriptではなく,その内部で動いてるプロトコルの紹介になります。WebRTCで内部で動作しているプロトコルは以下のとおり,多岐に渡ります。SDPSTUNTURNICEDTLSSRTPRTPRTCPSCTPWebRTCではこれらのプロトコルスタックを利用して,メディアチャネル・データチャネルの通信を実現します。あるWebRTCのサンプルではP2Pの簡単なTV会議を実現していますが,ビジネスとして提供する場合にはもう一歩先に進む必要があります。本セッションでは,その必要性について説明します。P2P確立に必要な技術まず,P2P確立(NAT越え)に必要な技術として,SDP,STUN,TURN,ICEがあります。これらはメディアチャネル・データチャネル共通で利用されています。メディアチャネルでは,RTPを暗号化したSRTPを利用してメディアを転送しています。データチャネルでは,SCTPを利用してデータを転送しています。SCTPを簡単に説明すると,HTTP/2っぽいプロトコルのことです。メディアチャネル・データチャネルの暗号化メディアチャネルとデータチャネルのどちらも暗号化を提供します。WebRTCでは暗号化にDTLSを利用しており,そのバージョンは1.0です。DTLSとは,UDPの上で動くTLSのようなイメージです。メディアチャネルでは,DTLSのトンネルを作り,そのトンネル内で交換した鍵を利用してSRTPで通信します。DTLSの暗号化をそのまま利用するのではく,SRTP用の鍵交換をして通信しています。WebRTCはGoogle独自の技術ではないWebRTCはGoogleが独自に推進している技術・プロトコルのように思われることがありますが,実際には古くから標準化されている技術(RFC)の組み合わせで動作しています。この「古くから使われてきた技術」を,WebRTCに持ってきたことが重要です。古くからあるSIP等のシステムに接続可能になるからです。サーバサイドWebRTCスタックはなぜ必要なのか?答えはサーバ上で録画をしたいためです。海外で先行しているWebRTCのシステムは録画可能であり,デファクトの機能でもあります。WebRTCはこれまで説明してきたプロトコルを利用して通信しますが,原則P2Pの通信であり,その内容は暗号化されています。そのため,サーバ上では暗号を解かない限り録画できません。そこで,サーバ上で暗号を紐解く必要があります。その場合,ブラウザA~B間でサーバ経由の通信をする場合は,ブラウザA~サーバ,サーバ~ブラウザBのように背中合わせの形で通信を行います。この形式をB2B(Back-to-Back)と呼びます。ビジネスでWebRTCを提供する場合はサーバ経由での通信が重要です。サーバ経由で通信が出来るようになると,今までのビデオ配信システムは不要になります。WebRTCをサーバサイドで吸収して配信する方法です。実際のプロダクト例としてはJanus,Licode,Mantis等があります。サーバサイドアプローチであるMCUとSFUとはWebRTCでP2Pのフルメッシュ形式で会議を提供すると,その音声・映像は全員に配信されます。Unit)を利用すると,MCUで音声・映像が1本のストリームに合成されて送信されます。この場合,全ての通信がサーバ経由となっているため,録画機能を提供できます。Unit)はMCUと異なり,合成しないでストリームを効率良く運ぼうとする仕組みです。Helloのバックエンド)はSFUを実現しています。SFUでは10人参加する会議ならば,10本のストリームを配ります。仮に同形式の会議を10個並列に提供する場合は,100本のストリームが必要になります。このような場合,SFUがストリームを100本処理する必要があるため,実装難易度は高くなります。データチャネルを利用したビジネスチャンスP2P形式でWebRTCを利用する場合はメディアチャネル単独だとビジネスにつなげるのは難しいですが,データチャネルにはビジネスチャンスがあります。まとめWebRTCは通信が暗号化されており,解読するためには自前のWebRTCスタックが必要です。WebRTCスタックを実装するとMCUとSFUの選択肢が広がり,ビジネスチャンスが増えてくると考えています。V-Sido著者プロフィール岩瀬義昌(いわせよしまさ)NTTコミュニケーションズ所属のソフトウェアエンジニア。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。